← 返回信息流
Agent SkillLINUX DO · AI·1 小时前

Codex频繁显示“正在重新连接”:改用HTTPS通道修复

原标题:如果你的 Codex 经常出现「正在重新连接4/5」

速览

用户反馈Codex主Agent和子Agent经常出现“正在重新连接”提示,等待后恢复正常。原因是Codex默认使用WebSocket通道,而WebSocket不稳定。解决方案是在配置文件中将model_provider改为openai_http,并禁用WebSocket支持。该修复仅适用于原生订阅,第三方API尚未测试。

AI 深度解读

背景

在使用 OpenAI Codex(包括其主 agent 和 subagent)时,部分用户频繁遇到连接不稳定的问题,具体表现为界面提示「正在重新连接 4/5」或类似状态,等待一段时间后连接才恢复正常。这种断连现象严重影响了 Codex 的连续使用体验,尤其是在需要长时间交互或复杂任务执行的场景中尤为突出。

核心内容

问题的根本原因在于 Codex 默认的 OpenAI 服务提供商会优先使用 WebSocket 通道进行通信,而 WebSocket 连接在某些网络环境或订阅配置下并不稳定,容易发生断开或重连失败。

针对该问题,社区用户(来源:LINUX DO · AI)提出了一种经过验证的解决方案:通过修改 Codex 的配置文件,强制使用 HTTP 协议(HTTPS 通道)代替 WebSocket 协议,从而消除由于 WebSocket 不稳定导致的连接问题。

具体操作步骤如下:

  1. 在配置文件中新增或修改 model_provider 参数,将其值设置为 "openai_http",表示使用 HTTP 协议的服务提供者。
  2. 在文件末尾追加一个新的模型提供者配置块 [model_providers.openai_http],并设置如下参数:
    • name = "OpenAI":指定提供者名称。
    • wire_api = "responses":指定 API 类型为 responses(原生订阅所需)。
    • requires_openai_auth = true:表示需要 OpenAI 原生订阅认证。
    • supports_websockets = false:显式关闭 WebSocket 支持,强制走 HTTPS 通道。

修正后的完整配置示例(仅展示关键部分):

approvals_reviewer = "user"          # Codex 权限
model_provider = "openai_http"       # 强制使用 HTTPS 通道

[sandbox_workspace_write]            # Codex 权限
network_access = true

[model_providers]

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

需要注意:该方案仅适用于 OpenAI 原生订阅用户,对于第三方 API 接入的情况尚未经过测试。社区用户反馈,按照上述配置修改后,Codex 的「正在重新连接」问题再也没有出现过。

关键要点

  • 问题根源:Codex 默认使用 WebSocket 通道(由 OpenAI provider 自动选择),而 WebSocket 在不稳定网络中容易导致断连。
  • 解决方案:将 model_provider 改为 openai_http,并显式设置 supports_websockets = false,强制使用 HTTPS 通道。
  • 配置位置:需要在 Codex 配置文件中追加 [model_providers.openai_http] 块,并确保 wire_api = "responses" 与原生订阅认证对应。
  • 适用范围:仅限 OpenAI 原生订阅用户,第三方 API 接入尚未验证。
  • 效果验证:社区用户实测后问题消失,连接稳定性显著提升。

意义与影响

该发现对于依赖 Codex 进行开发或 AI 交互的用户具有实际价值。首先,它揭示了 Codex 默认通信协议选择的一个潜在缺陷,帮助用户理解「正在重新连接」背后的技术原因。其次,提供了一种简单、可复现的配置修改方法,无需修改代码或更换网络,即可显著改善使用体验。最后,该方案也提醒广大用户:在遇到类似连接问题时,可以从协议层面(如 WebSocket 与 HTTP 的切换)入手排查,而不仅仅是归咎于网络质量或服务器故障。对于使用第三方 API 的用户,虽未直接验证,但该思路也提示了可能的调试方向——未来若有类似问题,可尝试关闭 WebSocket 支持或改用 HTTP 兼容的 provider 配置。

查看原文 →linux.do