报错定位:外层提示不指向根因

“Codex connection failed”属于请求发送环节失败的上层提示,无法据此判定故障发生在连接建立、TLS握手还是数据上传阶段,也不能断言服务端未收到任何数据。只有结合完整后缀、失败端点以及请求实际运行的进程,才能将排查导入相应分支。

不同完整形态对应不同归属,需分别处理:

  • 仅含“error sending request”的外层提示:指向请求发送过程失败,按本文主线分流。
  • 带“stream disconnected before completion”的/responses端点:属于普通推理请求,进入后续分支。
  • /responses/compact:远程压缩任务,需单列处理,不能与普通请求共用成因。
  • auth.openai.com/oauth/token:登录令牌交换环节,应转向Codex登录排查。
  • 用量检查与路由发现接口:反映账号与用量状态,用于辨别故障范围,不等同于推理失败。
  • 第三方域名或本地网关:属于自定义上游,需核查该上游与代理配置。

分流依据集中在三处:失败URL、底层异常信息、请求实际发生在哪个进程。对照表仅用于缩小范围,最终仍需底层日志确定分支;外层提示相同不代表同一处故障,完整后缀不同则归属可能不同。

排查顺序:固定证据与单变量对照

进入具体分支前,应按固定顺序收集证据:

  1. 保存完整原文、版本、认证模式与失败URL,做脱敏处理,不公开token与代理密码。
  2. 确认Codex进程运行在本机、WSL、SSH还是容器中;浏览器在哪台机器工作不代表请求进程的位置。
  3. 核对官方事件的时间与入口是否匹配,历史已恢复事件不能解释当下的每一次失败。
  4. 同账号同版本下,用短新会话对照原会话、用原生环境对照WSL,一次只改变一个变量。
  5. 依据底层日志进入代理残留、TLS过滤、IPv4与IPv6路径等分支;没有证据不要求用户改DNS、删凭证或重装。

验收以实际请求和任务完成为准:页面能打开或拿到HTTP 401都不足以认定恢复。对于自有出口只有一条、无法区分本地与线路因素的团队,应先排除本地分支,再评估企业级跨境线路方案。

WSL场景:与Windows原生环境对照

适用条件为Windows桌面端访问WSL项目时报错,网页可用但Codex反复重连。有报告者在2026年10月27日的最终反馈中表示,桌面端访问WSL项目时出现问题,改用Windows原生环境后恢复;此为单人反馈,尚未定位到WSL内的具体配置项。

若场景相同,可保存代码与任务状态后,在同账号同版本下用独立空目录做原生与WSL对照,不将Linux专属项目直接硬迁。仅在原生成功时,再检查WSL进程实际继承的代理、DNS、证书与凭证。

成功判定:原生完成请求且WSL可重复失败,可暂用原生工作,但尚未隔离到具体配置项。反例同样存在:有人更换两条网络路径仍失败,也有人更换代理后成功,不能合并为“都是代理坏了”。若原生也失败,应退出WSL专属分支,检查本机共有的过滤、账号与官方事件,不宜轻易断言WSL是根因;逐项修正WSL继承的代理、DNS或证书差异才是完整走法。该对照不证明WSL普遍不支持Codex,且须保持同账号同版本。

代理配置与TLS过滤分支

存在自定义代理中间层时,应核对实际选中的配置。一位报告者的中间层代理在Codex设置中配错,完全移除后恢复;此为单人有效案例,仅装过这类中间层才执行本分支。操作时备份配置,核对provider与baseURL是否仍走旧代理,修正后退出重开验证;若仍失败,转查系统层TLS过滤,即使没有代理环境变量也不能排除系统过滤。

旧版安全软件过滤TLS是多域名TLS故障子型的另一条分支:部分Windows 11用户(CLI 0.163.0及桌面端)多域名TLS均失败,同机浏览器与curl正常,WebSocket出现10054,卸载旧版Kaspersky Internet Security并重启后恢复,doctor报告23项ok、0项fail。该结论属单人反馈补充案例,不是这条报错的统一修复方案;应按厂商迁移流程升级旧安全产品、保留防护重启验证,本文并非永久关闭防护的教程。

证书变量、IPv6路径与未确认分支

证书环境变量残留

有报告者卸载重装并清除CODEX_CA_CERTIFICATE与SSL_CERT_FILE后恢复,但复合操作中的有效因素尚未隔离。应核对变量是否指向过时的PEM文件;企业网络自定义CA应使用IT提供的有效PEM信任链,修正后重启进程复验。更不可删除整个.codex目录。

特定IPv6路径异常

部分macOS用户报告小GET可用、大POST失败,对照发现上传卡在特定地址,临时禁用IPv6或覆盖解析后恢复。该证据为单人自报、尚无维护者确认,64–200KB仅为该环境的观察值;只做可回退的小调整并复测,双栈都失败即停止该方向。未认证请求返回401只说明到达HTTP响应层,不证明登录正确或模型任务可用,也不能认定Cloudflare或OpenAI哪个组件负责,不应让所有人长期关闭IPv6。

常见问题

  • 这条报错一定是网络问题吗?不一定,它只表示请求发送过程失败,失败点可能在连接、TLS握手或上传途中。
  • WSL里反复报这条错怎么对照?用独立空目录跑原生与WSL对照:原生成功、WSL可重复失败,再查WSL继承的代理、DNS与证书差异。
  • 多域名TLS都失败要卸载安全软件吗?不必急于卸载,旧版安全软件的TLS过滤只是一条分支,应按厂商迁移流程升级并重启验证。
  • 禁用IPv6或清证书变量算已验证修复吗?两者均来自单人自报、尚无维护者确认,只做可回退的小调整并复测。

总结

Codex connection failed表示请求发送过程失败,失败点可能在连接、TLS握手或上传途中。应固定证据、单变量对照,按运行环境、代理、TLS过滤、证书变量与IP路径进入分支,以请求和任务完成验收,未确认分支不套用通用结论。当同账号同版本任务的多路径对照支持线路因素时,再评估替代线路;IPxSS海外AI网络以毫秒级加速通道承接固定出口,属对照变量而非必要条件,详情可参见 https://www.ipxss.com/ 。