适用情况
如果您在 macOS 上使用 Anycast 运行 OpenAI Codex CLI 时,出现类似以下情况:
compression error
information compression error
WebSocket connection error
Codex 无法正常请求 OpenAI
可以参考本文进行排查。
本文主要针对 Codex 在 VPN 环境下连接 OpenAI 时出现压缩、连接或 WebSocket 相关错误 的情况。
如果您遇到的是以下问题,则不属于本文范围:
API Key 错误
OpenAI 账号余额不足
Codex 未正确安装
Node.js / npm 环境错误
代码本身运行失败
一、先确认 Anycast 是否正常连接
请先打开 Anycast,并确认已经成功连接 VPN。
建议优先尝试以下类型节点:
住宅 IP 节点
台湾 / 越南 连接 OpenAI 较稳定的节点
不建议一开始使用延迟过高、负载较高,或需要频繁切换的节点。
如果连接后,网页可以正常访问 OpenAI / ChatGPT,但 Codex 仍然报错,请继续下一步。
二、确认 macOS 网络模式设置
在 Anycast macOS 客户端中,建议使用以下基础配置:
代理模式:全局模式 / Global
DNS:Google
macOS 客户端默认使用全域代理,不需要额外选择 TUN/TAP 或 SOCKS 代理模式。
如果您之前修改过 DNS 或代理相关设置,建议先切换回以上基础配置后,再重新测试 Codex。
三、修改 Codex 本地配置
Codex 的配置文件通常位于:
~/.codex/config.toml
在 macOS 中,~ 代表当前用户的个人目录,通常对应:
/Users/您的用户名/
您可以在终端中输入以下命令打开配置文件:
mkdir -p ~/.codex
nano ~/.codex/config.toml
如果文件不存在,系统会在保存时自动新建。
请加入或修改以下内容:
model_provider = "openai-http"
[model_providers.openai-http]
name = "OpenAI HTTP Only"
base_url = "https://api.openai.com/v1"
env_key = "OPENAI_API_KEY"
wire_api = "responses"
supports_websockets = false
其中最重要的是这一行:
supports_websockets = false
这表示让 Codex 尽量不要使用 WebSocket 方式连接,而是改用 HTTP / Responses API 方式请求 OpenAI。
在某些 VPN 或代理网络环境下,WebSocket 连接可能更容易出现压缩、断线或传输异常,因此关闭 WebSocket 后通常会更稳定。
四、保存配置文件
如果您使用的是 nano 编辑器:
按 Control + O 保存
按 Enter 确认
按 Control + X 退出
注意:
请确认文件名仍然是:
config.toml
不要变成:
config.toml.txt
五、重新打开终端并测试 Codex
修改完成后,请关闭当前终端窗口,然后重新打开终端。
再运行 Codex,例如:
codex
或重新进入您的项目目录后运行 Codex。
如果设置正确,原本的 compression error / WebSocket 相关错误通常会改善。
帮助中心
