名称: ctx-recall 描述: “浏览会话历史。在引用过去的讨论或从先前工作中查找上下文时使用。” 允许工具: Bash(ctx:*)
浏览、检查和导出AI会话历史。
何时使用
- 当用户询问"我们上次做了什么?"或引用过去的讨论时
- 当从先前工作会话中查找上下文时
- 当将会话导出到日志以进行丰富时
- 当按主题、日期或ID搜索特定会话时
何时不使用
- 当用户只需要当前上下文时(使用
/ctx-status或/ctx-agent代替) - 当会话数据已加载到上下文中时(无需重新获取)
- 用于修改会话内容(recall是只读的;直接编辑日志文件)
使用示例
/ctx-recall
/ctx-recall list --limit 5
/ctx-recall show <slug-or-id>
/ctx-recall export --all
子命令
ctx recall list
列出最近的会话,最新的在前。
| 标志 | 简写 | 默认值 | 用途 |
|---|---|---|---|
--limit |
-n |
20 | 显示的最大会话数 |
--project |
-p |
“” | 按项目名称过滤 |
--tool |
-t |
“” | 按工具过滤(例如"claude-code") |
--all-projects |
false | 包含所有项目 |
每个会话的输出:slug、短ID、项目、分支、时间、持续时间、轮次计数、令牌计数、第一条消息预览。
ctx recall show
显示特定会话的详细信息。
| 标志 | 默认值 | 用途 |
|---|---|---|
--latest |
false | 显示最近的会话 |
--full |
false | 完整对话(非预览) |
--all-projects |
false | 在所有项目中搜索 |
接受会话标识符:完整UUID、部分UUID前缀或slug名称。如果未提供ID,请使用--latest。
默认输出显示元数据和前5条用户消息。使用--full获取完整对话。
ctx recall export
将会话导出为markdown格式到.context/journal/。
| 标志 | 默认值 | 用途 |
|---|---|---|
--all |
false | 导出所有会话 |
--all-projects |
false | 包含所有项目 |
--force |
false | 覆盖现有文件 |
--skip-existing |
false | 跳过已存在的文件 |
接受会话ID,或使用--all导出所有内容。默认行为保留先前导出的YAML frontmatter(丰富数据不会丢失)。
大型会话(>200条消息)会自动拆分为多个部分,并在它们之间添加导航链接。
数据源
会话从~/.claude/projects/(Claude Code JSONL文件)读取。系统自动检测和解析会话文件;默认仅显示当前项目的会话。
处理流程
- 确定意图:用户想要列出、检查还是导出?
- 运行适当的子命令并带上相关标志
- 总结结果:对于
list,突出显示值得注意的会话;对于show,总结关键点;对于export,报告写入的内容并建议后续步骤(规范化、丰富)
典型工作流程
“我们最近在做什么工作?”
ctx recall list --limit 5
“给我看看关于身份验证的那个会话”
ctx recall list --project auth
# 然后使用列表中的slug或ID:
ctx recall show <slug>
“将所有内容导出到日志”
ctx recall export --all --skip-existing
然后建议:规范化(/ctx-journal-normalize)和丰富(/ctx-journal-enrich)作为后续步骤。
质量检查清单
在报告结果之前,请验证:
- [ ] 为用户意图使用了正确的子命令
- [ ] 如果用户提到了项目、日期或主题,则应用了过滤器
- [ ] 对于导出,提醒用户关于规范化/丰富管道作为后续步骤
- [ ] 没有重新导出用户已有的会话(默认使用
--skip-existing,除非另有要求)