CODEX 上下文排障 先保住项目状态,再看错误后缀决定怎么修

REMOTE COMPACT TASK / CONTEXT COMPACTION

Codex Error running remote compact task 怎么办?/compact 与上下文压缩排查

Error running remote compact task 只是“压缩任务失败”的总提示。真正决定处理路线的是后面的 stream disconnected、404、429、context window、timeout 或 provider 信息。先保存工作,再按错误后缀分流。

发布于 2026 年 7 月 21 日 · 阅读约 16 分钟

30 秒分流:先读 remote compact task 后面的文字

完整错误里的关键部分更合理的判断下一步
stream disconnected before completion压缩请求的响应流中断服务、网络、TLS、provider、版本分流
unexpected status 404 Not Found模型、端点、路由或第三方路径不匹配记录 URL、模型、认证与 provider
429 Too Many Requests套餐 Usage、API 限流/账单或上游限流停止并发重试,检查恢复时间与 request ID
input exceeds the context window请求输入超过当前模型可处理窗口减少输入,保存状态后压缩或换新会话
timeout waiting for child process to exit子进程或本地任务没有及时退出记录相关命令,先保存再做最小复现
expected exactly one compaction output item压缩输出形状异常,更像客户端/服务端实现故障保留版本、request ID 和复现,避免删会话文件
只显示 Automatically compacting context可能仍在处理,也可能已卡住观察是否仍有活动;不要继续追加大输入

不要只截最后一行。Google 结果里同一个总提示后面可以接断流、404、429、上下文超限和实现错误;把它们全部归因于“网络”“额度”或“上下文太长”都会走错路线。

Codex 上下文压缩是什么?/compact 会做什么?

长任务会不断累积用户消息、模型回复、工具调用和输出,最终接近当前模型的上下文窗口。OpenAI 对原生压缩的说明是:模型分析之前的会话状态,生成节省 Token 的压缩项,并让后续窗口继续携带关键状态和高价值信息;Codex 使用这一机制维持长时间、多步骤任务。

OpenAI 当前 Slash commands 文档把 /compact 定义为“压缩当前聊天的上下文”,把 /status 定义为显示聊天 ID、上下文使用和速率限制。命令会因环境和权限而异,应以你当前客户端输入 / 后显示的列表为准。

/status
/compact

压缩不是删除聊天,也不是给套餐充值;它是把当前对话中需要继续工作的状态重新表示。压缩可能省出窗口,但不保证把每个细节都原样保留,所以关键决策不应只存在聊天记录里。

官方参考:Codex Slash commands当上下文窗口填满时:自动压缩

出现错误后,先用 3 分钟保住当前工作

  1. 不要继续粘贴日志、图片或重复消息

    这会继续占用窗口,也会让同一压缩任务反复触发。

  2. 把未落盘的结论写进项目文件

    把目标、已完成项、关键路径、下一步和验证结果写入项目内的 Markdown、计划或 issue;只写必要状态,不复制整段聊天。

  3. 保存代码与可恢复点

    检查工作树,运行与改动相称的测试;适合提交时建立清晰 commit,不适合提交时至少保存补丁或明确列出未提交文件。

  4. 记录诊断信息

    保存 Codex 版本、系统、客户端、发生时间、完整错误、request ID、认证方式、模型和 provider;截图前脱敏。

  5. 用新建的最小任务对照

    如果新任务正常而原长会话稳定失败,问题更可能与当前会话状态或压缩路径有关;所有任务都失败则优先看服务、账号、网络与配置。

后缀是 stream disconnected:不要只处理“上下文长度”

Error running remote compact task: stream disconnected before completion 表示压缩请求已经进入流式响应阶段,但没有正常完成。它和普通 Codex 回答断流共享部分排查路径:

  1. OpenAI Status,记录同一时间是否有 Codex、ChatGPT 或 API 事件。
  2. 同账号新建最小会话,比较 App、CLI 或 IDE 中是否都失败。
  3. 确认使用 ChatGPT 登录、API Key 还是自定义 provider,并记录实际请求端点。
  4. 企业设备检查 DNS、TLS 检查、防火墙与代理策略;不要关闭证书校验。
  5. 更新客户端后仍复现,保存 request ID 和版本,用 /feedback 提交脱敏日志。

如果只有压缩失败而普通短回答正常,也不能据此断定本地网络完全正常:压缩请求的路径、持续时间和请求规模可能不同。完整网络路线见Codex stream disconnected 与 Reconnecting 排查

