Codex 客户端 Reconnecting 5/5 解决方法
适用场景:Codex 客户端每次新建会话、发送第一句话时,都会先出现
Reconnecting 1/5到Reconnecting 5/5,等待一段时间后又能正常返回结果。同一个会话后续继续提问通常正常,但新开会话后又会重复这个现象。
问题现象
常见表现如下:
Reconnecting 1/5
Reconnecting 2/5
Reconnecting 3/5
Reconnecting 4/5
Reconnecting 5/5
这个问题的特点是:并不是完全无法使用,而是新会话第一句话经常要等待多次重连。重连结束后,当前会话后续交互又基本正常。
原因分析
Codex 客户端在使用 Responses API 时,底层可能会优先尝试 WebSocket 连接。
WebSocket 适合长连接和实时交互,但它对运行环境、网络链路和中间设备的兼容性要求更高。部分环境中,普通 HTTPS 请求可以正常工作,但 WebSocket 建连不稳定。
于是就可能出现下面的流程:
新会话第一句话
↓
客户端尝试建立 WebSocket 连接
↓
WebSocket 建连失败
↓
触发 Reconnecting
↓
多次重试
↓
回退到 HTTPS Streaming
↓
开始正常返回结果
这也解释了为什么同一个会话后续提问一般正常:当前会话在重试后已经切换到了可用的 HTTP 流式传输路径。
解决思路
如果问题集中出现在“新会话第一句话 WebSocket 建连阶段”,可以直接让客户端跳过 WebSocket,改用 HTTPS Streaming。
核心配置是:
supports_websockets = false
同时继续保留 Responses API:
wire_api = "responses"
也就是说,这个方法不是更换模型,也不是切换到旧接口,而是让 Responses API 使用更兼容的 HTTP 流式传输方式。
修改方法
打开 Codex 配置文件:
~/.codex/config.toml
Windows 一般对应:
C:\Users\你的用户名\.codex\config.toml
在配置文件中加入下面内容:
model_provider = "openai_http"
[model_providers.openai_http]
name = "OpenAI HTTP"
wire_api = "responses"
requires_openai_auth = true
supports_websockets = false
保存后,完全退出 Codex 客户端,再重新打开。
配置说明
model_provider
model_provider = "openai_http"
指定当前使用自定义的 openai_http provider。
wire_api
wire_api = "responses"
表示继续使用 Responses API。
requires_openai_auth
requires_openai_auth = true
表示该 provider 仍然使用原有认证方式。
supports_websockets
supports_websockets = false
这是关键配置。
它会让客户端认为当前 provider 不支持 WebSocket,从而跳过 WebSocket 建连流程,直接使用 HTTP Streaming。
修改前后效果
修改前:
新会话第一句话
等待 Reconnecting 1/5 到 5/5
最后才开始返回结果
修改后:
新会话第一句话
直接进入 HTTP Streaming
减少或避免 Reconnecting 等待
注意事项
- 修改后需要完全退出并重新打开客户端。
- 如果仍然出现重连,先确认配置文件路径是否正确。
- 如果同时存在全局配置和项目级配置,需要检查是否被其他配置覆盖。
- 这个方法主要解决 WebSocket 建连不稳定导致的重连,不处理账号、权限、服务状态或本机网络不可用等其他问题。
- 请在符合相关服务条款和所在地法律法规的前提下使用。
如何回滚
如果想恢复默认行为,可以删除或注释掉下面这段配置:
model_provider = "openai_http"
[model_providers.openai_http]
name = "OpenAI HTTP"
wire_api = "responses"
requires_openai_auth = true
supports_websockets = false
然后重启客户端即可。
总结
如果 Codex 客户端出现“每个新会话第一句话都要 Reconnecting 5 次,之后又能正常使用”的情况,可以优先排查 WebSocket 建连问题。
一个简单有效的处理方式是:
supports_websockets = false
让客户端直接使用 Responses API 的 HTTP Streaming 路径,减少 WebSocket 首连失败带来的等待。
更多推荐


所有评论(0)