Codex 怎么接自定义 API 网关:三种方法全解,配完即用

发布时间:2026/7/30 10:54:17
Codex 怎么接自定义 API 网关:三种方法全解,配完即用 OpenAI Codex 默认把请求打到官方端点但在很多实际场景里——国内网络不稳定、想用多模型聚合服务、需要企业内部审计流量——你会希望把请求改道到自定义网关。Codex 原生支持这件事配置入口在~/.codex/config.toml里也可以用环境变量临时覆盖。本文梳理三种方法按「最快上手 → 最推荐 → 最灵活」的顺序排列每种方法附完整可复制的配置。为什么要接自定义网关Codex 的默认行为是把 API 请求发给api.openai.com这在以下场景会遇到问题国内网络api.openai.com在大陆无法直接访问需要通过国内可访问的第三方 API 端点多模型切换想在 Codex 里用非 OpenAI 的模型DeepSeek、Claude、Kimi 等需要一个兼容 OpenAI 协议的聚合入口企业审计需要把 LLM 流量过一遍内部网关记录 token 消耗或做内容审查成本控制不同网关对不同模型的定价不同切换网关是降本的直接手段Codex 支持所有兼容 OpenAI Chat Completions 或 Responses API 的第三方端点核心原理是把base_url指向你的网关地址把 API Key 换成对应服务商的 Key。方法一环境变量临时/CI 场景首选最快的方式不需要改任何配置文件适合临时测试或 CI/CD 环境。# 自定义 provider 名称大写任意字符串exportMYGATEWAY_API_KEYyour-api-key-hereexportMYGATEWAY_BASE_URLhttps://your-gateway-api-base-url/v1# 调用时用 --provider 指向这个名称codex--providerMYGATEWAY帮我写一个 Python 爬虫注意点PROVIDER_API_KEY和PROVIDER_BASE_URL里的PROVIDER必须一致都大写下划线分隔这种方式只对当前终端会话生效关掉终端后失效如果只想替换 Key、不换地址单独export OPENAI_API_KEYxxx即可覆盖官方 Key方法二config.toml 自定义 provider推荐持久生效这是最推荐的方式。配置写进~/.codex/config.toml所有项目共享重启终端后依然有效。配置文件位置~/.codex/config.toml如果文件不存在直接新建。Codex 首次运行时也会自动创建这个文件。基础结构# 顶层指定默认使用哪个 provider 和模型 model gpt-4.1 model_provider mygateway # 对应下面 [model_providers.xxx] 的键名 # 定义自定义 provider [model_providers.mygateway] name My API Gateway base_url https://your-gateway-api-base-url/v1 env_key MYGATEWAY_API_KEY # 从这个环境变量读 Key然后设置 KeyexportMYGATEWAY_API_KEYyour-api-key-here之后直接运行codex 任务描述即可无需每次加--provider。完整字段说明字段是否必填说明name否显示名称日志里用base_url是网关的 API 根地址env_key是二选一从环境变量读 API Keywire_api否协议类型填responses时走 Responses API默认走 Chat Completionshttp_headers否静态请求头字典格式env_http_headers否从环境变量读取的请求头query_params否附加 query 参数如 Azure 的api-version实战示例接入专为 AI 编程设计的聚合网关一些聚合网关专门针对 Codex、Claude Code、Cline 等工具做了适配开箱即用地打通了多模型切换。以 Fennoapi.fenno.ai为例它支持 GPT、Claude、GLM、DeepSeek 等主流编程模型接入方式与标准 OpenAI 格式完全一致model claude-sonnet-4-5 model_provider fenno [model_providers.fenno] name Fenno AI Gateway base_url https://api.fenno.ai/v1 env_key FENNO_API_KEYexportFENNO_API_KEYyour-fenno-keycodex重构这个函数消除重复代码同样的结构可以套用到任何 OpenAI 兼容的端点——改base_url和env_key就行其余格式不变。保留 ID 限制以下 ID 是 Codex 内置保留的不能用作自定义 provider 的键名openaiollamalmstudio其他名称都可以自由命名。方法三命令行 --provider调试首选不想改配置文件、也不想改环境变量可以每次运行时临时指定# 内置 provider 直接用名字codex--provideropenrouter--modelanthropic/claude-opus-5任务# 内置支持的 provider 列表截至 2026 年# openai / openrouter / azure / gemini / ollama# mistral / deepseek / xai / groq / arceeai对于自定义 provider需要先在config.toml里定义好然后用--provider id在运行时覆盖全局设置codex--providerfenno--modelgpt-4.1-mini生成单元测试这在「平时用默认配置偶尔切换到另一个网关测试」的场景下很实用不用来回改 config.toml 顶层的model_provider。常见坑与排错坑 1base_url 末尾加不加/v1不同网关的规范不一样。部分网关要求完整路径https://gateway.example.com/v1部分只需根地址https://gateway.example.com。如果返回 404先检查这里。最简单的验证方法是直接 curlcurlhttps://your-gateway/v1/models\-HAuthorization: Bearer$YOUR_API_KEY能返回模型列表说明地址正确。坑 2model 字段写错自定义网关有自己的模型 ID 命名规范不一定和 OpenAI 官方一致。比如有些网关把 Claude 命名为claude-opus-5有些是anthropic/claude-opus-5。建议先查网关文档里的模型 ID 列表。坑 3环境变量没生效Codex 读的是当前 shell 的环境变量。如果在.zshrc/.bashrc里加了export需要重新 source 或新开终端source~/.zshrc# 或者直接确认变量存在echo$FENNO_API_KEY坑 4wire_api 冲突如果网关只支持 Chat Completions 协议/v1/chat/completions不要设置wire_api responses否则 Codex 会发 Responses API 格式的请求网关会报格式错误。不填wire_api时Codex 默认走 Chat Completions。常见问题QCodex Desktop 和 Codex CLI 的自定义网关配置一样吗配置文件路径相同~/.codex/config.toml但 Codex Desktop 在处理本地自定义 provider 时有已知的 API Key 混用问题GitHub issue #24457如果遇到认证失败优先用 CLI 验证。Q能同时定义多个自定义 provider 吗可以。在config.toml里定义多个[model_providers.id]块通过顶层model_provider切换全局默认或运行时用--provider id临时切换。Q自定义网关支持 streaming 吗Codex 默认开启流式输出。只要网关的端点支持 SSE 格式的流式响应就可以正常工作。大部分 OpenAI 兼容网关都支持可以在 curl 里加stream: true手动验证。Q企业内网网关需要额外配置吗如果网关需要特定请求头如内部 token 或 tenant ID用http_headers字段写死静态值或用env_http_headers从环境变量读[model_providers.internal] base_url https://llm.internal.company.com/v1 env_key INTERNAL_LLM_KEY http_headers { X-Tenant-ID your-tenant }小结Codex 接自定义网关的核心就三步在~/.codex/config.toml里加一个[model_providers.id]块填好base_url网关地址和env_keyKey 的环境变量名顶层设model_provider id激活设model指定默认模型临时场景用环境变量 --provider生产环境推荐写进 config.toml 持久化。协议层面只要网关兼容 OpenAI Chat Completions APICodex 就能接上。本文配置语法基于 Codex CLI 2026 年官方文档~/.codex/config.toml格式建议搭配官方 config.md 查看最新字段说明。延伸阅读Codex CLI 官方配置文档github.com/openai/codex/blob/main/docs/config.md主流 AI 编程工具配置大全developer.qiniu.com/aitokenapi/13417/tools-AI-Coding-api