codex连接超时需分层探测定位问题:先执行node -v、npm list -g @openai/codex、codex --version检查本地环境;再调用/models接口归因;接着逐层验证http连通性、代理端口、代理链路及系统端口拦截;最后区分reconnecting与真超时。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Codex连接超时后无法直接判断是本地环境故障还是服务端中断,必须通过分层探测把问题定位到具体环节——比如密钥失效、Base URL拼写错误、代理端口未监听、系统端口被拦截或上游API已不可用。
先跑基础环境检查
打开终端,依次执行三行命令:node -v → npm list -g @openai/codex → codex --version。如果任一命令无输出或报错,说明还没走到网络层,【此时连配置文件都还没读到】,问题一定在本地安装或PATH路径上。
Windows用户特别注意:PowerShell能运行不代表CMD或Git Bash也能运行,三者PATH可能不一致。务必在你实际敲codex的那个终端里验证。
用/models接口快速归因
准备好 Node.js 20 及以上环境后,执行这条诊断命令:
nodellm-api-doctor.mjs --base-url https://api.example.com/v1
工具会自动删除 Base URL 末尾多余斜杠,拼接成 https://api.example.com/v1/models 并发起 GET 请求。输出中的 classification 是首要判断结果,statusCode 和 retryAfterSeconds 用于复核原因。
它只负责定位,不承诺修复服务端故障。正常情况下三分钟内即可取得首个分类结果。
为什么先查 /models?同一个“客户端连不上”现象可能来自完全不同的环节:密钥不匹配返回 401;Base URL 漏写 /v1 或服务没对应接口返回 404;并发或额度限制表现为 429;网关或上游异常返回 502;DNS、代理、证书、端口和请求时间过长则表现为连接错误或超时。
逐层验证网络链路
第一步:测试基础 HTTP 连通性
运行:curl -v https://api.openai.com/v1/models(替换为你实际使用的 base_url)。若超时或拒绝连接,说明代理或网络不通。
第二步:验证代理端口是否真正可用
① Windows 执行:netstat -ano | findstr :7890
② macOS/Linux 执行:lsof -i :7890
确认输出中包含 LISTENING 或 LISTEN 状态。
第三步:绕过 Codex 直接测代理链路
运行:curl -x http://127.0.0.1:7890 https://api.openai.com/v1/models -I --max-time 10。只要返回 HTTP 状态码(如 HTTP/2 401 或 HTTP/2 200),即证明代理链路通畅;若提示 Connection refused,说明代理未运行或端口错误。
第四步:检查系统端口拦截
管理员身份打开 PowerShell,执行:netsh interface ipv4 show excludedportrange protocol=tcp。重点查看输出中是否有 1359–1458 这个区间——Codex 默认使用 1455 端口启动本地回调服务,一旦落在该区间,就会触发 os error 10013,导致监听失败。
区分 Reconnecting 与真超时
方法一:手动测试端口连通性
执行 codex login 后,留意命令行输出的回调地址,通常是 http://localhost:1455/callback?code=xxx。复制该 URL,粘贴到 Chrome 地址栏回车。
如果页面显示 “Cannot GET /callback” 或空白,说明本地服务已启动但未响应;如果直接报“拒绝连接”或“ERR_CONNECTION_REFUSED”,说明服务根本没起来——大概率是端口被拦住了。
【注意】别用 Edge 或 Firefox 直接访问回调链接——它们可能因安全策略自动拦截 localhost 请求,Chrome 最可靠。
方法二:用 curl 快速探测(需安装)curl -v http://localhost:1455/
看到 200 或 404 表示端口通、服务在跑;看到 Connection refused 就得回头查 WinNAT 或防火墙。











