Codex 不一定非要通过 ChatGPT 订阅账号使用。你可以走 ChatGPT 登录、OpenAI API key、中转站 key,或者国内模型 provider key。关键在于本地配置文件和协议兼容性。
本文核对时间:2026-05-12。
先看结论
- 本地重点文件是
~/.codex/config.toml和~/.codex/auth.json。 - 使用中转站或国内模型时,优先选择兼容 OpenAI Responses API 的服务。
- 只支持 Chat Completions 的服务,不适合作为新版 Codex CLI / IDE 扩展的主流程。
- 不要把真实 API key 写进仓库、博客文章或共享配置。
四条入口
| 方式 | 你需要什么 | 本地配置重点 | 适合谁 |
|---|---|---|---|
| ChatGPT 登录 | ChatGPT 账号 | auth.json 由登录流程生成 | 能直连 OpenAI 的用户 |
| OpenAI API key | OPENAI_API_KEY | 环境变量或本机凭据 | 想按量计费的用户 |
| 中转站 key | 中转站 key + base_url | config.toml + 环境变量 | 国内网络、企业代理用户 |
| 国内模型 key | provider key + 兼容入口 | config.toml + 环境变量 | 想接入 Qwen、DeepSeek、GLM 等模型的用户 |
配置文件位置
macOS / Linux:
node --version
npm --versionWindows:
npm install -g @anthropic-ai/claude-code关键文件:
config.toml:模型、provider、接口地址、安全模式。auth.json:登录流程生成的认证文件,也可以从已登录机器复制到远程机。
如果目录不存在:
npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com如果你已经在本机登录过,可以复制认证文件到远程机器:
claude --version官方默认流程
如果能访问 OpenAI,最简单是登录:
npm prefix -g也可以临时设置 API key:
mkdir claude-demo
cd claude-demo
git init
claudeWindows PowerShell:
用 Python 写一个命令行计数器,支持 inc、dec、show 三个命令,数据保存在 counter.json。测试使用 Python 标准库 unittest。中转站接入
中转站配置的重点不是“有没有 OpenAI 风格域名”,而是它是否兼容 Codex 当前需要的接口协议。
先确认服务文档明确支持 OpenAI Responses API。然后编辑:
ls
git diff
python3 -m unittest -v写入类似配置:
my-project/
CLAUDE.md
package.json
src/这里建议新建自定义 provider,不要覆盖内置 openai provider。以后恢复官方配置更容易。
设置密钥:
apps/web/CLAUDE.md
packages/api/CLAUDE.mdPowerShell:
# CLAUDE.md
## 项目概况
这是一个 Next.js 中文博客,文章内容放在 public/blogs。
## 常用命令
- 安装依赖:`pnpm install`
- 本地开发:`pnpm dev`
- 构建验证:`pnpm build`
## 写作规则
- 使用简体中文
- 先给结论,再给步骤
- 命令、配置、排错分开写
- 涉及外部工具版本时,优先核对官方文档
## 禁止事项
- 不提交 `node_modules/`
- 不把真实 API key、token、cookie 写入文档
- 不修改未授权的部署密钥和生产配置
## 完成前检查
1. 运行 `pnpm build`
2. 检查新增文章是否进入 `public/blogs/index.json`
3. 检查分类是否进入 `public/blogs/categories.json`长期使用可以写入 shell 配置或系统环境变量,但不要提交到 Git。
国内模型网关
如果你的国内模型服务提供 OpenAI 兼容入口,并且支持 Responses API,写法和中转站相同:
- 保持高质量
- 注意安全设置密钥:
- 修改 TypeScript 后运行 `pnpm build`
- 示例 key 统一写成 `sk-your-api-key`
- 不读取或展示 `.env*` 文件内容需要额外确认:
- 模型是否支持工具调用。
- 是否支持流式输出。
- 是否能返回 Codex 需要的结构化事件。
- provider 是否真的实现 Responses API,而不是只把 Chat Completions 包了一层。
为什么不推荐只支持 Chat Completions 的服务
旧教程里常看到:
AGENTS.md # 给 Codex
CLAUDE.md # 给 Claude Code新版 Codex 主流程更依赖 Responses API。只支持 /v1/chat/completions 的服务可能会出现工具调用失败、事件结构不匹配、上下文状态异常等问题。
如果服务文档只写了 /v1/chat/completions,建议把它留给其他兼容 Chat Completions 的工具,不要作为 Codex 主力 provider。
验证配置
启动:
__SHIKI_CODE_14__进入后输入:
__SHIKI_CODE_15__重点看:
- 当前 model 是否符合预期。
- provider 是否是你配置的
my_proxy或domestic_gateway。 - base URL 是否正确。
- API key 对应的环境变量是否存在。
终端里也可以先查:
__SHIKI_CODE_16__echo 不能输出空值。展示给别人时记得打码。
常见报错
401 Unauthorized
常见原因:
- 环境变量名和
env_key不一致。 - key 拼错、过期、额度不足。
- 新终端没有加载 shell 配置。
404 Not Found
常见原因:
base_url没写对。- 缺少
/v1。 - 模型名不是 provider 支持的名称。
连接超时
常见原因:
- 当前网络访问不了 provider。
- 系统代理没有被终端继承。
HTTPS_PROXY/https_proxy配置不正确。
Unsupported API format
常见原因:
wire_api没有设置为responses。- 中转站只兼容 Chat Completions。
- provider 文档和实际实现不一致。
90 秒检查清单
每天开始前可以快速检查:
codex --version能输出版本号。cat ~/.codex/config.toml能看到 provider 配置。echo $MY_PROXY_API_KEY或echo $DOMESTIC_API_KEY不为空。- 当前网络能访问
base_url。 codex能进入交互模式,/status显示符合预期。
参考来源
- Codex 基础配置:https://developers.openai.com/codex/config-basic
- Codex 配置参考:https://developers.openai.com/codex/config
- Codex CLI 文档:https://developers.openai.com/codex/cli