公开故障参考:openai/codex #13784。公开 issue 能证明相同症状存在,不能证明每个环境的根因相同。

后缀是 404 或 429:按 HTTP 语义走,不要无限重试

状态优先核对不要做什么
404 Not Found模型 ID、认证方式、默认或自定义 endpoint、base_url、provider 路径和后端事件不要把 404 当 DNS 失败;不要仅靠重装覆盖有效配置
429 Too Many RequestsChatGPT Codex Usage、API RPM/TPM、项目预算/账单、共享模型限制、第三方上游不要开并发循环;失败重试本身也可能继续消耗速率窗口

404 的完整 URL 很关键:ChatGPT 登录后端、OpenAI API 和第三方 provider 不是同一套可用模型与路由。先用当前客户端的模型选择和配置状态核对,再进入Codex Model not found / 404 专题

429 也不自动等于“余额为零”。有 API 余额仍可能达到请求速率、Token 速率、项目预算或模型共享限制;ChatGPT 登录则要看 Codex Usage 与恢复时间。完整分流见Codex 429 / Too Many Requests 专题

公开故障参考:404 示例 #26910429 重试耗尽示例 #15468

context window 满了:减少原始输入,比盲目追 1M 更可靠

搜索结果里常见“258K”“1M 上下文”“关闭自动压缩”等固定说法,但模型、客户端、访问资格和实验功能会变化。应以当前官方模型资料、/model/status 为准,不把第三方文章里的数值写成所有账号永久规则。

  • 把大日志放在文件中让 Codex 按关键词和范围读取,不要把数万行终端输出直接贴进聊天。
  • 排除生成目录依赖、构建产物、缓存和二进制文件不应反复进入上下文。
  • 让任务有阶段性产物计划、决策、接口约束和待办落在仓库文件或 issue 中,压缩后仍可核对。
  • 每阶段做简短交接记录目标、事实、改动、验证、风险和下一步,不复制全部历史。
  • 超大任务拆成可验证单元拆分不是为了少做,而是让每个阶段都有独立证据和恢复点。

更大的窗口仍是有限窗口,也仍可能触发压缩。真正降低失败成本的是把关键状态外置、减少无效工具输出,并在接近限制前主动整理。

自动压缩一直卡住、timeout 或输出项异常怎么处理?

先判断界面是否真的停止:仍有命令、工具或子进程运行时,强制结束可能留下不完整文件。若长时间没有新活动,按以下顺序处理:

  1. 保存工作树和诊断信息

    先保住成果,再进行任何退出、重启或会话迁移。

  2. 确认是否只有当前会话

    新建最小任务对照;不要把一个损坏会话扩大成整机重装。

  3. 检查仍在运行的命令

    timeout waiting for child process to exit 时记录相关命令、运行环境和超时前操作,不要连续杀掉不明进程。

  4. 更新后做一次可回滚复现

    记录更新前后版本;不要同时清缓存、改 provider、换模型和换网络,否则无法确认是哪一步有效。

  5. 输出项异常直接保留证据

    expected exactly one compaction output item 更像实现层错误,应保存 request ID、会话类型和复现,不要手工改会话 JSON。

公开故障参考:remote compaction v2 输出项异常 #28592。错误文字和版本可能继续变化,应以当前日志为准。

什么时候用 /compact、/fork,什么时候新开任务?

动作适合场景边界
/compact当前会话仍可操作,需要主动压缩上下文压缩服务本身失败时可能继续失败
/fork已保存项目状态,希望把本地聊天复制到新聊天或 worktree 做隔离不会自动修复账号、网络或 provider
新任务需要验证是不是只有当前会话损坏或过大先写交接,不要依赖模型猜回全部历史
/feedback稳定复现客户端或服务端故障上传前确认日志已脱敏

搜索结果里还会出现第三方会话恢复工具、删除缓存目录或直接编辑 Session JSON。它们可能更改本地状态、读取项目内容或接触凭证,不能作为通用第一步。若必须尝试第三方工具,先审查源码、权限、数据流和备份方式,并在不含机密的复制环境中验证。

反馈 remote compact task 的最小证据清单

发生时间与时区:
Codex / App / CLI / IDE 版本:
操作系统与运行侧:Local / WSL / SSH / Codespaces
认证方式:ChatGPT / API Key(不要填写密钥)
模型与 provider:默认 / 自定义(写脱敏域名)
完整错误:从第一行到最后一行
request ID:
当前会话特征:大致时长、图片、日志、工具输出
影响范围:当前会话 / 所有会话 / 所有客户端
最小复现:

