# О GitHub Copilot CLI данных сессии

Ваши сессии создают поисковую историю всего, над чем Copilot CLI вы работали. Задавайте запросы по прошлым сессиям на естественном языке, создавайте стендап-отчёты, получайте персонализированные советы и возобновляйте предыдущую работу.

## Введение

Каждый раз, когда вы используете Copilot CLI, данные сессии записываются на ваш локальный компьютер. Это включает ваши запросы, Copilotответы на них, используемые инструменты и детали измененных файлов. По умолчанию данные сессии также синхронизируются с вашим GitHub аккаунтом. Это позволяет запросить все ваши прошлые сессии, включая сессии из Copilot CLI, Copilot cloud agent, Copilot code reviewVS Code, JetBrains и GitHub Copilot app.

Данные этих сессий поддерживают несколько функций, доступных на Copilot CLI, VS Code, JetBrains, GitHub Copilot appи GitHub.com:

* **Запрос по истории сессий**: задавайте вопросы на естественном языке о своей прошлой работе и Copilot найдите ответы по данным сессии.
* **Возобновление сессий**: Продолжайте с того места, где остановились в предыдущей сессии.
* **Slash `/chronicle` команда**: набор специально созданных подкоманд, которые генерируют стендап-отчёты, персонализированные советы, анализ затрат и рекомендации по улучшению ваших индивидуальных инструкций, всё это основывается на истории сессий.

С пользовательскими запросами вы можете делать запросы только к своим сессиям — никто другой не может получить доступ к вашим данным сессии.

В Среды разработки JetBrains, `/chronicle` доступен в интерактивных Copilot CLI сессиях, чтобы вы могли просматривать историю сессий и генерировать инсайты без выхода из IDE.

В этой концептуальной статье объясняется, как сохраняются и синхронизируются данные сессий, а также как вы можете использовать их для улучшения рабочего процесса. Практическое руководство по возобновлению сессии, вопросу Copilot о ваших сессиях CLI и использовании `/chronicle` команды «слэш» смотрите [Использование GitHub Copilot CLI сессионных данных](/ru/copilot/how-tos/copilot-cli/use-copilot-cli/chronicle). Для сессий запросов из VS Codeсм. [Сессии управляющих агентов](/ru/copilot/how-tos/copilot-on-github/use-copilot-agents/manage-and-track-agents).

## Как хранятся данные сессии

Каждая Copilot CLI сессия сохраняется как набор файлов в `~/.copilot/session-state/` каталоге на вашем компьютере. Данные по каждой сессии содержат полную запись сессии. Эти файлы позволяют возобновить интерактивную сессию CLI.

Помимо файлов сессии, Copilot CLI структурированные данные сессии хранятся в локальной базе данных SQLite, называемой хранилищем сессий. Эти данные являются подмножеством полных данных, хранящихся в файлах сессии. Магазин сессии — это то, что питает `/chronicle` команду слэш, а также позволяет Copilot отвечать на ваши вопросы о вашей прошлой работе.

## Синхронизация сессий

По умолчанию Copilot CLI данные сессии синхронизируются с вашим GitHub аккаунтом. Это позволяет запросить прошлые сессии из Copilot CLI, VS Code, JetBrains, GitHub Copilot app, или GitHub.com, и включать сессии из Copilot cloud agent, Copilot code review, VS Code, и GitHub Copilot app.

Вы можете отказаться от синхронизации сессий, установив `"remoteExport": false` в настройках CLI JSON. Если вы отказались, данные сессии останутся на вашем компьютере, и вы можете запросить их только из Copilot CLI.

Для Copilot Enterprise и Copilot Business пользователей администратор организации должен установить политику «Хранить локальные сессии в облаке» как минимум «Просмотр из облака». Если политика отключена или не настроена, сессии хранятся только локально.

### Конфиденциальность и локальность данных

Данные локальной сессии хранятся и `~/.copilot/session-state/` доступны только вашей учетной записи на этом устройстве.

Синхронизированные данные сессии хранятся и GitHub привязаны к вашему личному аккаунту. По умолчанию он доступен только вам. Администраторы организации и предприятия контролируют возможность синхронизации через политику «Хранить локальные сессии в облаке», но включение этой политики не даёт администраторам доступа к данным вашей сессии.

