Введение
Каждый раз, когда вы используете Второй пилот CLI, данные сессии записываются на ваш локальный компьютер. Это включает ваши запросы, Copilotответы на них, используемые инструменты и детали измененных файлов. По умолчанию данные сессии также синхронизируются с вашим GitHub аккаунтом. Это позволяет запросить все ваши прошлые сессии, включая сессии из Второй пилот CLI, Copilot облачный агент, Обзор кода CopilotVS Code, JetBrains и GitHub приложение Copilot.
Данные этих сессий поддерживают несколько функций, доступных на Второй пилот CLI, VS Code, JetBrains, GitHub приложение Copilotи GitHub.com:
- Запрос по истории сессий: задавайте вопросы на естественном языке о своей прошлой работе и Copilot найдите ответы по данным сессии.
- Возобновление сессий: Продолжайте с того места, где остановились в предыдущей сессии.
- Slash
/chronicleкоманда: набор специально созданных подкоманд, которые генерируют стендап-отчёты, персонализированные советы, анализ затрат и рекомендации по улучшению ваших индивидуальных инструкций, всё это основывается на истории сессий.
С пользовательскими запросами вы можете делать запросы только к своим сессиям — никто другой не может получить доступ к вашим данным сессии.
В этой концептуальной статье объясняется, как сохраняются и синхронизируются данные сессий, а также как вы можете использовать их для улучшения рабочего процесса. Практическое руководство по возобновлению сессии, вопросу Copilot о ваших сессиях CLI и использовании /chronicle команды «слэш» смотрите Использование интерфейс командной строки GitHub Copilot сессионных данных. Для сессий запросов из VS Codeсм. Сессии управляющих агентов.
Как хранятся данные сессии
Каждая Второй пилот CLI сессия сохраняется как набор файлов в ~/.copilot/session-state/ каталоге на вашем компьютере. Данные по каждой сессии содержат полную запись сессии. Эти файлы позволяют возобновить интерактивную сессию CLI.
Помимо файлов сессии, Второй пилот CLI структурированные данные сессии хранятся в локальной базе данных SQLite, называемой хранилищем сессий. Эти данные являются подмножеством полных данных, хранящихся в файлах сессии. Магазин сессии — это то, что питает /chronicle команду слэш, а также позволяет Copilot отвечать на ваши вопросы о вашей прошлой работе.
Синхронизация сессий
По умолчанию Второй пилот CLI данные сессии синхронизируются с вашим GitHub аккаунтом. Это позволяет запросить прошлые сессии из Второй пилот CLI, VS Code, JetBrains, GitHub приложение Copilot, или GitHub.com, и включать сессии из Copilot облачный агент, Обзор кода Copilot, VS Code, и GitHub приложение Copilot.
Вы можете отказаться от синхронизации сессий, установив "remoteExport": false в настройках CLI JSON. Если вы отказались, данные сессии останутся на вашем компьютере, и вы можете запросить их только из Второй пилот CLI.
Для Копилот Энтерпрайз и Copilot Business пользователей администратор организации должен установить политику «Хранить локальные сессии в облаке» как минимум «Просмотр из облака». Если политика отключена или не настроена, сессии хранятся только локально.
Конфиденциальность и локальность данных
Данные локальной сессии хранятся и ~/.copilot/session-state/ доступны только вашей учетной записи на этом устройстве.
Синхронизированные данные сессии хранятся и GitHub привязаны к вашему личному аккаунту. По умолчанию он доступен только вам. Администраторы организации и предприятия контролируют возможность синхронизации через политику «Хранить локальные сессии в облаке», но включение этой политики не даёт администраторам доступа к данным вашей сессии.
Вы можете выбрать обмен отдельными сессиями, предоставляя доступ только к просмотру для тех, кто имеет доступ к репозиторию. Общие сессии не индексируются для запросов сессий других пользователей. Дополнительные сведения см. в разделе Сессии управляющих агентов.
Copilot Читает данные сессии, когда вы задаёте вопросы о прошлых взаимодействиях или используете команду /chronicle Slash. Данные сессии, такие как ваши предыдущие запросы, контекст и ответы, могут быть отправлены в модель ИИ, как и в любом обычном Второй пилот CLI взаимодействии.
Управление данными сессии
Вы можете управлять данными сессии как локально, так и на GitHub.com.
- Локальные данные: Чтобы локально удалить данные для конкретной сессии CLI, удалите соответствующую директорию сессии из
~/.copilot/session-state/. Чтобы очистить все данные локальной сессии, удалите всё под~/.copilot/session-state/. После этого нужно вручную переиндексировать хранилище сессий. См. раздел «Переиндексирование хранилища сессий » позже в этой статье. Удаление локальных файлов не влияет на данные сессии, синхронизированные с вашим аккаунтом. Вы не можете локально удалить синхронизированные данные. - Синхронизированные данные: вы можете удалить или скрыть синхронизированные сессии CLI из GitHub.com. Скрытие сессии удаляет её из индекса сессии, и она больше не отображается в результатах запроса. Удаление сессии удаляет её из вашего списка сессий на GitHub.com. Удаление применяется к CLI, VS Codeи GitHub приложение Copilot сессиям.
Команда /chronicle слэш
Команда /chronicle slash предоставляет специально разработанные подкоманды для генерации инсайтов из истории сессий, включая отчёты по стендапу, персонализированные советы, анализ затрат и рекомендации по улучшению индивидуальных инструкций. Полный список подкоманд и примеров использования см. Использование интерфейс командной строки GitHub Copilot сессионных данных.
Когда использовать данные сессии
- В начале дня: Бегите
/chronicle standup last 3 days, чтобы собрать сводку недавних работ, а не восстанавливать её вручную. - Периодически для повышения уровня: запускайте
/chronicle tipsкаждые недели или две, чтобы обнаруживать функции и улучшения рабочих процессов, которые вам могут не хватать. - Если Copilot повторяется одна и та же ошибка: забегайте
/chronicle improveопределить паттерн и создать индивидуальные инструкции, которые сделают агент более эффективным для вашего проекта. - Чтобы понять использование токенов: Побегите
/chronicle cost tips, чтобы узнать, куда идут токены, и получите советы по снижению затрат. - Для поиска конкретной темы: Бегите
/chronicle search KEYWORDи найдите сессии, содержащие конкретный термин или тему. В отличие от свободных вопросов, здесь контент сессии ищет напрямую по ключевым словам, а не интерпретирует ваш запрос семантически. - Чтобы вспомнить прошлую работу: задайте свободный вопрос вроде «Работал ли я с чем-то, связанным с платежным API?» и Copilot будет искать вашу историю.
- Чтобы продолжить предыдущую работу: используйте
copilot --continueилиcopilot --resumeпродолжайте с того места, где остановились.
Реиндексация хранилища сессии
Хранилище сессий пополняется поэтапно во время сессии CLI. Данные для сессии записываются на диск в сессионно-специфическом подкаталоге .~/.copilot/session-state/ Это также происходит периодически во время сессии, а также после её окончания.
Можно переиндексировать хранилище сессий из файлов сессии на диске. Реиндексация также синхронизирует данные сессии с аккаунтом.
Ситуации, когда может понадобиться переиндексирование, включают:
- Индексация старых сессий: Если на диске есть старые файлы сессий, созданные до появления хранилища сессий, повторное индексирование заполнит хранилище сессий данными из этих сессий.
- Удаление сессии: если вы хотите удалить сессию из истории, вы можете удалить директорию сессий и затем переиндексировать хранилище сессий.
- Миграция/восстановление сессий: если вы перенесли файлы сессии на другой компьютер или восстановили их из резервной копии, не перемещая или не восстанавливая файл хранилища сессии (
~/.copilot/session-store.db), вы можете воссоздать хранилище сессий с помощью команды reindex. - Повреждение файла: если файл хранилища сессии (
~/.copilot/session-store.db) повреждается или случайно удаляется, можно восстановить хранилище сессии из файлов сессии. - Неожиданное завершение: Если сессия неожиданно завершается (например, из-за сбоя или отключения питания) до того, как данные, хранящиеся в памяти, были отправлены в хранилище сессии, вы можете заполнить хранилище сессии отсутствующими данными, если они были записаны на диск в файлах сессии до завершения.
Для переиндексирования хранилища сессий используйте следующую команду слэш в интерактивной CLI-сессии:
/chronicle reindex
/chronicle reindex