Codex/ChatGPT 反复 Reconnecting(正在重新连接) 5/5 的最简修复方法
问题现象
Codex Desktop 在新建或恢复任务后,第一次发送消息时反复显示正在重新连接:

关键是5次连接之后就自动连上了,好像也不是网络连接的问题。
Reconnecting... 1/5
Reconnecting... 2/5
...
Reconnecting... 5/5
像这样,等待一段时间后又开始正常思考,任务仍能正常执行,但每次开始前都会产生明显延迟。
问题背景
OpenAI Codex 仓库的 Issue #24045 记录了相同现象。日志显示,Codex 会先尝试通过 WebSocket 连接 Responses 服务;如果 WebSocket 建连超时,就会连续重试,最后回退到 HTTP/SSE。任务能够继续执行,是因为 HTTP/SSE 通道仍然可用。
常见链路可以概括为:
WebSocket 建连超时
→ Codex 连续重试
→ 显示 Reconnecting 1/5 到 5/5
→ 自动回退到 HTTP/SSE
→ 任务恢复正常
解决路线一:交给 Codex 或其他 Agent 工具处理
省流,将本文链接直接发送给 Codex 或任意能够读写本机文件、执行命令的 AI Agent,再附上这句提示词:
请阅读本文,先以只读方式判断我的 Codex 重连问题是否与文中描述一致。若一致,请按文中解决路线二的步骤:备份配置、完成修复并验证结果;若不一致或证据不足,则不要修改任何文件并告诉我原因。
由于配置文件位于用户目录,Agent 可能会请求写入权限。批准后,它可以完成备份、修改和检查。Codex Desktop 可能需要重启才能生效。
解决路线二:手动强制使用 HTTP
1. 备份配置文件
Codex 的用户配置文件位于:
%USERPROFILE%\.codex\config.toml
USERPROFILE 代表 Windows 提供的环境变量,表示当前登录用户的主目录,通常是 C:\Users\用户名。
如果实在找不到这个位置,Codex 设置页中“配置 → 打开 config.toml”打开的就是这个文件。


不熟悉命令行的话,手动复制一份加个.bak的后缀,方便未来如果有需要还能找到恢复。
下面的备份命令不会修改该文件,而是在同一目录中复制出一个名为 config.toml.bak 的备份文件。
在 PowerShell 中,可以直接使用完整路径执行备份:
Copy-Item "C:\Users\你的用户名\.codex\config.toml" "C:\Users\你的用户名\.codex\config.toml.bak"
如果使用 Git Bash:
cp "/c/Users/你的用户名/.codex/config.toml" "/c/Users/你的用户名/.codex/config.toml.bak"
执行前,需要把命令中的 你的用户名 替换为实际的 Windows 用户名。
2. 修改默认 provider
打开 config.toml,找到:
model_provider = "openai"
改为:
model_provider = "openai_http"
3. 添加 HTTP provider
在顶层配置项之后、第一个 TOML 表格段之前加入:
[model_providers.openai_http]
name = "OpenAI HTTP only"
base_url = "https://chatgpt.com/backend-api/codex"
wire_api = "responses"
requires_openai_auth = true
supports_websockets = false
如果文件中已有 [projects.*]、[plugins.*] 等配置,建议把上面的内容放在这些段落之前。
这项配置会关闭当前 provider 的 WebSocket,直接使用 HTTP/SSE。其他模型、项目和插件配置不需要修改。
4. 重启并验证
完全退出 Codex Desktop,包括后台进程,然后重新打开并创建一个新任务。
可以在 PowerShell 中运行:
codex doctor --summary --ascii
正常结果应包含:
[ok] config loaded
[ok] websocket Responses WebSocket is not enabled for the active provider
[ok] reachability active provider endpoints are reachable over HTTP
如果终端中的 codex 不是桌面版自带的同一版本,以新任务是否还出现 Reconnecting 1/5...5/5 作为最终验证结果。
恢复原配置
如果需要恢复 WebSocket,将:
model_provider = "openai_http"
改回:
model_provider = "openai"
然后删除 [model_providers.openai_http] 整段配置并重启 Codex。也可以直接用备份文件覆盖当前的 config.toml。
更多推荐


所有评论(0)