记录本机安装 OpenAI Codex CLI 后,如何解决「地域限制 + 本地模型太慢」两个问题,最终用上可用的 Codex。 环境:Ubuntu 24.04,Node v24.15.0(nvm),无 GPU(纯 CPU),网络对 GitHub release / OpenAI 官方均存在地域限制。
一、问题背景
本机执行 codex 连 OpenAI 官方时报错:
{"error":{"code":"unsupported_country_region_territory",
"message":"Country, region, or territory not supported", ...}}
这是 OpenAI 服务端按出口 IP 地理位置做的硬性拦截,不是配置错误,无法通过改开关消除。
二、已完成的操作
1. 安装 / 升级 Codex CLI
- 全局已装在 nvm 的 Node 环境:
<本机路径> - 已升级到最新版
codex-cli 0.164.0(npm install -g @openai/codex@latest) - 验证:
codex --version→codex-cli 0.164.0✅
2. 本地模型路线(ollama)—— 已放弃
尝试用本地模型绕过地域限制,结论:本机纯 CPU 推理太慢,无实用价值。
- 安装了 ollama(免 root,解压到
~/.local/bin/ollama,v0.40.11) - 拉取过
qwen2.5-coder:7b(4.7 GB)与尝试gpt-oss:20b(~13 GB) - 实测 CPU 推理:
7B仅数 token/s,20B会更慢约 3 倍 - 最终决定:删除全部本地模型并卸载 ollama(见下方「清理记录」)
关键经验:CPU-only 机器跑本地大模型不现实;要快必须让 OpenAI 自己的 GPU 跑。
三、最终方案:连通真实 Codex(二选一)
本地模型行不通,只能让请求到达 OpenAI 官方(由官方 GPU 执行)。两种方式:
方案 A:代理出口(你有支持地区的代理 / VPN)
export HTTPS_PROXY=http://你的代理host:端口
export HTTP_PROXY=http://你的代理host:端口
export OPENAI_API_KEY=<你的 key>
codex
- Codex 基于 OpenAI SDK,会读取
HTTPS_PROXY/HTTP_PROXY - 注意:OpenAI 会封大量已知 VPN / 数据中心 IP,要选住宅 IP 或干净 VPS IP 才稳
方案 B:OpenAI 兼容网关(国内中转 / 厂商网关)
把 base_url 指向兼容端点,由网关侧解决地域问题:
# ~/.codex/config.toml
[model]
provider = "openai"
name = "网关支持的模型名" # 如 gpt-5-codex
base_url = "https://你的网关地址/v1"
export OPENAI_API_KEY=<你的 key>
codex
base_url是 codex 0.164 识别的合法配置项(已从二进制确认)
四、怎么找代理(方案 A 的前提)
- 商业 VPN:选带美/欧/日/新加坡节点、最好「住宅 IP」类型的服务。注意 OpenAI 常封 VPN IP 段,不一定通。
- 自建代理(最稳):租一台支持地区的 VPS(最便宜 1C1G 即可只做代理),跑
squid/tinyproxy或v2ray/shadowsocks,本机export HTTPS_PROXY=http://VPS公网IP:端口。VPS 干净 IP 比公共 VPN 更不易被封。 - 买现成代理:从服务商买 Residential(住宅)HTTP/SOCKS5 代理,挑支持地区节点。住宅 IP 最不容易被封。
注意:若拿到的是 SOCKS5,codex 的
HTTPS_PROXY不认,需套转换层(如privoxy把 SOCKS5 转 HTTP,或proxychains包住 codex)。
五、拿到代理/网关后的配置步骤
- 提供代理地址(
http://host:port最佳)或网关三项(base_url + 模型名 + key) - 写入环境变量或
~/.codex/config.toml - 跑连通性验证,确认不再报
unsupported_country_region_territory
六、清理记录(已执行)
ollama rm qwen2.5-coder:7b+ 删gpt-oss:20b半成品rm -f ~/.local/bin/ollama、rm -rf ~/.ollamarm -f ~/.codex/config.toml(之前为本地模型所建,已无用)- 从
~/.bashrc/~/.profile移除为 ollama 加的export PATH="$HOME/.local/bin:$PATH" - 全局
codexCLI 保留(v0.164.0) - 磁盘回到 77% 占用(52G 空闲)
七、下载过程中的网络坑(备查)
github.com的 release 资产下载被掐(http=000),但api.github.com可达- 解决:用
ghproxy.net镜像获取 ollama 二进制(先下 .tar.zst,断点续传后 sha256 校验一致) - ollama 官方 registry 拉模型中途会卡 0 速,重启
ollama pull即可恢复速度 - 磁盘曾 100% 占满(14B 权重 + 7B 失败残留 partial 共约 27GB 垃圾),清空
~/.ollama/models后恢复