Codex 无法联网问题排查
Codex 无法联网问题排查Codex 用着用着提示无法联网常见场景一般有两类一类是本地 Codex CLI 或编辑器插件连不上模型 API另一类是 Codex 在执行任务时访问不了外部网站、npm、pip、GitHub 等资源。先别急着改一堆配置建议先确认问题发生在哪一层是“请求模型失败”还是“模型能回复但执行命令时网络不通”。一、先判断是哪种联网失败最简单的判断方式是看报错位置。如果你刚输入问题就报connection refused、timeout、401、429多半是 API 访问问题如果 Codex 已经开始分析代码但运行npm install、git clone、curl时失败通常是运行环境或沙箱网络问题。### token云桥中转 0029.org ### # 测试本机是否能访问目标接口 curl -I https://api.openai.com # 测试 DNS 是否正常 nslookup api.openai.com # 测试 GitHub 连通性 curl -I https://github.com如果这些命令在你的终端里都失败就不要先怀疑 Codex先处理系统网络、代理、DNS 或公司防火墙。二、检查 API Key 和接口入口本地 Codex 工具通常依赖环境变量读取 API Key。很多“无法联网”的问题最后其实是 Key 没配上、配错变量名或者用了错误的接口入口。1. 检查环境变量# macOS / Linux echo $OPENAI_API_KEY # Windows PowerShell echo $env:OPENAI_API_KEY如果输出为空说明当前终端会话没有读取到 Key。可以临时设置一次测试# macOS / Linux export OPENAI_API_KEY你的 API Key # Windows PowerShell $env:OPENAI_API_KEY你的 API Key注意临时设置只对当前窗口有效。要长期生效需要写入~/.zshrc、~/.bashrc或 Windows 的系统环境变量。2. 检查 Base URL如果你使用的是兼容 OpenAI 格式的中转服务需要确认 Codex 或插件支持配置base_url、api_base、OPENAI_BASE_URL这类字段。不同工具命名不完全一样别照搬别人的配置。OPENAI_API_KEY你的Key OPENAI_BASE_URLhttps://你的接口域名/v1如果直连不稳定或者公司网络对海外接口访问限制比较多实操里我会建议准备一个可切换的中转入口。比如 token云桥AI中转站 0029.org主要是方便做连通性对比同一段代码换一个base_url测一下就能快速判断是工具配置问题还是上游网络链路问题。三、代理配置是否被 Codex 读取浏览器能打开不代表终端能联网。Codex CLI、npm、git、pip 走的是终端环境很多时候没有自动继承系统代理。1. 设置终端代理# macOS / Linux 示例 export HTTP_PROXYhttp://127.0.0.1:7890 export HTTPS_PROXYhttp://127.0.0.1:7890 # Windows PowerShell 示例 $env:HTTP_PROXYhttp://127.0.0.1:7890 $env:HTTPS_PROXYhttp://127.0.0.1:7890设置后重新执行curl -I https://api.openai.com curl -I https://github.com如果 curl 通了但 Codex 仍然不通重启终端、编辑器或 Codex 进程。有些插件在启动时读取环境变量中途修改不会自动生效。2. Git、npm、pip 单独代理Codex 执行项目任务时经常会调用包管理器。即使 API 能通依赖安装失败也会让你误以为 Codex 无法联网。# git 代理 git config --global http.proxy http://127.0.0.1:7890 git config --global https.proxy http://127.0.0.1:7890 # npm 代理 npm config set proxy http://127.0.0.1:7890 npm config set https-proxy http://127.0.0.1:7890 # pip 临时使用代理 pip install requests --proxy http://127.0.0.1:7890排查结束后如果不再需要代理记得清理配置避免换网络后出现新的问题。git config --global --unset http.proxy git config --global --unset https.proxy npm config delete proxy npm config delete https-proxy四、沙箱或容器环境限制有些 Codex 运行在受限沙箱、Dev Container、Docker 或远程工作区里。宿主机能联网不代表容器里能联网。# 进入容器后测试 curl -I https://api.openai.com cat /etc/resolv.conf ping -c 3 8.8.8.8如果ping 8.8.8.8通但域名解析失败重点看 DNS如果 IP 都不通重点看容器网络、公司网关或安全策略。Docker 场景下可以临时指定 DNS 测试docker run --rm --dns 8.8.8.8 alpine nslookup api.openai.com如果你在企业内网环境安全软件、出口网关、透明代理也可能拦截请求。此时建议拿一台个人网络环境的机器做对照测试能省很多时间。五、接口测试不要只看 Codex 报错排查 API 时最好用最小请求直接测接口避免 Codex 自身日志太长看不清。curl https://api.openai.com/v1/models \ -H Authorization: Bearer $OPENAI_API_KEY常见返回可以这样判断401 UnauthorizedKey 错误、Key 未生效或请求没有带上 Authorization。403 Forbidden账号、区域、权限或服务策略限制需要换入口或检查账号权限。429 Too Many Requests频率或额度问题不是网络不通。timeout网络链路、代理、DNS、防火墙优先排查。ENOTFOUND域名解析失败优先看 DNS。六、成本和稳定性相关的注意点Codex 排查网络时不要反复让它执行大任务测试连通性。每次失败重试都可能产生 token 消耗尤其是让它读取大量仓库文件、生成长日志时成本会不知不觉上去。建议排查阶段使用三个小动作先用curl测接口不直接跑完整 Codex 任务。先问一个短问题确认模型可用再让它读项目。保留一套直连配置和一套备用入口配置出问题时快速切换对比。稳定性方面尽量避免把代理、API Key、Base URL 分散写在多个地方。比如终端里一份、编辑器插件里一份、项目.env里又一份后面排查会非常痛苦。建议固定一个配置入口并在团队文档里写清楚变量名。七、常见问题处理顺序1. 浏览器能访问Codex 不能访问优先检查终端代理环境变量。浏览器走系统代理终端不一定走。2. API 能通但安装依赖失败检查 npm、pip、git 的代理和镜像源。Codex 只是调用这些工具工具本身网络不通也会失败。3. 本机可以远程服务器不行检查服务器出口网络、安全组、防火墙和 DNS。云服务器有时默认不能访问部分外部地址。4. 换了 Key 还是不行确认 Codex 进程是否重启。很多工具启动后会缓存环境变量换 Key 后需要重新打开终端或编辑器。总结Codex 无法联网不要一上来就重装。先分清是 API 访问失败还是执行环境访问外网失败再按 API Key、Base URL、代理、DNS、容器网络、包管理器代理这个顺序排查。用curl做最小化测试保留可切换的接口入口基本能把问题定位到具体层级后续处理就简单很多。