Codex 重置全指南:上下文爆满、卡住、历史清不掉,怎么处理

发布时间:2026/7/30 19:48:04
Codex 重置全指南:上下文爆满、卡住、历史清不掉,怎么处理
Codex 的重置不是一个命令而是四个场景下四种不同的操作上下文满了要压缩或新开、想换任务要清空历史、关了终端想恢复上次进度、彻底删掉某段对话历史。每种场景对应不同的命令用错了要么上下文没真正清掉要么把本来还能恢复的进度搞丢。本文逐场景拆解附完整命令速查表。先搞清楚Codex 的上下文是什么Codex 每次对话都维护一个上下文窗口Context Window。每条消息、每段代码、每次工具调用都会往里塞内容窗口装满之后就会报错Codex ran out of room in the models context window. Start a new thread or clear earlier history before retrying.这不是 bug是 LLM 的硬性限制。Codex 的底层模型有 token 上限超出之后必须处理——要么压缩历史、要么新开会话、要么恢复一个更早的检查点。理解这一点后面所有的重置操作就有了判断依据。四个命令四种重置/compact压缩上下文不清空继续干活适合场景上下文快满了但当前任务没做完不想丢掉进度。/compactCodex 会把当前会话的历史对话总结成一段摘要用摘要替换原始对话记录释放 token 空间然后你可以继续当前任务。这是最不伤进度的操作。建议在启动一个新的大段任务前主动执行而不是等到报错再用——主动压缩时你还能控制哪些内容被保留被动报错时就只能被动处理了。执行后用/status确认空间是否释放/status/status会显示当前会话的 token 用量、使用的模型、审批策略等信息。压缩后 token 数字应该明显下降。/new新建对话同一会话上下文清空适合场景当前任务做完了换下一个完全不相关的任务不想带着旧上下文干扰新任务。/new在同一个 Codex 进程里开一个新的对话线程旧的历史不再参与模型推理。这不会退出 Codex也不会影响已经创建的文件和代码。和/clear的区别命令清空对话历史清空终端显示退出进程/new✓✗✗/clear✓✓✗CtrlL✗✓✗注意CtrlL只是滚动终端视图让屏幕看起来干净上下文完全没有清空模型还记得所有历史。很多人以为按了 CtrlL 就重置了其实什么都没变。/clear完全重置清空历史 清空终端适合场景彻底换任务不需要保留任何旧上下文同时希望终端看起来干净。/clear等价于/newCtrlL。执行后当前对话历史在模型上下文里消失终端显示也清空。Codex 进程本身继续运行配置文件~/.codex/config.toml和 AGENTS.md 不受影响。codex resume恢复上一次会话适合场景关掉终端后想接着上次做到一半的任务继续。# 直接恢复最近一次会话当前目录下codex resume--last# 打开会话选择器手动选择codex resume# 恢复所有目录的会话不限当前目录codex resume--last--allCodex 会把每次会话保存在~/.codex/下codex resume --last跳过选择器直接跳到最近一次。在会话内部也可以用/resume命令打开选择器切换到任意历史会话。限制resume 恢复的是会话的历史记录上下文但如果上次会话的上下文本身已经很长恢复后可能立刻接近 token 上限这时候接着用/compact压一下再继续。上下文爆满的完整处理流程遇到 「Codex ran out of room」 错误时按这个顺序判断情况 A当前任务还没完成想继续/compact # 压缩历史释放 token /status # 确认 token 用量降下来了 继续输入任务如果/compact后还是满的说明当前对话实在太长需要/new # 新建对话 手动把关键上下文粘贴回来比如我在做 X 功能目前的实现是…情况 B当前任务刚好做完准备换下一个/new # 或 /clear看是否需要清终端 直接开始新任务情况 C刚关掉终端想恢复codex resume--last进去后用/status看 token 用量如果接近上限再/compact一次。用 AGENTS.md 避免重置后「失忆」Codex 每次新开对话/new或重启进程当前项目的背景信息都会从模型上下文里消失。每次都要手动重述「这个项目是干什么的」既费时间又浪费 token。解决方案是 AGENTS.md在项目根目录放一个AGENTS.md文件Codex 每次启动时会自动读取把里面的内容作为初始上下文加载。# 让 Codex 帮你生成 AGENTS.md 框架/initAGENTS.md 适合写的内容项目简介1-2 句话技术栈和约定语言、框架、测试工具关键限制「不要修改 src/core/ 目录」「提交前必须跑 npm test」常用的上下文环境变量、API 端点格式有了 AGENTS.md/new和codex resume后的新对话都能快速恢复项目语境不需要重新解释背景。这比靠 resume 恢复长上下文更可靠也不消耗大量 token。彻底删除历史对话如果你想删掉某段包含敏感代码或密钥的历史会话而不只是清空当前上下文ChatGPT App 方式Codex 云端会话打开 ChatGPT App → 侧边栏找到 Codex 会话列表 → 悬停在会话标题上 → 点击垃圾桶图标删除。CLI 本地会话Codex CLI 的本地会话存在~/.codex/目录下可以直接删除对应的会话文件。注意删除后codex resume就找不到这条记录了操作不可逆。# 查看本地会话文件ls~/.codex/# 删除某个会话文件替换为实际文件名rm~/.codex/sessions/session-id.json重置后的配置检查/clear、/new和重启 Codex 进程都不会改动配置文件——~/.codex/config.toml里的 provider 设置、model 设置在重置后依然有效。但如果你在重置过程中同时升级了 Codex 版本偶尔会遇到配置格式不兼容的情况这时候用/debug-config查配置层是否加载正确/debug-config配置有问题时比较常见的是自定义model_provider的base_url或env_key写法变了。七牛云开发者文档整理了常见 AI 编程工具包括 Codex、Claude Code 等的配置示例遇到配置问题可以参考 developer.qiniu.com/aitokenapi/13195/AI-Coding。命令速查表场景命令说明上下文快满继续当前任务/compact压缩历史不清空继续工作换任务清空上下文/new新对话同一进程终端不清换任务 清终端/clear新对话 清空终端显示只清终端视图不重置上下文CtrlL仅视觉清空上下文完整保留恢复上一次会话codex resume --lastCLI 命令进程外执行选择历史会话恢复codex resume打开选择器会话内切换历史/resume在对话框内打开会话选择器查看 token 用量/status确认上下文是否释放成功检查配置是否正常/debug-config排查 provider 配置问题生成项目说明模板/init初始化 AGENTS.md常见问题Q/compact之后Codex 还记得前面做过什么吗记得但以摘要的形式。压缩不是删除而是把长对话浓缩成一段结构化摘要模型依然能从摘要里读取关键信息继续工作。如果任务逻辑很复杂压缩后可能丢失一些细节这时候用/mention重新附上关键文件补充上下文。Q关掉终端后 Codex 会话还在吗本地 CLI 会话会保存到~/.codex/目录下次用codex resume --last可以找回来。但会话里的后台终端进程通过/ps管理的会在你关掉终端后终止正在执行的命令不会自动恢复。QCodex 的 token 限制是多少取决于底层使用的模型。用/status可以看到当前会话的 token 用量和模型名称具体上限可在 OpenAI 官方文档里查对应模型的 context window 规格。QAGENTS.md 会消耗多少 tokenAGENTS.md 的内容在每次会话启动时被加载进上下文文件越长消耗越多。建议控制在 500-1000 词以内只写最关键的约定和限制。过长的 AGENTS.md 反而会更快触发 token 上限。小结Codex 的重置本质上是上下文管理。四个命令分工明确/compact是省钱的继续方式/new和/clear是换任务的方式codex resume --last是跨会话的接力方式。配合 AGENTS.md 把项目上下文写死在文件里就能让每次新会话都能快速恢复工作状态不再依赖长上下文存活。延伸阅读Codex CLI 官方功能文档developers.openai.com/codex/cli/featuresCodex slash 命令完整列表github.com/openai/codex/blob/main/docs/cli-reference.md主流 AI 编程工具配置大全Codex / Claude Code provider 配置参考developer.qiniu.com/aitokenapi/13416/tools-claude-code-configuration-instructions