Вы можете выбрать обмен отдельными сессиями, предоставляя доступ только к просмотру для тех, кто имеет доступ к репозиторию. Общие сессии не индексируются для запросов сессий других пользователей. Дополнительные сведения см. в разделе [Сессии управляющих агентов](/ru/copilot/how-tos/copilot-on-github/use-copilot-agents/manage-and-track-agents#share-a-session).

Copilot Читает данные сессии, когда вы задаёте вопросы о прошлых взаимодействиях или используете команду `/chronicle` Slash. Данные сессии, такие как ваши предыдущие запросы, контекст и ответы, могут быть отправлены в модель ИИ, как и в любом обычном Copilot CLI взаимодействии.

### Управление данными сессии

Вы можете управлять данными сессии как локально, так и на GitHub.com.

#### Удаление сессий с помощью команды `/session` слэш

Самый простой способ удалить сессии — использовать `/session` команду слэш в интерактивной CLI-сессии.

* `/session delete` удаляет текущую сессию и начинает новую вместо неё.
* `/session delete SESSION-ID` удаляет конкретную сессию. Сначала показывается превью; `--yes` добавить, чтобы подтвердить, например `/session delete SESSION-ID --yes`.
* `/session delete-all` удаляет все ваши локальные сессии, кроме текущей. Добавьте `--yes` для подтверждения: `/session delete-all --yes`. Сессии, используемые другим процессом, пропускаются.
* `/session prune --older-than DAYS` удаляет сессии старше указанного количества дней. Добавьте `--dry-run` для предварительного просмотра, что будет удалено.

Когда удаляете сессию, синхронизированную с вашим аккаунтом, `/session delete` спрашивают, хотите ли вы также удалить синхронизированную (удалённую) копию. Удаление синхронизированной копии также удаляет сессию из ваших `/chronicle` инсайтов и результатов запросов. Подкоманды `/session delete-all` и `/session prune` влияют только на локальные сессии и не удаляют синхронизированные данные. Чтобы удалить синхронизированные данные для этих сессий, вручную удалите их из GitHub.com.

Полный список `/session` подкоманд см. [Справочник команды GitHub Copilot CLI](/ru/copilot/reference/copilot-cli-reference/cli-command-reference).

#### Ручное удаление данных сессии

* **Локальные данные**: Чтобы локально удалить данные для конкретной сессии CLI, удалите соответствующую директорию сессии из `~/.copilot/session-state/`. Чтобы очистить все данные локальной сессии, удалите всё под `~/.copilot/session-state/`. После этого нужно вручную переиндексировать хранилище сессий. См. раздел [«Переиндексирование хранилища сессий](#reindexing-the-session-store) » позже в этой статье. Удаление локальных файлов не влияет на данные сессии, синхронизированные с вашим аккаунтом. Вы не можете локально удалить синхронизированные данные.
* **Синхронизированные данные**: вы можете удалить или скрыть синхронизированные сессии CLI из GitHub.com. Скрытие сессии удаляет её из индекса сессии, и она больше не отображается в результатах запроса. Удаление сессии удаляет её из вашего списка сессий на GitHub.com. Удаление применяется к CLI, VS Codeи GitHub Copilot app сессиям.

## Команда `/chronicle` слэш

Команда `/chronicle` slash предоставляет специально разработанные подкоманды для генерации инсайтов из истории сессий, включая отчёты по стендапу, персонализированные советы, анализ затрат и рекомендации по улучшению индивидуальных инструкций. Полный список подкоманд и примеров использования см. [Использование GitHub Copilot CLI сессионных данных](/ru/copilot/how-tos/copilot-cli/use-copilot-cli/chronicle#using-the-chronicle-slash-command).

Если использовать Copilot CLI в Среды разработки JetBrains, эти `/chronicle` подкоманды доступны из интерактивной CLI-сессии, которую вы открываете в IDE.

## Когда использовать данные сессии

* **В начале дня: Бегите**`/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/` Это также происходит периодически во время сессии, а также после её окончания.

Можно переиндексировать хранилище сессий из файлов сессии на диске. Реиндексация также синхронизирует данные сессии с аккаунтом.

Ситуации, когда может понадобиться переиндексирование, включают:

* **Индексация старых сессий**: Если на диске есть старые файлы сессий, созданные до появления хранилища сессий, повторное индексирование заполнит хранилище сессий данными из этих сессий.
* **Удаление сессии**: Чтобы удалить сессию из вашей истории, используйте `/session delete`команды , `/session delete-all`, или `/session prune` slash. Для синхронизированной сессии `/session delete` можно также удалить синхронизированную копию, что убирает сессию из ваших `/chronicle` инсайтов.
* **Миграция/восстановление сессий**: если вы перенесли файлы сессии на другой компьютер или восстановили их из резервной копии, не перемещая или не восстанавливая файл хранилища сессии (`~/.copilot/session-store.db`), вы можете воссоздать хранилище сессий с помощью команды reindex.
* **Повреждение файла**: если файл хранилища сессии (`~/.copilot/session-store.db`) повреждается или случайно удаляется, можно восстановить хранилище сессии из файлов сессии.
* **Неожиданное завершение**: Если сессия неожиданно завершается (например, из-за сбоя или отключения питания) до того, как данные, хранящиеся в памяти, были отправлены в хранилище сессии, вы можете заполнить хранилище сессии отсутствующими данными, если они были записаны на диск в файлах сессии до завершения.

Для переиндексирования хранилища сессий используйте следующую команду слэш в интерактивной CLI-сессии:

```copilot copy
/chronicle reindex
```

## Дополнительные материалы

* [Использование GitHub Copilot CLI сессионных данных](/ru/copilot/how-tos/copilot-cli/use-copilot-cli/chronicle)
* [Сессии управляющих агентов](/ru/copilot/how-tos/copilot-on-github/use-copilot-agents/manage-and-track-agents)
* [Справочник команды GitHub Copilot CLI](/ru/copilot/reference/copilot-cli-reference/cli-command-reference)