大家好,我是邵奈一,一个爱折腾的实战派技术博主。
文章对你有帮助是我的荣幸,欢迎评论区交流。
0x00 教程内容
前段时间用 Codex(ChatGPT 桌面端内置的 Codex),每次发起对话前都要先刷一串重连提示,我一度以为是模型在思考,后来才发现是代理问题。根因很直接:Codex 默认直连、不走系统代理,在需要代理才能上网的环境里,直连必然失败,于是反复重试后才回退到代理。
本文的修法对 Codex CLI 与 ChatGPT 桌面端内置的 Codex 都适用,配置文件均为 ~/.codex/config.toml。
修法只有一行配置。下面按"现象 → 修法 → 补全配置 → 细节 → 原理"的顺序讲清楚:
- 0x01 问题现象
- 0x02 解决方法
- 0x03 配置项不存在怎么办
- 0x04 几个容易忽略的细节
- 0x05 原理解释
0x01 问题现象
使用 Codex 时,每次发起对话,在出结果之前都会反复提示:
Reconnecting 1/5
Reconnecting 2/5
Reconnecting 3/5
Reconnecting 4/5
Reconnecting 5/5
短则等几十秒,长则要等上几分钟才出答案,非常影响使用体验。
0x02 解决方法
以 Mac 为例,只需三步:
- 打开 Finder(访达),按快捷键
Shift + Command + G,输入路径~/.codex/config.toml,打开该文件。 - 在
[features]配置段下添加一行:
toml
[features]
respect_system_proxy = true
- 保存
config.toml,然后重启 ChatGPT(Codex)。
再次对话,就不会再出现 Reconnecting 的提示,只会显示 Thinking,而且答案很快就出来了(几乎秒出)。
0x03 配置项不存在怎么办
上面的方法默认 config.toml 里已经有 [features] 段。如果没有,按下面两种情况处理。
情况一:config.toml 存在,但里面没有 features 段
直接把下面两行追加到文件末尾即可:
toml
[features]
respect_system_proxy = true
注意:
[features]是 TOML 的段落标题,整个文件里只能出现一次。如果文件里已经有一行[features],只需在它下面加respect_system_proxy = true,不要重复写段落头。
情况二:~/.codex 目录或 config.toml 文件根本不存在
先在终端里创建目录和文件,再用文本编辑器打开:
bash
mkdir -p ~/.codex
touch ~/.codex/config.toml
open -e ~/.codex/config.toml
然后写入内容保存。一个完整的最小 config.toml 就只有这两行:
toml
[features]
respect_system_proxy = true
0x04 几个容易忽略的细节
true 必须小写。 它是一个布尔值,等号两边不需要加引号。
已有其它配置也不用动。 如果 config.toml 里已经有模型、登录等其它设置,保持原内容不动,把 [features] 段加在文件末尾即可,不影响其它段落。
Windows 路径相同。 Windows 用户路径是 C:\Users\<你的用户名>\.codex\config.toml,改法完全一致。
保存后必须重启。 改完重启 Codex 才会生效,重启后对话应直接显示 Thinking,不再出现 Reconnecting 提示。
0x05 原理解释
问题的根源在于代理上网。Codex 正常逻辑是直连 OpenAI 的服务(默认不走代理),但在需要代理才能上网的环境里,直连必然失败。
于是每次请求都要经历:连接失败 → 等待超时 → 自动重试,反复 5 次之后才切换到代理方式连接成功。所以看到的 Reconnecting 1/5 到 5/5,并不是大模型在"认真思考",而是在反复尝试重建 WebSocket / HTTP 长连接。
新增的 respect_system_proxy = true 配置,意思是让 Codex 不要直连,直接读取系统的代理配置。该选项是 Codex 近期版本才加入的能力,默认关闭;旧版本可能没有此配置项,建议先升级客户端再改。
修改前(直连模式):
请求 → 连接失败 → 等待 → 重试 → 等待 → 重试 → 等待 → 重试 → 等待 → 重试 → 成功
修改后(代理模式):
请求 → 代理 → OpenAI → 立即建立连接 → Thinking → 输出答案
核心就是省掉了所有网络重试的等待时间,所以响应速度明显提升。
0xFF 总结
Codex 反复 Reconnecting 不是模型在思考,而是代理网络下直连失败后的重试。在 ~/.codex/config.toml 的 [features] 段加一行 respect_system_proxy = true,让 Codex 走系统代理,重连提示消失、响应几乎秒出。
一行配置,十秒搞定。
邵奈一 三百篇原创沉淀,十万+读者同行。感谢你的阅读,咱们下篇接着聊。