/recap 的作用
OpenAI 文档中的步骤很简短:“当 Codex 空闲时,输入 /recap。”随后 Codex 会撰写一份到目前为止的对话简短摘要并显示在终端中。
文档补充了两点。无论你的设置如何,手动 recap 都能工作:“即使 tui.auto_recap = false,Codex 也会生成对话摘要。”如果你真正的问题是空间不足,它会引导你使用其他命令:“当你想要释放上下文空间时,请使用 /compact。”
因此,/recap 是为你(读者)准备的。它不会在聊天中腾出空间,文档将其作为一种保留聊天原始上下文的选项。
recap 读取的内容
Codex 的开源代码显示了 recap 的构成,它比整个会话的范围要窄。
仅限最近可见的交流。 代码根据你在对话中能看到的消息构建 recap:你的请求和 Codex 的回复。它排除了工具输出、推理过程和其他线程的历史记录。
有限的窗口。 代码最多提取最近的八次交流,并将其放入约 8,192 个 token 的固定预算中(包括指令)。当历史记录较长时,较旧的交流会首先被舍弃,长消息会从中间裁剪,保留开头和结尾。
你的最新请求会被完整保留。 如果你最新的消息尚未得到回复,代码会将其与最新的回复一起保留,以便 recap 反映你刚刚提出的要求。
引导指令保持关联。 如果你在 Codex 工作时发送了消息,代码会将相邻的用户消息视为一个请求,因此任务中途的修正会与它所修改的请求一起被读取。
recap 被要求表达的内容
Codex 随历史记录发送的指令要求为返回任务的人提供简短的进度同步:总体目标、有意义的进展以及任何阻碍因素。它们还要求模型保留未解决的注意事项,例如尚未安装的修复程序或尚未运行的测试,并区分已提议、已排队、已实现、已测试或已发布的工作。目标长度为 40 到 60 个单词,在用户语言中绝不超过 80 个单词。
recap 还可以包含下一步行动,但仅限于有待你回答的问题、已商定的下一步步骤或针对阻碍因素的明确补救措施。代码将摘要限制在 700 个字符以内,下一步行动限制在 200 个字符以内。
指令告诉模型将对话视为数据,并记住它可能是不完整的或摘录的。这对你也是一个公平的提醒。recap 是根据最近的消息构建的快速定位,而不是完整的记录。
recap 在哪里运行
代码通过一个单独的临时请求生成 recap,使用与你当前会话相同的模型。结果在到达时显示在你的终端中。
这种设计就是为什么文档可以将 /recap 描述为一种在不压缩的情况下了解进度的方法。这项工作发生在你的对话之外。为了生成它,你的聊天历史记录不会被总结或替换。
Recap 是终端功能。如果你尝试在云端对话中使用 /recap,代码会显示一条消息,说明云端对话不提供对话回顾。如果 recap 已经在生成中,或者还没有对话,Codex 会告知你而不是开始另一个请求。
Codex 何时自动生成 recap
自动 recap 默认开启。OpenAI 的配置参考将该设置描述为:“当终端失去焦点时生成自动对话回顾(默认值:true)。”
开源代码补充了触发时机:
- 终端必须处于非焦点状态。 切换离开终端窗口即开始计时。在 recap 生成前返回会取消待处理的任务。
- 约 30 分钟。 代码会从两个时刻中较晚的一个开始等待 30 分钟:终端失去焦点时,以及最后一轮对话结束时。
- 足够的对话量。 在第一次自动 recap 之前,至少需要完成三轮对话。
- 自上次以来有新内容。 在一次 recap 之后,它会等待至少再完成两轮对话才会生成下一次。
因此,短时间的会话,或者你一直盯着终端的会话,不会触发自动 recap。而你离开后的长时间会话则会触发。
如何关闭自动 recap
该设置在 Codex 0.153.0 中引入,其发布说明称:“设置 tui.auto_recap = false 以禁用自动回顾,同时保持手动 /recap 可用。”
在你的 Codex 配置文件中,在 [tui] 部分下,将 auto_recap 设置为 false。配置参考确认了保留的功能:“设置为 false 以禁用自动回顾;/recap 仍然可用。”
关闭后,Codex 将停止调度自动 recap,但当你需要时,/recap 依然有效。
/recap 对比 /compact
这两个命令都涉及摘要,这就是为什么它们容易混淆。它们对你的聊天起着相反的作用。
/recap 为你撰写摘要,并保持对话原样。Codex 继续使用相同的历史记录工作。
/compact 为 Codex 撰写摘要,并用其替换之前的对话轮次。这释放了上下文窗口的空间,之前的细节被摘要取代。当聊天接近限制时,Codex 也会自动进行压缩;我们的 GPT-6.1 Sol 在 Codex 中的 500k 上下文指南解释了这种情况何时发生。
当你回到一个长会话时的实际操作顺序:先阅读 recap 了解进度,然后决定聊天是否真的需要压缩。
如果你也使用 Claude Code
Claude Code 有一个同名且用途类似的功能,但如果你在两者之间切换,细节上的差异非常重要。
Anthropic 将 Claude Code 的版本描述为“对会话至今发生的事情的一行回顾”。它的等待时间比 Codex 短得多:recap “在最后一轮对话结束至少三分钟后且终端失去焦点时在后台生成”。与 Codex 一样,它首先需要一些历史记录,Anthropic 补充说 recap “绝不会连续出现两次”。
限制和开关也不同。“Claude Code 将自动回顾和 /recap 输出都限制在 400 个字符以内。”你在 /config 中关闭其自动 recap,而不是在配置文件中,并且可以通过环境变量强制开启或关闭。Anthropic 还在其成本指南中指出,“会话回顾和空闲压缩在你空闲时可能会消耗 token。”
因此,相同的命令名称在 Codex 中会在较长等待后给你一个较长的摘要,而在 Claude Code 中则会在几分钟后给你单行摘要。
recap 不能替代的内容
recap 是根据最近的消息按需生成的。它是一种阅读辅助工具,而不是记忆,也不是交接文档。
如果你要将工作转移到新聊天中,recap 的长度和窗口太小,无法承载所有内容。我们的交接提示词编写指南涵盖了新聊天需要的内容。如果你在本地和工作树之间或向另一台机器移动聊天,我们的 Codex 交接指南解释了随之移动的内容。
对于 Codex 在每个会话中都应该知道的事实,Codex 有自己的记忆和项目的 AGENTS.md。我们的 Codex 记忆 v2 指南涵盖了这些内容的存放位置。
如果聊天似乎消失了而不是需要摘要,我们的查找丢失的 Codex 聊天历史记录指南介绍了 Codex 保存聊天的地方。
人们首先尝试的操作
使用 /recap 来释放上下文。 它不会压缩。当你需要空间时,请使用 /compact。
期望得到整个会话的 recap。 它在固定预算内读取最多八次最近的交流,并排除工具输出。
将 recap 视为记录。 它在你回来时显示。将你想要保留的任何内容保存在你控制的地方。
关闭自动 recap 后以为丢失了 /recap。 禁用自动回顾会保留手动命令。
在云端对话中尝试 /recap。 Recap 在那里不可用。
解决方案:使用 recap 进行定位,并在别处保留记录
第 1 步:在做任何决定前先阅读 recap
当你回到一个长会话时,先阅读 recap。检查其中的注意事项是否符合你的记忆,例如未运行的测试或未安装的更改。如果没有出现 recap,请在 Codex 空闲时输入 /recap。如果 recap 提到了下一步行动,请将其视为待确认的建议,而不是 Codex 已经接受的指令。
第 2 步:写下不应该由 recap 告诉你的内容
有些事情永远不应该依赖于最近消息的摘要:为什么要选择某种方法、排除了什么、什么是禁区。在还记得的时候把这些写下来。
第 3 步:将持久的事实放在每个会话都能看到的地方
将项目规范移入 AGENTS.md,并将决策保留在你维护的笔记中。这样,无论上次的 recap 说了什么,新会话都会以这些内容开始。
在 MemoryLake 中设置
recap 是你返回时生成的最近消息的简短视图。工作背后的决策比这更持久,而且 recap 的小窗口会首先丢弃较旧的交流。
MemoryLake 是一个记忆层,用于将这些决策保存在你维护的一个地方,供你连接的助手(如 ChatGPT、Claude Code 和 Codex)使用。
你自己编写条目,用你自己的语言。你的 Codex 会话、它们的 recap、你的 AGENTS.md 文件、你的 Codex 记忆或任何供应商的存储都不会被读取、写入或删除。Recap 继续按照 OpenAI 描述的方式工作。
第 1 步:创建 API 密钥
登录并从控制面板生成密钥。该密钥属于你的 MemoryLake 工作区,与你的 ChatGPT 和 Codex 账户分开。

