← 返回知识库

AI 工作流

Codex 每次都卡在“正在重新连接 5/5”?把这段话发给它,让它自己修

不用自己翻配置文件。把下面这段任务单整段发给 Codex,它会自己判断环境、自己改配置、自己核一遍,你只在它做不到的三件事上出手。

本文目录 按章节阅读

排查时可核对的官方说明

先选与你正在使用的客户端和现象相符的说明,再决定下一项检查。

配置基础与加载顺序高级配置配置字段参考登录与鉴权桌面应用常见问题

导读

Codex 每次开始回答前都空转 5 次“正在重新连接”,然后才吭声。网上搜到的做法大多是让你打开配置文件、自己加几行、自己核对。不用这么干。

这一次你不用改任何文件。把下面这段整段发给 Codex,它会自己判断你是哪种环境、自己改配置、自己核一遍,然后告诉你是谁的问题、哪一步必须你自己做。

需要你亲手做的只有三件事,都是它做不到的(重启它自己、看界面上的字)。写在第一节后面。

先说清楚两件事。第一,它卡的这一下跟网络快不快关系不大,跟它用哪种方式连服务器有关,所以换节点没用。第二,下面这套做法我在自己的机器上验证过,所以敢写成能直接用的版本。

把这段话整段发给 Codex

复制下面整块,原样发给它:

左右滑动查看完整代码

我这边的 Codex 每次开始回答前都会空转 5 次“正在重新连接”才开始回答,已经影响到正常使用。请你按下面的顺序处理,做完给我结论。

第一步:判断我的环境属于哪一种,别猜,把判断依据列给我。
- A 官方订阅:我用 ChatGPT 账号登录,没有自己配中转过。
- B 中转 / 代理环境:我配了 base_url、走第三方中转,或者本机挂着代理。
如果你判断不出来,先把你看到的依据列出来问我一句,不要直接改文件。

第二步:动手前先备份。
把 ~/.codex/config.toml 复制一份(如果 ~/.codex/.env 存在也一并备份),并告诉我备份文件的路径。

第三步:按判断结果处理。
A 情况(官方订阅):在 ~/.codex/config.toml 里加上下面几行,model_provider 这一行必须放在文件最外层,
不要放进任何 [ ] 段落里面,其余几行放文件最后。

model_provider = "openai_http"

[model_providers.openai_http]
name = "OpenAI HTTP only"
wire_api = "responses"
requires_openai_auth = true
supports_websockets = false

B 情况(中转 / 代理):先确认你自己实际在用哪个代理端口(不要照抄我给的值),把
HTTP_PROXY / HTTPS_PROXY / ALL_PROXY / NO_PROXY 写进 ~/.codex/.env。写之前告诉我你用哪个端口、为什么是它。

第四步:改完自己核一遍,把这四项结果写进结论。
1. 改完的文件能被正确解析吗(语法、层级都对吗)?
2. A 情况里 requires_openai_auth = true 这一行在不在?它漏了会导致剩余额度不显示。
3. 这次改动有什么副作用?特别是:换了 model_provider 之后,我以前的对话线程会不会从列表里消失?
4. 换回原配置需要几条命令,请写出来。

第五步:给我一份结论,只写四行。
改了哪个文件 / 改了什么 / 哪一步必须我自己做 / 如果做完还不行,下一步该查什么。

除了这件事相关的配置,不要改动其它配置。

它做完会给你一份四行结论。看完那份结论再往下做。

如果它回一句“我不能改你机器上的文件”,把这句话补给它:直接编辑 ~/.codex/config.toml,改完把你改动的行贴给我。

需要你亲手做的三件事

Codex 能改文件、能核对,但下面三件它做不到,所以由你收尾。

  • 彻底退出 Codex,再重新启动。不是关掉窗口。配置只在新进程启动时读一次,只关窗口的话它还在用旧环境。
  • 重启后看两处界面的字。剩余额度还显示吗?以前的对话线程还在列表里吗?这两处只有你能看到,所以 Codex 核不了。哪一项不对,把它截图发给 Codex 让它处理。
  • 开一个新对话。看它还要不要先空转 5 次“正在重新连接”。

三件事做完,这件事就算收尾了。如果还有空转,把现象发回给 Codex,让它继续查。

它改完还不行,或者你想知道它到底改了什么

多数情况下到上一步就结束了。如果你想知道它改的到底是什么,或者想自己动手,那几行就是这些:

左右滑动查看完整代码

model_provider = "openai_http"

[model_providers.openai_http]
name = "OpenAI HTTP only"
wire_api = "responses"
requires_openai_auth = true
supports_websockets = false

对着它有三个坑,Codex 的判断也可能踩到,你可以拿这三条去对一遍:

  • requires_openai_auth = true 不能漏。漏了它,剩余额度信息就不显示了。很多人只看“不重连了”就以为成功,其实是配置没抄全。
  • 换了 provider 之后,旧线程会从列表里看不到。线程是按 model_provider 过滤的。旧对话本身没丢,但你在界面上找不到,第一次遇到会吓一跳。
  • 这条方案有版本差异。最早给出这个配置的人自己说过,某些版本上它会带来别的副作用。所以把它当“试一试”,有效再留着,别当成永久配置。

最后说清楚一件事。这些做法都是绕过,网络路径本身的问题还在,只是 Codex 不再走那条容易抖的路。以后再出现同样的空转,还是先把那段任务单发给它,让它从第一步重新判断,别把两套配置叠在一起。

把用得上的方法,分享给需要的人

如果身边有人也遇到类似问题,可以把这篇文章发给他,一起参考文中的步骤。

接下来怎么做?

可以先按文中的步骤自己试一遍。遇到具体问题,再决定是否需要协助。

继续看知识库 ↗