会话是与 Copilot 进行交互的一段时间,例如在 IDE 中的对话或由代理执行的工作。 会话数据 是记录的有关该交互的信息。 这包括提示和响应、所使用的工具和对文件的更改。
会话历史记录是可以查询的会话集合。
会话数据可帮助你了解并返回到使用 Copilot 完成的工作内容。 可以使用会话数据来:
- 查询你的会话历史记录:使用自然语言就你之前会话中的工作内容提问。
- 恢复会话:选取在上一个会话中离开的位置。
- 查看或共享 会话。
- 生成见解 ,例如独立报表、工作流提示和成本分析。
可用功能取决于会话运行所在的平台。
了解会话位置和访问情况
会话在何处运行、存储其数据的位置、是否同步到帐户 GitHub 以及谁可以访问该会话是单独的注意事项。
本地运行的会话,其数据可同时存储在你的计算机上和你的 GitHub 账户中。 同步会话并不会将其共享给其他人。
本地运行的会话
Copilot CLI和GitHub Copilot app在~/.copilot/session-state/下存储每个会话的完整记录。 它们还会将数据的子集存储在本地 SQLite 数据库中,称为会话存储。 会话存储支持会话历史记录查询和 /chronicle 命令。
在 IDE 中启动的会话,其会话存储取决于具体的 IDE。 有关存储哪些会话数据以及位置的信息,请参阅 IDE 的文档。
会话在 GitHub 上运行
Copilot cloud agent 会话在由 GitHub.. 托管的临时环境中运行。 会话结束时,环境将销毁,但会话日志仍然可用 GitHub.com。 默认情况下,这些会话共享,并且对有权访问存储库的人员可见。
会话同步
默认情况下,使用 Copilot CLI 或 GitHub Copilot app 创建的本地运行会话会同步到您的 GitHub 账户。
您可以控制Copilot CLI和GitHub Copilot app的同步。 请参阅 remoteExport 中的 和 remote。
管理会话同步的策略
对于 Copilot Enterprise 和 Copilot Business 用户,必须将适用的“在云中存储本地会话”策略设置为至少“从云中查看”,以便同步会话数据。 如果策略已禁用或未配置,则仅本地存储会话。
隐私和共享
默认情况下,本地会话未共享。 可以与有权访问存储库的人员共享单个本地会话。 收件人具有仅查看访问权限,共享会话不包括在收件人自己的会话历史记录的查询中。 请参阅 “共享会话”。
同步的会话数据与你的个人账户关联,默认情况下仅你本人可以访问。 管理员可以控制同步是否可用,但启用同步不会允许他们访问会话数据。
Copilot cloud agent 会话默认共享。 它们显示在存储库的“代理”选项卡上的“所有会话”视图中,对有权访问存储库的任何人可见。
查询以前的交互或使用 /chronicle时, Copilot 可能会向 AI 模型发送相关的会话数据,例如提示、上下文和响应。
会话数据的访问和保留
可用于管理会话数据的控件取决于会话数据的存储和访问位置。
本地存储的会话
以下控件可用:
- 共享:创建会话的可共享副本作为链接、gist 或文件。
- 删除:从本地存储永久删除会话。
- 存档:将会话移出活动列表,而不将其删除。
| Surface | 分享 | 删除 | 存档 |
|---|---|---|---|
| Copilot CLI | |||
| GitHub Copilot app |
对于 Copilot CLI,删除已同步到帐户的本地会话会提示你选择是否还要删除同步的副本。 对于 GitHub Copilot app 来说,删除本地会话也会立即删除其已同步的副本。
存储在 GitHub.com 上的会话
以下控件可用:
- 共享:使会话对有权访问存储库的人员可见。
- 删除:从中永久删除同步的会话记录 GitHub.com。
- 存档:在 GitHub.com 上将该会话移出活动列表,而不删除它。
| 会话源 | 分享 | 删除 | 存档 |
|---|---|---|---|
| 已同步Copilot CLI会话 | |||
| (默认情况下未共享) | |||
| 已同步GitHub Copilot app会话 | |||
| (默认情况下未共享) | |||
| Copilot cloud agent 会话 | (默认共享) |
有关详细信息,请参见:
- Copilot CLI: 使用 GitHub Copilot CLI 会话数据
- GitHub Copilot app: 在 GitHub Copilot 应用中使用代理会话
- Copilot cloud agent: 管理智能体会话
有关 IDE 中可用的 Copilot 会话数据控件的信息,请参阅该 IDE 的文档。
用于 Copilot CLI 的会话管理
对于 Copilot CLI,具体来说,您可以使用斜杠命令,或通过手动与位于 ~/.copilot/session-state/ 的会话存储进行交互,来管理本地存储的会话数据。
删除会话数据
可以从计算机和同步会话历史记录 GitHub.com中删除本地会话数据。 删除会话会将其从本地会话列表、会话历史记录索引和同步会话列表中删除。
使用 /session 命令删除 CLI 会话,或从 ~/.copilot/session-state/ 中手动删除会话数据。 请参阅 “删除会话”。
重新为会话存储编制索引
如果本地会话文件已移动、从备份还原或不再在会话存储中表示,则 /chronicle reindex 从以下 ~/.copilot/session-state/文件重新生成会话存储。 请参阅重新为会话存储建立索引。