第 2 步:上传你的第一批记忆
从解决方案第 2 步的笔记开始:决策、排除的方法和边界。每个条目一个要点,注明日期。

第 3 步:连接你的 AI 和代理
连接 Codex 和你使用的任何其他助手。每当会话开始时,相同的条目都可用。

这在实践中改变了什么
第一个区别是更快的返回速度。recap 告诉你现状,而且你知道它没有改变聊天内容。
第二个是减少对摘要的依赖。工作背后的原因已被记录下来,因此简短的 recap 不必承载它们。
第三个是更稳定的新会话。它们以你的决策开始,而不是最后几条消息的回顾。
Codex 中 recap 的最佳实践
使用 /recap 进行定位。 使用 /compact 释放空间。
为长会话保持自动 recap 开启。 如果它们分散你的注意力,请通过 tui.auto_recap 关闭它们。
记住窗口限制。 最多八次最近的交流,无工具输出。
检查注意事项。 recap 被要求标记未完成的工作,但请务必确认。
使用终端。 云端对话不提供 recap。
在做决定时随手记下。 recap 不是保留决策的地方。
结论
/recap 向 Codex 请求当前对话的简短摘要,该摘要由最近的可见交流构建并在聊天之外生成,因此聊天的上下文保持原样。当终端在对话轮次后失去焦点约 30 分钟,且有足够的对话量时,Codex 会自动生成一个回顾。你可以通过 tui.auto_recap = false 关闭此功能,同时保留手动命令。
使用 recap 来找准方向,在需要空间时使用 /compact。将工作背后的决策保存在每个会话都能读取的地方。