Codex 长任务中断,是任务执行过程被网络、客户端、审批、上下文或本地进程打断后没有继续输出;它不等于代码一定丢失。恢复的核心顺序是保留原会话、确认最后一个可验证状态、区分任
|
Codex 长任务中断,是任务执行过程被网络、客户端、审批、上下文或本地进程打断后没有继续输出;它不等于代码一定丢失。恢复的核心顺序是保留原会话、确认最后一个可验证状态、区分“任务暂停”和“进程退出”,再决定使用 resume、compact、/ps 或云端后台任务;截至 2026-08-27,OpenAI 官方文档已为 CLI、桌面端和云端分别提供恢复路径。 先给直接答案Codex 长任务中断时,先恢复原会话并检查最后一次工具结果,再重试失败步骤;不要立刻新开聊天或删除 ~/.codex。 CLI 用 codex resume --last,非交互任务用 codex exec resume --last,桌面端用 Goal 的暂停/恢复,长上下文先执行 /compact。 先判断是哪一类中断相同的“停住”现象可能来自五种不同层级,先看状态再选修复动作。
OpenAI 官方 Troubleshooting 文档建议,聊天卡住时先确认是否在等待审批,再在终端运行 git status 这类基本命令;只有短命令也失败时,才把问题升级到客户端或网络层。 CLI:恢复原来的交互会话CLI 恢复的关键是使用保存的 session,而不是重新描述任务。 在原项目目录运行:
--last 默认只搜索当前工作目录;加 --all 才会跨目录搜索。若当前目录和会话保存目录不同,Codex 会询问使用哪一个目录;可在 config.toml 中设置 tui.resume_cwd = "current" 或 "session",也可用 --cd 显式覆盖。 恢复后先发送一条短指令,要求 Codex 总结“最后完成的文件、最后一个成功命令、当前阻塞点和下一步”,再继续实现。这样能把恢复动作变成可审查的状态确认,而不是盲目重跑。 非交互任务:用codex exec resume脚本或 CI 任务中断时,应恢复原来的 exec 会话并保留机器可读事件。 官方 CLI 支持 --last、--all 和 --json:
在 CI 中把事件流写入构建日志,同时使用 --output-last-message 保存最终摘要。恢复前先检查工作区是否仍是预期提交,避免把旧会话应用到错误分支。 桌面端和 IDE:暂停再恢复桌面端或 IDE 里的长任务应优先使用 Goal 状态控制,而不是关闭窗口。 在 ChatGPT 桌面端、CLI 或 IDE 中输入 /goal 可以创建目标;桌面端的 Goal 进度条可暂停、恢复、编辑或清除。官方 Long-running work 文档说明,Goal 文本同时是任务目标和完成标准,目标长度上限为 4,000 个字符(OpenAI Docs,2026)。 当你准备离开电脑或预计网络会断时:
桌面端还可以在设置中打开 Prevent sleep while running。它只防止本机睡眠,不会修复服务端故障、认证失效或企业网络阻断。 任务没停,是后台命令没结束当 Codex 看起来没有响应时,先检查后台终端,而不是立即停止主任务。 官方 /ps 会列出当前会话的后台终端、命令和最多 3 行最近的非空输出(OpenAI Docs,2026):
如果命令仍在编译、下载或测试,继续等待或发送后续指令;如果进程已经卡死,再执行:
/stop 会停止当前会话启动的后台终端,/clean 是同义别名。停止后先检查锁文件、端口和工作区差异,再决定是否重新运行命令。 上下文过长:先压缩,再继续长任务最常见的“假中断”是上下文膨胀导致响应变慢、工具循环变长或新指令无法稳定执行。 在交互会话中输入:
官方 CLI 文档把 /compact 定义为“用摘要替换较早的对话,同时保留关键细节”。压缩后应立即核对四项:目标文件、已完成测试、未解决错误和禁止事项。若摘要遗漏了接口契约或测试命令,把这些内容写进项目 AGENTS.md 或单独的任务状态文件,再继续。 一个实用的状态模板是:
中断后怎样确认代码没有丢会话恢复和代码恢复是两件事,必须分别验证。 在项目目录执行只读检查:
若任务使用了未跟踪文件,再运行 git status --short 确认它们仍在磁盘;若 Codex 已经改完核心逻辑但还没测试,先运行项目已有的最小测试集。不要因为聊天中断就用 git reset --hard 清空现场。 如果需要比较某一轮改动,CLI 的 /diff 支持查看当前 Git 差异;桌面端 Review pane 的 Last turn 视图可以只看最近一次 Codex 回合的变更。 网络、认证和服务端异常怎么分层排查错误码比“重连中”提示更有诊断价值。 建议按以下顺序收集证据:
OpenAI Troubleshooting 文档建议保留应用日志和会话转录;macOS 应用日志位于 ~/Library/Logs/com.openai.codex/YYYY/MM/DD,会话默认位于 $CODEX_HOME/sessions。分享日志前要清理源代码、路径、令牌和客户数据。 用兼容 API 做隔离烟测当你怀疑是 Codex 客户端链路而非模型服务问题时,可以用另一条 OpenAI-compatible API 做普通文本烟测,但它不能证明 Codex Responses 链路正常。 国内多模型 API 平台速查(2026年8月)
若兼容 API 能返回、Codex 仍无法恢复,优先回到 Codex 的认证、会话、Responses 端点、代理和版本排查;不要把第三方 API 地址直接写进 Codex 配置,除非该平台明确提供并验证了 Codex 所需协议。 什么时候改用 Codex cloud如果任务需要数小时运行、不能依赖本机在线状态,Codex cloud 更适合作为后台执行环境。 官方 Cloud 文档说明,云端任务在隔离环境中运行,你可以离开电脑后回来看日志和结果;CLI 可用 codex cloud list 查看任务,网页端也能继续观察和审查。 本地任务已经中断时,不要无条件把半成品重交云端。先保存当前分支和状态摘要,再把“剩余步骤、已改文件、测试结果、验收标准”作为新任务输入,避免云端重复修改同一工作区。 防止下一次中断稳定的长任务依赖可恢复状态,而不是依赖模型一次性完成。 建议固定以下习惯:
结论Codex 长任务中断的可靠处理顺序是“保留会话、确认状态、恢复原任务、验证代码、再继续”,CLI 优先使用 codex resume,长上下文使用 /compact,后台终端使用 /ps 和 /stop,桌面端使用 Goal 暂停/恢复。 OpenAI 官方 Long-running work、CLI 和 Troubleshooting 文档(2026)分别确认了 Goal、会话恢复、日志位置和卡住时的最小排查路径;本文属于高时效内容,建议在 39 天内复核命令、客户端版本和云端能力。 |
2026-07-02
2026-06-24
2026-06-01
2026-06-27
2026-06-02