官方命令列表包含 /feedback,用于打开反馈流程并可选择附带日志。不要公开 auth.json、API Key、Session、Cookie、MFA、设备代码、完整本地路径或项目源码。

Codex 上下文压缩与 remote compact task 常见问题

Codex Error running remote compact task 是什么意思?

它表示 Codex 在压缩当前会话上下文时任务失败;这一行只是任务名称,不是唯一根因。应继续读取后面的 stream disconnected、404、429、context window、timeout 或 provider 错误,再进入对应分支。

Codex 一直显示 Automatically compacting context 或自动压缩上下文卡住怎么办?

先停止继续发送大段输入,记录版本、发生时间和完整错误,用 /status 查看上下文使用情况,并确认是否只有当前长会话失败。若新建最小任务正常,先把未保存结论写入项目文件或提交,再尝试手动 /compact/fork

Codex /compact 命令有什么作用?

OpenAI 当前 Slash commands 文档把 /compact 定义为压缩当前聊天的上下文。可用命令会因环境和访问权限而异,因此应以当前客户端输入斜杠后显示的命令列表为准。

Codex 提示 context window exceeded 或 input exceeds the context window 怎么办?

先减少一次性粘贴的日志、图片和生成文件,把长期状态保存到仓库文档中,再在可用时执行 /compact。若当前会话已无法压缩,保存工作后用 /fork 或新任务继续,并把必要上下文写成简短交接。

remote compact task 后面是 stream disconnected before completion 怎么办?

这属于压缩请求的响应流在完成前中断,应先查服务状态,再对照同账号的新会话、其他客户端和一条正常网络,并检查 TLS、代理、自定义 provider 和版本。它不自动等于上下文太长或套餐额度不足。

remote compact task 返回 unexpected status 404 Not Found 怎么办?

记录完整 URL、模型、认证方式和 provider。404 更偏向模型或端点不匹配、旧模型、第三方 base_url 路径或后端路由问题;不要继续按普通网络断开处理,也不要凭一条 404 重装整个客户端。

remote compact task 返回 429 Too Many Requests 怎么办?

先区分 ChatGPT 登录下的 Codex Usage、API Key 的速率或账单限制,以及第三方 provider 的上游限流。停止并发重试,保留 request ID 和恢复时间;有 API 余额也不能排除 RPM、TPM、项目预算或共享模型限额。

remote compact task 提示 timeout waiting for child process to exit 怎么办?

先保存当前工作,记录是否有仍在运行的命令或工具以及完整超时文本,避免连续强制结束多个进程。比较新会话和最小任务;若仅当前会话稳定复现,可在保存状态后 fork,并把版本、日志和复现步骤反馈给 OpenAI。

Codex 压缩失败时可以直接 /fork 吗?

当前官方 Slash commands 文档说明 /fork 会把本地聊天复制到新的本地聊天或 worktree。它适合在当前会话反复失败且工作已保存时做隔离恢复,但不能替代排查账号、网络、provider 或服务端问题。

升级 ChatGPT Plus 或 Pro 能解决 Codex 上下文压缩失败吗?

通常不能作为通用修复。只有报错明确属于 Codex Usage 或套餐访问资格时,套餐才相关;404、断流、TLS、provider、客户端回归和压缩服务异常不会因重复充值自动消失。

Codex 怎么开启 1M 上下文,能避免自动压缩吗?

不要照搬第三方文章中的固定模型或实验开关。可用模型、上下文窗口和访问资格会变化,应以当前官方模型页面、客户端 /model/status 为准;更大的窗口也不代表永远不需要压缩。

向 OpenAI 反馈 remote compact task 需要提供什么?

提供发生时间和时区、Codex 与系统版本、客户端类型、认证方式、默认或自定义 provider、完整脱敏错误、request ID、当前上下文大致规模、是否含大量图片或工具输出、最小复现和影响范围。不要公开 auth.json、API Key、Session、Cookie 或项目机密。

和充值的关系:只有错误明确指向 Codex Usage、套餐资格或 Credits 时,才进入用量查询额度恢复。技术错误不应通过重复付款试错。
确认是套餐用量问题后先查 Usage,再决定是否升级

如果只是 404、断流、TLS 或压缩实现故障,重复充值不会修复技术问题。

查看套餐与价格