Copilot CLI 在计算机上本地存储 CLI 会话中的数据,默认情况下会将会话同步到帐户 GitHub 。 此会话数据允许你:
- 恢复之前的会话,并从你上次中断的地方继续进行。
- 使用
/chronicle斜杠命令生成简报报告,获取个性化提示,并接收改进.github/copilot-instructions.md文件的建议。 - 向 Copilot 询问过往交互相关问题。
本文介绍如何从 Copilot CLI中使用这些功能。 若要深入了解会话数据的存储和同步方式,请参阅 关于 GitHub Copilot 会话数据。 若要从 VS Code中查询会话,请参阅 管理智能体会话。
恢复之前的会话
可以从命令行或活动会话期间恢复以前的交互式 CLI 会话。
-
在命令行中,运行
copilot --continue以恢复最近的会话。 如果要从最近会话的列表中进行选择,请运行copilot --resume以打开列出最近会话的会话选取器。 或者,如果知道要恢复的会话的会话 ID,则可以运行copilot --resume SESSION-ID以直接跳转到该会话中。 -
在交互式会话期间,键入
/resume切换到其他会话。 将显示一个选择器,其中列出了您的近期会话。 或者,可以输入/resume SESSION-ID以直接跳入特定会话。
注意
可以使用斜杠命令查找当前交互式会话 /session 的 ID。 退出交互式会话时也会显示会话 ID。
恢复会话时,Copilot 加载完整的会话历史记录,以便可以准确地从离开的地方继续。
重命名会话
使用 --resume 命令行选项或 /resume 斜杠命令时,将列出最近的会话。 列表的最后一列显示会话名称,这有助于确定要恢复的会话。 如果你有一个经常返回的会话,你可能希望为其指定一个自定义名称,以便更轻松地在列表中查找。
要重新创建会话,请执行以下操作:
-
在交互式会话中,如果要重命名当前会话以外的会话,请使用
/resume斜杠命令切换到要重命名的会话。 -
键入
/rename NEW_NAME以重命名当前会话。 无需将名称括在引号中。例如,
/rename Improve test coverage。
共享会话
您可以将当前会话的内容共享为 GitHub.com 上该会话的可分享链接、Markdown 文件、交互式 HTML 文件,或 GitHub.com 上的私密 gist。 这样,就可以与他人共享提示和 Copilot响应,或将工作记录存储在 CLI 外部。
注意
在下面的任意命令中,都可以将 /export 用作 /share 的别名。
若要将会话分享至 GitHub 并打印可共享链接,请在交互式会话中键入以下内容:
/share
/share
若要停止共享会话,请键入 /share off。
若要以 gist 形式共享会话,请键入:
/share gist
/share gist
若要将会话会话导出为 Markdown 文件,请键入:
/share file [PATH-TO-FILE]
/share file [PATH-TO-FILE]
如果未指定文件路径,则 Markdown 文件将保存在具有名称 copilot-session-SESSIONID.md的当前工作目录中。
注意
要点不适用于 Enterprise Managed Users,或你使用带数据驻留的 GitHub Enterprise Cloud (*.ghe.com) 时。
若要将会话导出为交互式 HTML 文件,请键入:
/share html [PATH-TO-FILE]
/share html [PATH-TO-FILE]
与 Markdown 导出一样,如果未指定文件路径,该文件将保存在当前工作目录中,名称为 copilot-session-SESSIONID.html。
如果您在当前会话中已使用过 /research 斜杠命令,您还可以使用 /share 命令来分享研究报告。 有关详细信息,请参阅“使用GitHub Copilot CLI进行研究”。
使用/chronicle斜杠命令
/chronicle斜杠命令提供一组子命令,用于从会话历史记录生成特定类型的见解。 你可随时向 Copilot 自由提问会话相关问题,/chronicle 子命令可快速获取特定见解。
在没有参数的情况下键入 /chronicle 时,将显示一个选取器,用于从可用的子命令中进行选择:
| 子命令 | 说明 |
|---|---|
standup | 根据你近期的工作情况生成一份简报报告。 |
tips | 根据使用模式获取个性化提示。 |
cost-tips | 了解令牌花费情况以及降低成本的建议。 |
search | 在会话历史记录中搜索特定主题或关键字。 |
improve | 对您的自定义说明文件提出改进建议。 |
reindex | 从会话历史记录重新生成本地会话存储,并将会话数据同步到帐户。 |
还可以直接调用子命令,而无需使用选取器,例如 /chronicle standup。
/chronicle standup
默认情况下,这会根据 Copilot CLI 会话生成一份过去 24 小时的短报告。 Copilot 会查看你处理的分支、完成的工作以及你引用的所有 GitHub 拉取请求或问题。 它按完成状态对输出进行分组,每个项目都按其分支标记,并检查任何链接拉取请求的当前状态。
示例简报摘要
Standup for March 13 2026:
✅ Done
myapp-repo repo maintenance (main branch)
- Synced local, cleaned files, audited deps, reviewed architecture
- Session: 69a027e4-9b7b-493e-922e-107acd25abab
🚧 In Progress
MyApp configuration (suppress-start-message branch, myapp-repo)
- Suppressing startup init prompt message
- Session: 3034d813-3e1f-413a-b3d9-15427ef8c19c
可以将其他上下文追加到命令以自定义输出。 例如,可以指示 Copilot 使用不同的时间段,而不是过去 24 小时的默认时间段:
/chronicle standup for the last 3 days
/chronicle standup for the last 3 days
/chronicle tips
这会分析您最近的会话,以了解您的工作方式以及您如何使用 Copilot CLI。 然后,它提供 3-5 个个性化建议。 Copilot 检查您的实际提示、使用的工具,以及尚未尝试过的功能。 它将完整的可用 CLI 功能集(包括你在存储库中设置的任何自定义代理和技能)进行交叉引用,以查找你可能错过的机会。
提示以实际使用情况数据为基础,提供特定建议,而不是一般建议。
示例提示
响应 /chronicle tips 中主要要点的示例如下。 在实际响应中,将更详细地解释每个点。
1. Use @ to mention files instead of pasting content
2. Iterate within a session — don't start over
3. Try /research for your exploration work
4. Turn recurring prompts into a custom agent
5. Use plan mode for multi-step work
可以通过在后面 /chronicle tips追加上下文,将提示集中在特定区域上。 例如:
/chronicle tips for better prompting
/chronicle tips for better prompting
/chronicle cost-tips
这会分析最近会话中的令牌使用情况,以显示令牌的花费位置,并建议降低成本的方法。 Copilot 查看提示长度、工具调用频率和延续步骤等模式,以确定提高使用效率的机会。
/chronicle cost-tips
/chronicle cost-tips
/chronicle search
这会搜索所有会话内容(而不仅仅是摘要)以获取特定关键字或主题。 与依赖语义理解的开放式问题不同,/chronicle search 会直接搜索内容,因此在你知道自己要查找的确切术语或主题时,它会很有用。
/chronicle search authentication
/chronicle search authentication
/chronicle improve
这会深入探讨您的会话历史记录,以查找 Copilot 无法提供您所寻找的响应或结果的地方,或者您不得不通过提供后续提示来调整路径的地方。 基于这项研究,它建议对你的 .github/copilot-instructions.md 自定义指令文件进行改进。
将项目特定知识捕获为自定义指令,是提升 Copilot 在项目中性能的有效方法。 有关详细信息,请参阅“为 GitHub Copilot CLI 添加自定义说明”。
注意
与Copilot在其他场合使用时不同,这里使用会话数据回答问题或生成见解,improve子命令的范围仅限于当前存储库或工作目录的数据。 这可确保建议与当前正在处理的项目相关。
Copilot 查找摩擦信号 - 重复测试失败、需要多次尝试的编译错误、更正或重定向代理的用户消息以及跨会话重复出现的模式。 然后,它提出了 3-5 个具体建议,每个建议都解释了它发现的问题,以及将解决该问题的说明。
例如,Copilot 可能发现它反复尝试为使用 jest 的项目使用 vitest,或持续生成与代码库规范不符的导入样式。 建议的说明将在未来的会话中防止这些错误。
提出建议后, Copilot 询问想要应用哪些建议。 默认情况下,会选择所有建议,但你可以使用键盘上的箭头键移动到任意建议,然后按空格键来切换该建议的启用状态。 选择要应用的建议后,按 Enter。
Copilot 然后创建或更新 .github/copilot-instructions.md 文件。
提问有关会话历史记录的问题
无需使用斜杠命令来利用会话历史记录。 如果 Copilot 确定要询问你使用 CLI 的情况,它将自动使用会话存储来提供响应的上下文。
注意
默认情况下,有关您与Copilot CLI 互动的问题的解答是基于您所有的记录会话,而不考虑您当前所使用的存储库或分支。
下面是你可能提出的问题类型的一些示例:
有关任务的见解
Using what you know about my sessions, what type of tasks give me one-shot successes and which do I have to iterate on most?
Using what you know about my sessions, what type of tasks give me one-shot successes and which do I have to iterate on most?
Copilot 将分析对话,查找初始响应未遵循相关提示的时间,以及出现一系列迭代提示和响应的时间。
减少 GitHub AI Credits 使用量
Based on my previous CLI sessions, how could I prompt you in a way that would cost less?
Based on my previous CLI sessions, how could I prompt you in a way that would cost less?
Copilot 将查看会话模式(提示长度、延续步骤数和工具调用频率),并建议通过更少的交互实现相同结果的方法。
找到你最为高效的时间
Look at data for previous sessions. What time of day am I most and least effective at getting good results from Copilot?
Look at data for previous sessions. What time of day am I most and least effective at getting good results from Copilot?
Copilot 将查询会话时间戳和结果,以确定交互何时最高效。
回顾过去的工作
Have I worked on anything related to authentication in the last month?
Have I worked on anything related to authentication in the last month?
Copilot 使用跨会话历史记录的全文搜索来查找相关会话,然后总结所执行的操作。
删除会话
删除会话的最简单方法是在交互式 CLI 会话中使用 /session 斜杠命令。
/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 命令参考。
手动删除会话数据
- 本地数据:若要在本地删除特定 CLI 会话的数据,请从
~/.copilot/session-state/中删除相关的会话目录。 若要清除所有本地会话数据,请删除下~/.copilot/session-state/的所有内容。 执行此操作后,必须手动重新编制会话存储的索引。 请参阅本文后面的重新索引会话存储。 删除本地文件不会影响已同步到帐户的会话数据。 不能在本地删除同步的数据。 - 同步的数据:可以从中删除或隐藏同步的 GitHub.comCLI 会话。 隐藏会话会将其从会话索引中删除,使其不再显示在查询结果中。 删除会话会将其从你在 GitHub.com 上的会话列表中移除。 删除操作适用于 CLI、VS Code 和 GitHub Copilot app 会话。
重新编制会话存储的索引
会话存储是在 CLI 会话期间以增量方式填充的。 会话的数据将写入到特定于会话的子目录中的 ~/.copilot/session-state/磁盘。 这也会在会话期间定期发生,并且会话结束时也会定期发生。
可以从磁盘上的会话文件重新编制会话存储的索引。 重新编入索引还会将您的会话数据同步到您的账户。
可能需要重新编制索引的情况包括:
- 为旧会话编制索引:如果在会话存储存在之前创建的磁盘上有旧会话文件,则重新编制索引将使用这些会话中的数据填充会话存储。
- 会话删除:若要从历史记录中删除会话,请使用
/session delete``/session delete-all斜杠命令或/session prune斜杠命令。 对于已同步的会话,/session delete还可以删除同步的副本,这会将该会话从你的/chronicle洞察中移除。 - 迁移/恢复会话:如果将会话文件移动到另一台计算机,或从备份还原它们,而不移动/还原会话存储文件(
~/.copilot/session-store.db),则可以使用重新索引命令重新创建会话存储。 - 文件损坏:如果会话存储文件 (
~/.copilot/session-store.db) 损坏或意外删除,则可以从会话文件恢复会话存储。 - 意外终止:如果会话由于崩溃或断电而意外终止,并且在内存中保存的数据尚未写入会话存储,如果这些数据在终止前已经写入到磁盘的会话文件中,您仍然可以用这些缺失的数据填充会话存储。
若要对会话存储重新编制索引,请使用交互式 CLI 会话中的以下斜杠命令:
/chronicle reindex
/chronicle reindex