Auto-generated English stub on 2026-04-24. Replace with a proper translation.
title: "2025 修复方案:"your input exceeds the context window" | 3步解决 + Token优化" description: "32K/128K Token 限制解决方案,针对 'stream disconnected before completion: your input exceeds the context window' 错误,提供3个经过验证的步骤:新建会话、codex resume --last、/compact 回退方案。包含2025年11月自动审批操作手册以减少 Token 浪费。" date: 2026-02-13 keywords: ["Codex", "OpenAI", "context window", "ran out of room", "stream disconnected", "stream disconnected before completion", "error fix", "beginner", "troubleshooting", "transport error", "auto approval", "TodoWrite"] tags: ["OpenAI", "Codex CLI", "Error Resolution", "Troubleshooting", "Beginner Guide", "Stream Error"] categories: ["generative-ai/chatgpt", "Codex CLI"]
2025 修复方案:"your input exceeds the context window" | 3步解决 + Token优化¶
当 Codex CLI 显示 "stream disconnected before completion: your input exceeds the context window of this model. please adjust your input and try again." 时,通过 32K/128K Token 限制解决方案和三个步骤在30秒内修复:新建会话(98%成功率),使用 codex resume --last 选择性恢复,然后尝试 /compact 作为回退方案——另附 Token 节省技巧以保持低用量。
本指南的适用人群¶
- Codex CLI 初学者(使用不到1个月)
- 被"context window exceeded"错误阻碍的用户
- 遇到"stream disconnected"问题的用户
快速修复:3个官方推荐步骤¶
按照 CLI 提示信息和文档推荐的顺序操作:先重置会话,再选择性恢复历史记录。
步骤 1:新建会话¶
# 使用 Ctrl+C 退出当前会话
# 然后重新启动 Codex
codex
ℹ️ 为什么这是第一步 - 错误信息本身就告诉你 "Start a new conversation or clear earlier history before retrying." (openai/codex#4926) - 清除缓冲区可恢复完整的上下文窗口,消除大多数溢出重试。
步骤 2:使用 codex resume --last 仅恢复所需内容¶
# 恢复最近的会话
codex resume --last
💡 官方文档命令 官方"入门指南"将
codex resume --last列为重新打开上一个会话的支持方式 (docs/getting-started.md)。 在步骤1之后,当你需要上下文片段但不想恢复整个对话记录时使用此命令。
步骤 3:尝试 /compact(如果仍然失败,返回步骤1)¶
# 在 Codex 提示符中
/compact
⚠️ 已知限制 -
/compact会就地压缩历史记录,但在当前版本中仍不稳定,相关问题在 openai/codex#4868 中跟踪。 - 如果没有变化,请重新启动会话而不是无休止地重试。
了解根本原因¶
以下面向初学者解释这些错误发生的原因。
什么是上下文窗口?¶
可以将其理解为 AI 对话的临时"工作记忆"。它存储你的聊天历史和文件内容。当这块记忆被占满时,就会出现错误。
常见原因¶
- 对话过长
长时间会话会积累聊天历史,填满记忆
加载文件过多
一次性读取大量项目文件会迅速占满记忆
连接中断(stream disconnected)
- 当 AI 长时间思考时,网络会认为其无响应并断开连接
预防技巧¶
养成以下习惯以避免未来出现错误:
- 每30分钟新建会话:在长时间工作中定期重置
- 最小化文件选择:仅加载必要的文件
- 拆分大型编辑:将多文件编辑分散到不同会话中
🆕 2025年11月:自动审批友好操作手册¶
ℹ️ 上下文窗口溢出是一个常见问题,因此我们将反复出现的修复方案整合成了可复用的自动审批操作手册。
| 步骤 | 操作内容 | 目的 |
|---|---|---|
| 1. 记录基线快照 | 在会话开始时运行 codex --full-auto --transcript analysis/20251108_context.jsonl | 捕获前后差异 |
| 2. 通过 TodoWrite 分块 | 将 TodoWrite 清单拆分为每次 Codex 交互不超过3条 | 防止提示词膨胀 |
| 3. 恢复宏命令 | 将 codex resume --last && /compact 保存为 shell 别名以便即时重试 | 缩短恢复时间 |
# context-window-safe.sh
codex --full-auto --transcript analysis/$(date +%Y%m%d)_context.jsonl <<"TASKS"
1. TodoWrite: <paste task URL>
2. Execute step A (<= 3 checklist bullets)
3. Attach transcript path back to TodoWrite
TASKS
TodoWrite 的金丝雀规则
每个分块完成后运行 gh issue comment <ISSUE> --body "Progress: step N completed":它会告诉团队成员哪些提示已经执行过,避免重复提交导致上下文窗口膨胀。
最新更新(截至 2025-10-23)¶
- Codex CLI 0.48.0 于 2025-10-23 发布,新增基于 tokenizer 的
unified_exec截断路径,减少了报告剩余 Token 与实际限制之间的差异 (发布说明, PR #5514)。 - 同一版本添加了本地 tokenizer 和更丰富的事件流更新,改善了历史管理和断线恢复 (PR #5508, PR #5470)。
- Windows/WSL 用户应参考 PR #5307 中更新的说明;如果传输错误持续存在,请先升级,然后排查 VPN、杀毒软件过滤或网络路径上的 HTTP 压缩问题。
故障排除指南¶
| 症状 | 即时处理 | 详情 |
|---|---|---|
| /compact 不起作用 | 尝试方法1(新建会话) | 版本相关的功能问题 |
| stream disconnected | 尝试方法1(新建会话) | 重置连接 |
| 频繁出错 | 拆分任务 + 定期重置 | 单次会话中工作量过大 |
| ran out of room | 尝试方法1(新建会话) | 上下文已满 |
进阶:技术详情¶
截至 2025-10-24 的变更内容(点击展开)
- Codex CLI 0.48.0(2025-10-23 发布)现在使用真实 tokenizer 截断
unified_exec,减少了报告 Token 预算与实际限制之间的偏差 (PR #5514)。 - 同一版本添加了本地 tokenizer 支持、更丰富的事件流和 TUI 优化,更容易从断线中恢复和查看历史记录 (PR #5508, PR #5470)。
- OpenAI 官方文档强调 Responses API Background 模式适用于长时间任务,客户端无需无限期保持 SSE 连接 (指南)。
- Windows/WSL 传输错误仍在 GitHub 上活跃;请升级到 0.48.0,应用更新的 WSL 说明 (PR #5307),并排查路径上的 VPN/杀毒软件/HTTP 压缩。
当前高频触发因素(点击展开)
- SSE 空闲超时(Cloudflare 100秒,ALB 默认60秒)
- 长时间推理期间没有 SSE 事件;中间设备终止连接;CLI 显示
stream disconnected。 - 响应流解码失败
Transport error: error decoding response body出现在 Windows/WSL 或长时间会话中,通常由压缩/检查中间设备干扰导致。- TPM/RPM 速率限制伪装为断线
- 实际的 429 响应在重试时感觉像是流中断。
- 上下文窗口溢出
- GPT-5-Codex 级别模型暴露了 400k Token 窗口,但测量偏差或压缩失败仍可能使请求超出限制。
各中间设备的默认空闲超时(点击展开)
| 设备/服务 | 默认空闲时间 | 备注 |
|---|---|---|
| Cloudflare(Free/Pro) | 约100秒 | 100秒后返回524。考虑绕过、Workers 或更高级别套餐用于 SSE。 |
| AWS Application Load Balancer | 60秒(可配置为1-4000秒) | 为 SSE 工作负载提高到180-300秒或更高。 |
| Azure Application Gateway for Containers | 300秒(5分钟) | 配合 keep-alive 注释使用。 |
| 企业代理/安全网关 | 视产品而定 | HTTP 检查/压缩可能损坏 SSE 数据块。 |
错误片段:根本原因和缓解措施(点击展开)
idle timeout waiting for SSE / stream closed before response.completed¶
- 根本原因:长时间静默阶段加上中间设备空闲策略。
- 缓解措施:
- 将长时间任务迁移到 Responses API Background 模式,避免依赖 SSE 流 (指南)。
- 将空闲限制提高到 180-300 秒以上(ALB 通过
idle_timeout.timeout_seconds设置)。 - 对于 Cloudflare,绕过边缘节点,使用 Workers/更高级别套餐,或通过以下虚拟载荷发送 keep-alive 注释。
: - 更新到最新版 Codex CLI(如 0.48.0)以利用 tokenizer 修复和内置
responses-api-proxy。
Transport error: error decoding response body¶
- 根本原因:数据块损坏、压缩/检查中间设备或长时间连接。
- 缓解措施:保持最新版 CLI,禁用 HTTP 压缩/检查,通过
responses-api-proxy路由,使用指数退避重试。
Request too large for ... / This request is over the organization TPM/RPM¶
- 根本原因:速率限制或 Token 上限。
- 缓解措施:缩小输入(使用摘要、更精确的文件选择、分阶段工作流),限制并发数,申请更高配额,使用退避重试。
Your input exceeds the context window¶
- 根本原因:实际溢出或估计限制与实际限制不匹配。
- 缓解措施:使用最新版 CLI 的基于 tokenizer 的截断和
/status,收紧include/exclude,必要时拆分会话。
Codex CLI 0.48.0 要点(2025-10-23)(点击展开)
- 基于 tokenizer 的
unified_exec截断使报告 Token 预算与实际限制保持同步(PR #5514)。 - 本地 tokenizer 和更丰富的事件改善了历史可见性和重连流程(PR #5508, PR #5470)。
- WSL 指南更新记录了 Windows 传输问题的修复方案(PR #5307)。
- responses-api-proxy 仍然内置,提供稳定的官方支持 SSE 隧道。
为什么 Background 模式很重要(点击展开)
- Background 模式将长时间运行的工作异步交给 Responses API,客户端通过轮询或接受 webhook 获取结果。
- 无需持久 SSE 连接,Cloudflare/ALB 空闲策略基本变得无关紧要。
- 重复的重量级任务不再需要客户端维持脆弱的实时流。
输入和速率限制的最佳实践(点击展开)
- 使用
include/exclude丢弃不必要的文件,在各阶段之间压缩提示。 - 将大型工作流分阶段执行,之后合并结果以节省上下文。
- 降低推理级别或要求中间输出以减少长时间静默。
- 将 TPM/RPM 监控与指数退避和有计划的任务节奏配合使用。
Windows / WSL 传输错误(点击展开)
- 公开 issue 仍然报告
Transport error: error decoding response body。网络压缩、杀毒软件扫描或 VPN 跳转是常见原因。 - 结合最新版 CLI、中和中间设备和退避策略;避免声称单一明确原因。
即时检查清单(2025-10-24 版)(点击展开)
- 通过
npm i -g @openai/codex@latest、brew upgrade codex或发布二进制文件将 Codex CLI 升级到最新版(0.48.0 或更新版本)。 - 将长时间任务转移到 Background 模式以最小化 SSE 暴露。
- 调整中间设备的空闲/keep-alive 设置(Cloudflare 100秒限制,ALB ≥180秒,Azure AGW 5分钟)。
- 采用
responses-api-proxy或在中间代理上禁用压缩/检查。 - 实施输入压缩和分阶段执行,当静默时间占主导时调整推理级别。
- 强化速率限制管理:限制并发数,记录用量,应用指数退避。
- 监控日志,通过
tail -F ~/.codex/log/codex-tui.log并与 Request ID 关联分析。
附录:32-33% 上下文窗口问题(点击展开)
- 尽管报告显示还有剩余空间但请求仍然失败的边缘情况仍然存在。CLI 0.48.0 的 tokenizer 改进降低了发生频率但尚未完全消除。
- 实用建议:监控
/status,将剩余上下文的约80%视为软上限,在/compact正常工作时使用它,重构提示,或新建会话。