claude code command:对话清空后如何快速恢复上下文
前言
用 Claude Code 辅助开发时,你有没有遇到过这种情况:
- 对话太长,用
/clear清空后,Claude 忘了之前在做什么 - 重新描述任务背景,费时费力
- 有时候还会因为上下文丢失,导致 Claude 给出错误的建议
最近我开发了一个实用的命令:catch-context,通过 git 状态快速恢复任务上下文。
核心思路
问题:对话清空后,AI 失去了任务背景
解决:既然对话没了,但代码变更还在!通过 git status 和 git diff 推断正在进行的任务
命令设计
catch-context:基于 git 状态恢复上下文
触发命令:
catch-context
执行流程:
| 步骤 | 操作 |
|---|---|
| 1 | 运行 git status 查看变更文件 |
| 2 | 必要时结合 git diff 查看具体改动 |
| 3 | 基于文件变更推断正在进行的任务 |
| 4 | 延续现有实现思路,不假设额外背景 |
| 5 | 在未收到明确指令前,先给出上下文判断 |
使用示例:
# 对话清空后执行
/catch-context
# AI 会自动分析:
# - 修改了哪些文件
# - 每个文件的改动方向
# - 推断当前任务阶段
# - 给出上下文恢复建议
实际场景
场景 1:调试到一半,对话太长需要清空
git status 显示:
modified: src/utils/debug.ts
modified: src/services/api.ts
→ 推断:正在调试 API 相关功能,可能在添加日志或修复请求问题
场景 2:实现功能到一半,需要切换会话
git status 显示:
new file: src/components/UserModal.tsx
modified: src/pages/UserList.tsx
→ 推断:正在开发用户管理功能,UserModal 可能是新增的弹窗组件
设计原则
| 原则 | 说明 |
|---|---|
| 基于事实 | 仅通过 git 变更推断,不假设额外背景 |
| 快速恢复 | 避免重新描述任务,节省时间 |
| 避免干扰 | 清空旧对话,但不丢失任务进度 |
| 主动确认 | 先给出上下文判断,等待用户确认再继续 |
与传统方式对比
| 维度 | 传统方式 | catch-context |
|---|---|---|
| 恢复成本 | 手动描述任务背景 | 自动分析 git 状态 |
| 信息准确性 | 可能遗漏细节 | 基于实际代码变更 |
| 时间消耗 | 5-10 分钟重新描述 | 10-30 秒自动恢复 |
| 干扰风险 | 旧对话可能影响新任务 | 完全清空,只保留代码进度 |
踩坑记录
问题:一开始 AI 会根据自己的理解添加额外假设,导致恢复的上下文有偏差
解决:在命令规范中明确要求「仅基于文件变更推断」「不假设额外背景」「先给出判断等待确认」
小结
catch-context 的核心价值:
- ✅ 对话清空但不丢失任务进度
- ✅ 基于代码变更推断,比人工描述更准确
- ✅ 快速恢复,减少重复沟通成本
对于长时间使用 Claude Code 辅助开发的团队,建议把这类上下文管理命令纳入工作流。
源码地址
你们是怎么管理 AI 对话上下文的?有没有类似的经验?欢迎留言交流~ 👇