codex连接超时根源是默认30秒超时阈值与国内网络延迟不匹配,需延长请求(120秒)和流式超时(180秒),禁用websocket改用http协议,配置代理链路,并调高mcp服务启动超时至60秒。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Codex使用过程中连接超时,说明请求已发出但30秒内未收到服务端响应,命令卡死、对话中断、Reconnecting循环反复出现,问题根源不是“连不上”,而是默认超时阈值与国内真实网络延迟特征严重不匹配。
延长请求与流式超时时间
第一步:在终端中执行以下命令,将请求超时设为120秒
export CODEX_REQUEST_TIMEOUT=120000
第二步:同时设置流式响应超时为180秒,避免长任务中途断流
export CODEX_STREAM_TIMEOUT=180000
第三步:使配置永久生效,追加到 shell 配置文件
echo 'export CODEX_REQUEST_TIMEOUT=120000' >> ~/.bashrc && echo 'export CODEX_STREAM_TIMEOUT=180000' >> ~/.bashrc && source ~/.bashrc
这一步必须完成,否则新终端启动后变量失效;【不执行 source ~/.bashrc 将导致配置完全不生效】
强制禁用 WebSocket 改用 HTTP 协议
方法一:修改 config.toml 配置文件
打开 ~/.codex/config.toml,在文件最顶部(任何 [xxx] 段落之前)添加:
model_provider = "openai_http"
然后在任意空白处新增段落:
[model_providers.openai_http]
name = "OpenAI HTTP only"
wire_api = "responses"
supports_websockets = false
【model_provider 必须顶格写,缩进会导致解析失败】
方法二:临时绕过配置,直接使用环境变量启动
codex --model-provider openai_http "分析这段代码"
验证并配置代理链路
① 确认本地代理工具(Clash、Stash 等)HTTP/SOCKS5 端口已启用,常见端口为 7890 或 8080
② 在终端运行:
lsof -i :7890 | grep LISTEN(macOS/Linux)
或
netstat -ano | findstr :7890(Windows)
若无输出,说明代理未监听该端口,需打开代理工具重新启用
③ 测试代理是否真正可用:
curl -x http://127.0.0.1:7890 https://api.openai.com/v1/models -I --max-time 10
只要返回 HTTP/2 200 或 401,即证明代理链路通畅;若提示 Connection refused 或 timeout,说明代理未运行或端口错误
④ 将代理写入 Codex 专用环境文件:
echo "HTTP_PROXY=http://127.0.0.1:7890" >> ~/.codex/.env
echo "HTTPS_PROXY=http://127.0.0.1:7890" >> ~/.codex/.env
echo "ALL_PROXY=socks5h://127.0.0.1:7890" >> ~/.codex/.env
echo "NO_PROXY=localhost,127.0.0.1,::1" >> ~/.codex/.env
检查本地 MCP 服务启动超时
打开 ~/.codex/config.toml,在 [mcp_servers] 下方新增配置块:
[mcp_servers.codex_apps]
startup_timeout_sec = 60
这一步必须加在 [mcp_servers] 下级,不能嵌套在其他段落里;默认 30 秒对国内 TLS 握手+上下文初始化明显不足,60 秒可覆盖完整启动流程
快速诊断 API 连通性
下载并运行诊断脚本 llm-api-doctor.mjs:
node llm-api-doctor.mjs --base-url https://api.openai.com/v1 --key-env OPENAI_API_KEY
该脚本只探测 /models 接口,不发送提示词或代码,输出中的 classification 字段直接标明故障类型:401 是密钥错误,404 是 Base URL 缺失 /v1,429 是限流,502 是上游异常,超时则归为本地网络问题
运行前确保 Node.js 版本 ≥ 20,并已通过 export OPENAI_API_KEY="sk-xxx" 设置密钥











