> 🤖 Agents 工具使用交流 > 💬 如果你在使用 **Codex / Claude Code / OpenClaw / Hermes** 等 Agents 工具时遇到问题, > 欢迎在评论区留言交流,或添加我的微信一起探讨。 > 🛠️ **力所能及范围内,可免费帮忙排查和修复 Bug!** > 📮 **微信:CPT_KENVIE** 最近在使用 Codex 时,遇到过两类都很容易被误判的 `stream disconnected before completion` 报错: 第一类是连接 OpenAI 兼容中转站时,中转站 `base_url` 后面少了 `/v1`: ```text stream disconnected before completion: stream closed before response.completed ``` 第二类是使用 **官方 ChatGPT Plus 会员登录** 后,Codex CLI 访问官方接口时出现网络中断: ```text stream disconnected before completion: error sending request for url (https://chatgpt.com/backend-api/codex/responses) ``` 注意:如果你是官方会员登录,报错后面带的是: ```text https://chatgpt.com/backend-api/codex/responses ``` 这种情况就不是中转站 `/v1` 的问题,而更可能是**梯子 / 网络代理 / HTTPS 证书链校验**导致的。 ## 问题现象一:中转站流式响应中断 在 Codex 中配置中转站后,请求可以发出去,但生成过程会突然中断,并出现类似报错: ```text stream disconnected before completion: stream closed before response.completed ``` 常见表现包括: - 响应还没有完成就被关闭; - 流式输出中途断掉; - Codex 提示 `response.completed` 之前 stream 已关闭; - 换模型不一定能解决。 如果你用的是 OpenAI 兼容格式的中转站,这时候优先检查 `base_url`。 ## 根因一:中转站 Base URL 少了 `/v1` Codex 这类客户端通常会基于 `base_url` 拼接 OpenAI 兼容接口路径。 如果配置成: ```toml base_url = "https://xxx.com" ``` 实际请求路径可能就不是中转站期望的 OpenAI API 路径。 很多中转站真正兼容的是: ```text https://xxx.com/v1 ``` 也就是说,少了 `/v1` 后,请求虽然可能能到达服务端,但接口路径不完整,容易导致流式响应异常、提前关闭或无法正确返回完成事件。 ## 解决方法一:中转站地址加 `/v1` 打开 Codex 配置文件: ```text C:\Users\用户名\.codex\config.toml ``` 找到里面的 `base_url` 配置。 把原来的: ```toml base_url = "https://xxx.com" ``` 改成: ```toml base_url = "https://xxx.com/v1" ``` 保存后重新启动 Codex,再重新发起请求即可。 示例配置: ```toml base_url = "https://xxx.com/v1" ``` 重点就是:**中转站地址后面要带 `/v1`**。 ## 问题现象二:官方 Plus 登录后访问官方接口断开 还有一种情况,是用 **官方 ChatGPT Plus 会员登录** Codex CLI 后报错: ```text stream disconnected before completion: error sending request for url (https://chatgpt.com/backend-api/codex/responses) ``` 这里要看清楚,后面是官方接口: ```text https://chatgpt.com/backend-api/codex/responses ``` 如果你已经是 Plus 会员,并且 Codex 登录流程本身也完成了,那就不要第一时间怀疑账号权限或额度。这个错误更像是 Codex CLI 到 `chatgpt.com` 的网络链路不稳定,尤其是代理、梯子或证书链出了问题。 ## 证书校验异常示例 手动执行网络探测命令时,也可能出现证书校验错误: ```bash curl https://chatgpt.com/backend-api/codex/responses ``` 报错示例: ```text curl: (60) schannel: SEC_E_UNTRUSTED_ROOT (0x80090325) - 证书链是由不受信任的颁发机构颁发的。 ``` 这类现象说明,Codex CLI 表面上是“流式响应中断”,但底层更可能是 **HTTPS/TLS 证书链校验失败**,而不是单纯的账号权限、套餐或额度问题。 尤其是在 Windows 环境下,`curl` 可能走 Schannel / 系统证书库。如果代理软件、系统根证书、企业代理证书、杀毒软件 HTTPS 扫描、透明代理等环节有问题,就可能导致证书链不被信任。 ## 解决方法二:更换梯子 / 代理节点 如果你遇到的是官方 Plus 登录后的这个报错,优先按下面顺序排查: 1. **更换梯子或代理节点**,优先换成稳定支持 ChatGPT 的节点; 2. 关闭会劫持 HTTPS 的代理模式、杀毒软件 HTTPS 扫描、浏览器安全代理等功能; 3. 用浏览器打开 `https://chatgpt.com`,查看证书颁发者是否正常; 4. 在命令行重新执行: ```bash curl -I https://chatgpt.com ``` 如果 TLS 已经正常,通常会返回 HTTP 状态码和 Cloudflare 相关响应头;哪怕是 `403`,也说明证书握手大概率已经通过了。 对于 Codex CLI 来说,最直接有效的处理方式通常就是:**更换梯子 / 更换代理节点 / 换一条干净的网络链路**。 ## 快速判断:到底是 `/v1` 问题,还是梯子问题? 可以直接按报错里的 URL 判断: | 报错特征 | 更可能的原因 | 优先处理 | | --- | --- | --- | | 使用中转站,报 `stream closed before response.completed` | 中转站接口路径或流式转发异常 | 检查 `base_url` 是否带 `/v1` | | 报错里出现 `https://chatgpt.com/backend-api/codex/responses` | 官方 ChatGPT 接口访问失败 | 优先换梯子 / 代理节点 | | `curl` 报 `SEC_E_UNTRUSTED_ROOT` | HTTPS/TLS 证书链不被信任 | 排查代理证书、系统证书、杀毒 HTTPS 扫描 | | `curl -I https://chatgpt.com` 返回 403 | TLS 大概率已通过,只是被 Cloudflare 拦截 | 说明证书层面可能已不是硬阻塞 | 简单说: - **中转站地址**才看 `/v1`; - **官方 Plus 登录**看到 `chatgpt.com/backend-api/codex/responses`,先看网络和梯子; - 出现证书链错误时,不要只重装 Codex,先处理代理链路。 ## 推荐排查命令 可以按下面顺序测试: ```bash curl -I https://chatgpt.com ``` 再测试 Codex 官方接口: ```bash curl https://chatgpt.com/backend-api/codex/responses ``` 如果出现: ```text SEC_E_UNTRUSTED_ROOT ``` 重点检查这几项: 1. 当前梯子节点是否对 ChatGPT 友好; 2. 是否开启了全局代理、TUN、系统代理,但命令行没有正确走代理; 3. 代理软件是否安装了自签 CA 证书,但 Windows 不信任; 4. 杀毒软件、企业网关、HTTPS 扫描是否替换了证书; 5. 换节点后,重新打开一个新的终端再测试 Codex。 ## 不建议的处理方式 不建议直接用下面这类方式绕过证书校验: ```bash curl -k https://chatgpt.com/backend-api/codex/responses ``` `-k` 只能说明“忽略证书后能不能连上”,不能真正解决 Codex CLI 的问题。Codex CLI 正常运行时仍然需要可信的 HTTPS 链路,所以最终还是要回到:**更换梯子、修复代理证书、修复系统证书信任链**。 ## 小结 如果 Codex 出现 `stream disconnected before completion`,不要只看前半句,要看后面的请求地址和错误内容。 ### 情况一:中转站配置 如果报错类似: ```text stream disconnected before completion: stream closed before response.completed ``` 并且你使用的是 OpenAI 兼容中转站,优先检查: 1. `base_url` 是否以 `/v1` 结尾; 2. API Key 是否正确; 3. 中转站是否支持 OpenAI 兼容接口; 4. 中转站或反向代理是否支持流式响应; 5. 是否存在超时或网关提前断开连接。 其中最容易忽略、也最常见的就是:**`base_url` 少写了 `/v1`**。 ### 情况二:官方 Plus 会员登录 如果报错类似: ```text stream disconnected before completion: error sending request for url (https://chatgpt.com/backend-api/codex/responses) ``` 并且你用的是官方 ChatGPT Plus 会员登录,那么重点排查: 1. 梯子 / 代理节点是否稳定; 2. HTTPS/TLS 证书链是否被代理软件或本机环境破坏; 3. `curl https://chatgpt.com/backend-api/codex/responses` 是否出现 `SEC_E_UNTRUSTED_ROOT`; 4. 是否需要更换节点、关闭 HTTPS 扫描或换一条网络。 这种情况的核心结论是:**不是 `/v1` 问题,优先更换梯子;如果出现证书链错误,再重点排查 HTTPS/TLS 信任链。** Loading... > 🤖 Agents 工具使用交流 > 💬 如果你在使用 **Codex / Claude Code / OpenClaw / Hermes** 等 Agents 工具时遇到问题, > 欢迎在评论区留言交流,或添加我的微信一起探讨。 > 🛠️ **力所能及范围内,可免费帮忙排查和修复 Bug!** > 📮 **微信:CPT_KENVIE** 最近在使用 Codex 时,遇到过两类都很容易被误判的 `stream disconnected before completion` 报错: 第一类是连接 OpenAI 兼容中转站时,中转站 `base_url` 后面少了 `/v1`: ```text stream disconnected before completion: stream closed before response.completed ``` 第二类是使用 **官方 ChatGPT Plus 会员登录** 后,Codex CLI 访问官方接口时出现网络中断: ```text stream disconnected before completion: error sending request for url (https://chatgpt.com/backend-api/codex/responses) ``` 注意:如果你是官方会员登录,报错后面带的是: ```text https://chatgpt.com/backend-api/codex/responses ``` 这种情况就不是中转站 `/v1` 的问题,而更可能是**梯子 / 网络代理 / HTTPS 证书链校验**导致的。 ## 问题现象一:中转站流式响应中断 在 Codex 中配置中转站后,请求可以发出去,但生成过程会突然中断,并出现类似报错: ```text stream disconnected before completion: stream closed before response.completed ``` 常见表现包括: - 响应还没有完成就被关闭; - 流式输出中途断掉; - Codex 提示 `response.completed` 之前 stream 已关闭; - 换模型不一定能解决。 如果你用的是 OpenAI 兼容格式的中转站,这时候优先检查 `base_url`。 ## 根因一:中转站 Base URL 少了 `/v1` Codex 这类客户端通常会基于 `base_url` 拼接 OpenAI 兼容接口路径。 如果配置成: ```toml base_url = "https://xxx.com" ``` 实际请求路径可能就不是中转站期望的 OpenAI API 路径。 很多中转站真正兼容的是: ```text https://xxx.com/v1 ``` 也就是说,少了 `/v1` 后,请求虽然可能能到达服务端,但接口路径不完整,容易导致流式响应异常、提前关闭或无法正确返回完成事件。 ## 解决方法一:中转站地址加 `/v1` 打开 Codex 配置文件: ```text C:\Users\用户名\.codex\config.toml ``` 找到里面的 `base_url` 配置。 把原来的: ```toml base_url = "https://xxx.com" ``` 改成: ```toml base_url = "https://xxx.com/v1" ``` 保存后重新启动 Codex,再重新发起请求即可。 示例配置: ```toml base_url = "https://xxx.com/v1" ``` 重点就是:**中转站地址后面要带 `/v1`**。 ## 问题现象二:官方 Plus 登录后访问官方接口断开 还有一种情况,是用 **官方 ChatGPT Plus 会员登录** Codex CLI 后报错: ```text stream disconnected before completion: error sending request for url (https://chatgpt.com/backend-api/codex/responses) ``` 这里要看清楚,后面是官方接口: ```text https://chatgpt.com/backend-api/codex/responses ``` 如果你已经是 Plus 会员,并且 Codex 登录流程本身也完成了,那就不要第一时间怀疑账号权限或额度。这个错误更像是 Codex CLI 到 `chatgpt.com` 的网络链路不稳定,尤其是代理、梯子或证书链出了问题。 ## 证书校验异常示例 手动执行网络探测命令时,也可能出现证书校验错误: ```bash curl https://chatgpt.com/backend-api/codex/responses ``` 报错示例: ```text curl: (60) schannel: SEC_E_UNTRUSTED_ROOT (0x80090325) - 证书链是由不受信任的颁发机构颁发的。 ``` 这类现象说明,Codex CLI 表面上是“流式响应中断”,但底层更可能是 **HTTPS/TLS 证书链校验失败**,而不是单纯的账号权限、套餐或额度问题。 尤其是在 Windows 环境下,`curl` 可能走 Schannel / 系统证书库。如果代理软件、系统根证书、企业代理证书、杀毒软件 HTTPS 扫描、透明代理等环节有问题,就可能导致证书链不被信任。 ## 解决方法二:更换梯子 / 代理节点 如果你遇到的是官方 Plus 登录后的这个报错,优先按下面顺序排查: 1. **更换梯子或代理节点**,优先换成稳定支持 ChatGPT 的节点; 2. 关闭会劫持 HTTPS 的代理模式、杀毒软件 HTTPS 扫描、浏览器安全代理等功能; 3. 用浏览器打开 `https://chatgpt.com`,查看证书颁发者是否正常; 4. 在命令行重新执行: ```bash curl -I https://chatgpt.com ``` 如果 TLS 已经正常,通常会返回 HTTP 状态码和 Cloudflare 相关响应头;哪怕是 `403`,也说明证书握手大概率已经通过了。 对于 Codex CLI 来说,最直接有效的处理方式通常就是:**更换梯子 / 更换代理节点 / 换一条干净的网络链路**。 ## 快速判断:到底是 `/v1` 问题,还是梯子问题? 可以直接按报错里的 URL 判断: | 报错特征 | 更可能的原因 | 优先处理 | | --- | --- | --- | | 使用中转站,报 `stream closed before response.completed` | 中转站接口路径或流式转发异常 | 检查 `base_url` 是否带 `/v1` | | 报错里出现 `https://chatgpt.com/backend-api/codex/responses` | 官方 ChatGPT 接口访问失败 | 优先换梯子 / 代理节点 | | `curl` 报 `SEC_E_UNTRUSTED_ROOT` | HTTPS/TLS 证书链不被信任 | 排查代理证书、系统证书、杀毒 HTTPS 扫描 | | `curl -I https://chatgpt.com` 返回 403 | TLS 大概率已通过,只是被 Cloudflare 拦截 | 说明证书层面可能已不是硬阻塞 | 简单说: - **中转站地址**才看 `/v1`; - **官方 Plus 登录**看到 `chatgpt.com/backend-api/codex/responses`,先看网络和梯子; - 出现证书链错误时,不要只重装 Codex,先处理代理链路。 ## 推荐排查命令 可以按下面顺序测试: ```bash curl -I https://chatgpt.com ``` 再测试 Codex 官方接口: ```bash curl https://chatgpt.com/backend-api/codex/responses ``` 如果出现: ```text SEC_E_UNTRUSTED_ROOT ``` 重点检查这几项: 1. 当前梯子节点是否对 ChatGPT 友好; 2. 是否开启了全局代理、TUN、系统代理,但命令行没有正确走代理; 3. 代理软件是否安装了自签 CA 证书,但 Windows 不信任; 4. 杀毒软件、企业网关、HTTPS 扫描是否替换了证书; 5. 换节点后,重新打开一个新的终端再测试 Codex。 ## 不建议的处理方式 不建议直接用下面这类方式绕过证书校验: ```bash curl -k https://chatgpt.com/backend-api/codex/responses ``` `-k` 只能说明“忽略证书后能不能连上”,不能真正解决 Codex CLI 的问题。Codex CLI 正常运行时仍然需要可信的 HTTPS 链路,所以最终还是要回到:**更换梯子、修复代理证书、修复系统证书信任链**。 ## 小结 如果 Codex 出现 `stream disconnected before completion`,不要只看前半句,要看后面的请求地址和错误内容。 ### 情况一:中转站配置 如果报错类似: ```text stream disconnected before completion: stream closed before response.completed ``` 并且你使用的是 OpenAI 兼容中转站,优先检查: 1. `base_url` 是否以 `/v1` 结尾; 2. API Key 是否正确; 3. 中转站是否支持 OpenAI 兼容接口; 4. 中转站或反向代理是否支持流式响应; 5. 是否存在超时或网关提前断开连接。 其中最容易忽略、也最常见的就是:**`base_url` 少写了 `/v1`**。 ### 情况二:官方 Plus 会员登录 如果报错类似: ```text stream disconnected before completion: error sending request for url (https://chatgpt.com/backend-api/codex/responses) ``` 并且你用的是官方 ChatGPT Plus 会员登录,那么重点排查: 1. 梯子 / 代理节点是否稳定; 2. HTTPS/TLS 证书链是否被代理软件或本机环境破坏; 3. `curl https://chatgpt.com/backend-api/codex/responses` 是否出现 `SEC_E_UNTRUSTED_ROOT`; 4. 是否需要更换节点、关闭 HTTPS 扫描或换一条网络。 这种情况的核心结论是:**不是 `/v1` 问题,优先更换梯子;如果出现证书链错误,再重点排查 HTTPS/TLS 信任链。** 最后修改:2026 年 06 月 05 日 © 允许规范转载 打赏 赞赏作者 赞 8 如果觉得我的文章对你有用,请随意赞赏