Deep Code CLI会话管理速查表:/resume、/fork、/undo恢复历史对话与代码实操指南
【免费下载链接】deepcode-cliDeep Code 是专为 deepseek-v4 模型优化的终端 AI 编码助手,支持深度思考、推理强度控制以及 Agent Skills。项目地址: https://gitcode.com/gh_mirrors/de/deepcode-cli
Deep Code CLI是为 deepseek-v4 模型优化的终端 AI 编码助手,内置一套完整的会话管理机制:用/resume恢复历史对话、/fork分叉出独立新会话、/undo一键回退代码和对话。会话数据持久化保存在本机,终端进程关闭后依然可以找回。本文整理出这份速查表,帮你快速上手这三个核心命令。
📋 会话命令速查表
| 命令 | 作用 | 适用场景 |
|---|---|---|
/resume | 从历史会话列表中挑选一条继续 | 昨天聊到一半,今天接着干 |
/continue | 优先继续当前活动会话,否则进入历史选择 | 刚重开终端,想回到上次进度 |
/fork | 复制当前会话,创建一个独立的新会话 | 想换个方案试,又不想污染原对话 |
/undo | 将代码和/或对话恢复到某个历史时间点 | AI 改错了文件,需要回退 |
/new | 开始一个全新对话 | 切换任务 |
命令行同样支持对应的启动参数:deepcode -r(恢复会话)、deepcode -f(分叉会话)、deepcode -l(直接恢复当前项目最近一次会话)。
💾 会话保存在哪里
Deep Code 按项目隔离存储会话,每个项目都有独立目录:
~/.deepcode/projects/<project-code>/ ├── sessions-index.json # 会话索引:列表、标题、状态、token 用量 ├── <session-id>.jsonl # 单个会话的完整消息记录 └── file-history/.git # 内部快照仓库,供 /undo 恢复代码- 会话标题默认取首次用户输入的前 100 个字符,也可以在会话列表里按
Ctrl+R重命名 - 每个项目最多保留最近50 条会话,更早的会自动清理
- 移动项目目录后历史不会自动迁移(项目路径变了,
<project-code>就变了)
完整机制说明见 docs/session-persistence.md。
🔄 /resume:恢复历史对话
在输入框输入/resume回车,会弹出历史会话选择器:
- 直接打字即可搜索(匹配标题、状态、失败原因)
↑/↓或PgUp/PgDn翻页,Enter选中继续Del删除会话(会二次确认),Ctrl+R重命名,Esc取消
选中后 Deep Code 会读取该会话的消息文件,自动过滤已压缩的旧消息、修复未完成的工具调用上下文,然后把历史转成模型请求——相当于把当时的完整记忆"接回来"。
核心实现在 packages/core/src/session.ts 与会话列表组件 packages/cli/src/ui/views/SessionList.tsx 中,搜索过滤逻辑为filterSessions。
🌿 /fork:从当前对话分叉出独立会话
/fork会复制当前活动会话并切换到新会话:
- ✅ 保留消息历史、当前上下文 token 数、代码快照起点
- 🔢 累计
usage用量重新清零 - 🔒 之后所有新消息、用量、代码快照只更新新会话,不会修改源会话
典型用法:让 AI 按方案 A 改完代码后觉得效果一般,/fork一下,在新会话里直接说"改用方案 B 重做",两个方案的对话都完整保留,随时可以切回去对比。
forkSession的源码逻辑位于 packages/core/src/session.ts。
⏪ /undo:回退代码和对话
/undo是新手最容易忽略、也最有用的命令。输入后会出现恢复选择器(见 packages/cli/src/ui/views/UndoSelector.tsx):
- 第一步选目标:列出本会话所有"可见且未压缩"的用户消息,每条标注时间,有代码快照的会显示
code checkpoint available - 第二步选恢复模式:
| 模式 | 行为 |
|---|---|
| 恢复代码 + 对话 | 从file-history/.git快照还原被跟踪的文件,再截断之后的对话历史 |
| 仅恢复对话 | 只回退对话,不动工作区文件 |
几个实用细节:
- 快照只覆盖 Deep Code已跟踪到的文件,无关文件不会被误改
- 候选项来自消息上的
checkpointHash字段(定义见 packages/core/src/session.ts) - 长会话被自动压缩后,早期消息仍可
/undo,只是代码快照可能已不可恢复
🚀 命令行快捷启动
不想进交互界面再选?启动时直接带参数(参数校验逻辑在 packages/cli/src/cli-args.ts):
deepcode -r # 弹出会话选择器 deepcode -r <session-id> # 直接恢复指定会话 deepcode -f <session-id> # 复制指定会话为新会话 deepcode -f # 复制当前项目最近更新的会话 deepcode -l # 恢复当前项目最近一次会话注意--fork不能与--resume、--last同时使用。
❓ 常见问题
Q:退出终端后历史对话会丢吗?不会。会话持久化在~/.deepcode/projects/下,不依赖终端进程,重开终端用/resume或deepcode -l即可找回。
Q:会话被删除还能恢复吗?删除会移除索引条目和<session-id>.jsonl消息文件,消息内容基本不可恢复,删除前请确认。
Q:/undo 会把我的 Git 仓库也回退吗?不会。file-history/.git是 Deep Code 的内部快照仓库,与项目自身的 Git 仓库相互独立。
📚 延伸阅读
- 快速上手:docs/quickstart.md
- 会话持久化完整机制:docs/session-persistence.md
- 斜杠命令定义:packages/cli/src/ui/core/slash-commands.ts
掌握/resume、/fork、/undo这三个命令,你的 AI 编码过程就有了"存档、分支、读档"的完整能力——放心让 Deep Code 放手改代码,翻车了随时回退。
【免费下载链接】deepcode-cliDeep Code 是专为 deepseek-v4 模型优化的终端 AI 编码助手,支持深度思考、推理强度控制以及 Agent Skills。项目地址: https://gitcode.com/gh_mirrors/de/deepcode-cli
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考