Codex 斜杠命令(二):对话管理——让你的会话有条不紊

系列目录

  1. (一)快速入门——最常用的基础命令
  2. (二)对话管理——让你的会话有条不紊(本文)
  3. (三)权限与安全——精确控制 Codex 能做什么
  4. (四)代码审查——提 PR 前的最后一道防线
  5. (五)模型与推理——为任务选择合适的大脑
  6. (六)并行工作与后台——让 Codex 同时处理多个任务
  7. (七)个性化与配置——打造你的专属 Codex
  8. (八)生态集成:插件、技能与 MCP

延伸阅读 · 插件商店完全指南 · Codex vs Claude Code 对比 · 2026 高级模式对比


# 对话管理 ## 恢复历史 - /resume 从会话列表恢复 - 支持关键词匹配 ## 分支探索 - /fork 分叉当前会话到新线程 - 保留原有上下文继续探索 ## 临时提问 - /side /btw 临时侧面对话 - 不污染主线程上下文 ## 上下文压缩 - /compact 摘要压缩释放 Token - 长任务必备 ## 查看改动 - /diff 交互式 diff 查看 - 可追问改动原因

为什么需要对话管理

真实的开发场景很少是一条直线:你可能在调试一个 bug 的中途突然被拉去处理另一个需求,或者在探索一个重构方案时发现走错了方向,又或者下班前没完成的工作第二天需要接着干。Codex 的对话管理命令正是为这些场景设计的——它们不只是清空聊天,而是一套完整的会话生命周期控制工具。


命令速查表

命令 参数 说明
/resume [会话 ID 或关键词] 恢复一次历史会话,继续之前的工作
/fork 从当前状态创建一个独立分支,探索不同方向
/side /btw 别名 开启临时侧面对话,不污染主线程
/compact 摘要当前对话以释放 Token
/diff 显示 Git 工作区 diff
/raw 切换原始滚动模式
/copy 复制最新回复

/resume —— 断点续传

/resume
/resume auth-refactor
/resume <SESSION_ID>

/resume 弹出历史会话列表,选择后即可从上次中断的地方继续。你可以直接输入会话 ID(从 /status 或 ~/.codex/sessions/ 获取),也可以用关键词模糊匹配。

实际场景:周一早上打开终端,周五下午的重构工作只完成了一半。运行 /resume 并输入 refactor,Codex 定位到上次的会话,完整恢复上下文,你不需要重新解释项目结构和已完成的改动。

Codex 的会话文件存储在 ~/.codex/sessions/ 下,已归档的会话在 ~/.codex/archived_sessions/。你也可以用 codex resume <SESSION_ID> 从命令行直接恢复。


/fork —— 大胆探索,不怕翻车

/fork

/fork 将当前会话完整复制到一个新线程中。原始线程保持不变,新线程是你随意探索的沙盒。如果探索方向正确,继续在新线程中推进;如果不理想,切回原始线程,零损失。

实际场景:你正在实现一个 API 端点,突然想到也许用 GraphQL 替代 REST 会更好。此时用 /fork 开一个新线程,在里面让 Codex 评估 GraphQL 方案的可行性。原线程上的 REST 实现进度完全不受影响,探索完毕后再决定是否切换方案。


/side / /btw —— 临时问题不污染主线

/side
/btw

这两个命令是同一个功能的两个入口。/side 开启一个临时侧面对话,你可以在里面问一个快速问题、测试一个想法,然后回到主线程。侧面对话不会写入主线程的上下文记录。

实际场景:Codex 正在帮你重构一个模块,你突然想确认这个库的最新版本是不是改了 API 签名。不要在主线程里问——这会打断重构流程并占用上下文。用 /side 开一个小窗口快速查一下,拿到答案后回到重构主线。


/compact —— 不让 Token 成为瓶颈

/compact

/compact 对当前对话进行智能摘要,压缩冗余内容,释放上下文窗口中的 Token 空间。长任务中 Token 会逐渐累积,如果不加管理,最终会超出上下文窗口导致模型遗忘早期信息。

实际场景:连续工作了两个小时后,Codex 开始忘记项目早期的关键决策。此时运行 /compact,Codex 将对话历史压缩为一份精炼摘要,保留关键信息的同时释放出大量 Token 空间,后续对话质量明显回升。

类似地,Codex 在接近上下文窗口上限时也可能自动触发 compaction,所以你会在一些长对话中看到摘要提示。


/diff —— 在对话中审查改动

/diff

/diff 显示当前工作区的 Git diff,包括 Git 未跟踪的新文件。与直接运行 git diff 不同,/diff 允许你在对话中追问:这里为什么改了这个函数签名?这个 import 变动会影响哪些文件?

实际场景:Codex 完成一个 multi-file 重构后,先 /diff 确认每一步改动都符合预期,再用 /review 做深度审查。


实操清单

  • 在 Codex 会话中运行 /resume,查看历史会话列表,选择一个上次未完成的会话恢复
  • 尝试 /resume <关键词> 用关键词匹配历史会话,确认模糊匹配能定位到目标
  • 进入一个正在进行的会话后,执行 /fork 创建分支,在新线程中探索一个替代方案
  • 确认原始线程上下文完好无损,切回原线程继续原方案
  • 在主线程重构进行中,使用 /side(或 /btw)临时开一个侧面对话查询一个快速问题
  • 退出侧面对话后,确认主线程上下文未被侧面问题污染
  • 在一次较长的工作会话(持续 1 小时以上)中,执行 /compact 压缩上下文
  • 观察 /compact 前后的 Token 使用量变化,确认摘要保留了关键决策信息
  • Codex 完成代码修改后,运行 /diff 查看工作区 Git diff
  • 基于 /diff 的输出,在对话中追问 Codex 某处具体改动的原因
  • 查看 ~/.codex/sessions/ 目录,了解会话文件的存储结构