Codex 怎么配置 OpenAI 兼容 API?
简答:可以配置,但不要直接猜 SSSAiCode 的节点、模型名或是否需要 /v1。先登录 SSSAiCode 控制台,复制实际显示的 API 地址、可用模型和 API Key;再在实际运行 Codex 的环境中编辑用户级 config.toml,最后用一次不含敏感数据的最小请求验证。公开页面目前只说明登录后可在控制台查看接入脚本与节点配置,具体 Codex 可用值需以控制台和当前文档为准。
定义:OpenAI 兼容 API 是采用相近认证和请求格式的模型接口;能否用于 Codex,仍要核对 Responses 协议、Base URL、模型 ID、认证方式、流式事件和工具调用支持。
先看三步速答:SSSAiCode 字段对应 Codex 哪些配置
本文是独立的 AI API 接入指南,不代表 SSSAiCode 官方。SSSAiCode 公开首页提示,用户登录后可以在控制台查看一键接入脚本与节点配置;公开页面没有给出可供所有用户直接复制的固定 Codex Base URL、API Key 或模型清单,因此下表把“控制台字段”和“Codex 字段”对应起来,但不替你填入未经核实的具体值。可先查看其公开接入说明。
| 你要在控制台确认的内容 | Codex 对应字段 | 核验要求 |
|---|---|---|
| API 节点或 API Base URL | openai_base_url 或 model_providers.<id>.base_url | 复制完整地址;是否含 /v1 以控制台为准,不要自行拼接。 |
| 模型 ID 或模型别名 | model | 使用接口要求的精确字符串,不要把网页展示名称当作模型 ID。 |
| API Key 或 Token | env_key 指向的环境变量 | 不要把真实密钥写入 TOML、Git、截图或日志。 |
| 接口协议 | wire_api = "responses" | Codex 当前配置参考只列出 Responses;服务商是否提供对应路径和事件格式需单独确认。 |
| 认证方式 | requires_openai_auth、env_key 或其他认证配置 | 第三方 Key 通常应先核对环境变量认证;不要同时混用互斥认证方式。 |
- 登录 SSSAiCode 控制台,定位 API 接入、节点、模型或快速开始页面。
- 记录 Base URL、模型 ID、Key 变量名和协议要求;没有显示的字段标记为“需核实”。
- 在实际运行 Codex 的环境中写入配置,重新启动并发起一次最小请求。
配置前先确认:SSSAiCode 的哪些值不能凭经验填写
SSSAiCode 的公开模型页会展示模型、端点和动态状态,但页面同时提示价格会随套餐和渠道变化;因此本文不把模型、价格、可用率或节点硬编码进配置。模型页可以作为查看入口,实际能否用于 Codex,仍需在登录后的控制台确认。
- Base URL:以控制台提供的完整 API 基础地址为准。不要根据其他客户端的示例强行添加或删除
/v1。 - 模型 ID:使用 API 调用字段要求的精确值。模型页上的标题、供应商名称或套餐名称不一定就是 Codex 的
model。 - Responses 兼容性:Codex 当前配置参考将自定义 Provider 的
wire_api写为responses,并说明省略时默认也是该值;这只说明 Codex 的配置选项,不等于某个网关已经实现了所有 Responses、流式和工具调用能力。查看当前 Configuration Reference。 - 认证方式:如果使用第三方 API Key,应优先确认控制台是否要求自定义环境变量、额外请求头或其他凭据方式。
如果控制台只提供 Chat Completions 路径、没有 Responses 兼容说明,先不要把它直接当作 Codex 可用接口;应向服务提供方确认协议转换范围。
最简路线:单个接口只改 openai_base_url
只有一条兼容接口时,可以先使用内置 OpenAI Provider 的地址覆盖方式。官方高级配置文档说明,openai_base_url 用于把内置 Provider 指向自定义代理、路由或其他兼容地址;它不能替你确定模型名和认证方式。查看 Advanced Configuration。
在 macOS、Linux 或 WSL 内的用户级文件 ~/.codex/config.toml 中写入:
model = "YOUR_MODEL_ID"
openai_base_url = "https://YOUR_API_BASE_URL"
然后在同一个运行环境中设置密钥。下面只是占位符示例,变量名必须按控制台要求替换:
export OPENAI_API_KEY="YOUR_API_KEY"
codex
如果控制台要求的变量名不是 OPENAI_API_KEY,不要继续沿用这条路线猜测认证;改用下一节的自定义 Provider,并让 env_key 与 Shell 中的变量名完全一致。
成功判定:Codex 能启动不代表配置已生效。必须用目标模型完成一次最小请求,并确认返回的是模型响应,而不是登录提示、401、404 或模型不存在错误。
自定义 Provider:完整模板与 requires_openai_auth 说明
需要自定义变量名、区分多个网关或明确认证方式时,使用用户级 config.toml:
model = "YOUR_MODEL_ID"
model_provider = "my_gateway"
[model_providers.my_gateway]
name = "My Gateway"
base_url = "https://YOUR_API_BASE_URL"
wire_api = "responses"
env_key = "MY_GATEWAY_API_KEY"
requires_openai_auth = false
模板中的 MY_GATEWAY_API_KEY 只是统一占位符。macOS/Linux/WSL 使用:
export MY_GATEWAY_API_KEY="YOUR_API_KEY"
Windows PowerShell 使用:
$env:MY_GATEWAY_API_KEY = "YOUR_API_KEY"
Codex 官方配置参考说明,env_key 是提供 API Key 的环境变量名称,requires_openai_auth 默认值为 false。当你使用网关自己的 API Key 时,显式写出 false 有助于表达认证意图;如果服务商要求 Codex 使用 OpenAI 认证,则不能照抄这一值,应按服务商文档确认。官方认证文档还说明,当 requires_openai_auth = true 时,Codex 会忽略 env_key。查看 Codex Authentication。
auth、env_key、experimental_bearer_token 和 requires_openai_auth 不是可以任意叠加的选项。本文只采用环境变量密钥方式,避免把真实 Token 直接写进配置文件。
macOS、Windows 原生、WSL 和桌面端分别在哪里生效
macOS/Linux CLI:默认用户级配置为 ~/.codex/config.toml。如果设置了 CODEX_HOME,则配置、认证、日志和会话等状态会转移到该目录;先在同一个终端检查 echo "$CODEX_HOME",再确认实际文件位置。
Windows 原生 CLI:默认 Codex Home 是 %USERPROFILE%\.codex,配置文件通常是 %USERPROFILE%\.codex\config.toml。PowerShell 可执行:
if ($env:CODEX_HOME) { $env:CODEX_HOME } else { "$env:USERPROFILE\.codex" }
Test-Path "$env:USERPROFILE\.codex\config.toml"
Windows 原生 Codex、桌面端和 WSL 不应混为同一个运行环境。官方 Windows 文档说明,Windows 应用使用 Windows 用户的 Codex Home;WSL 内的 CLI 默认使用 Linux Home,不会自动共享配置、认证缓存或会话。查看 Windows 应用说明。
WSL 内 CLI:在 WSL shell 中检查:
echo "$CODEX_HOME"
printf '%s\n' "${HOME}/.codex/config.toml"
which codex
test -n "$MY_GATEWAY_API_KEY" && echo "key is set" || echo "key is missing"
如果希望 WSL 使用 Windows 的 Codex Home,可按官方说明设置类似 export CODEX_HOME=/mnt/c/Users/<windows-user>/.codex 的路径,但要确认该目录已存在且权限、路径格式适合当前环境。查看 WSL 文档。
桌面端或 IDE 扩展:官方配置基础文档说明,可在右上角齿轮进入 Codex Settings,再选择 Open config.toml;CLI 与 IDE 扩展共享配置层。但桌面端是否继承你从某个终端临时设置的环境变量,取决于启动环境和当前版本。修改配置或环境变量后,完全退出并重新打开应用,再做真实请求。
版本分流验证:先看当前帮助,再决定是否用 doctor 或 status
不要把某篇文章里的诊断命令当作所有 Codex 版本都支持。先执行:
codex --help
在帮助输出中搜索当前版本是否列出 doctor、状态查看命令或相关子命令:
codex --help | grep -Ei 'doctor|status|config|login'
Windows PowerShell 可使用:
codex --help | Select-String -Pattern 'doctor|status|config|login'
- 如果当前帮助明确列出
codex doctor,再运行该命令,并按输出检查配置路径、认证和网络信息。 - 如果交互界面帮助明确列出
/status,在 Codex 会话中使用它查看当前会话显示的 Provider 或模型信息。 - 如果当前版本没有列出这些命令,不要强行执行;改用配置路径检查、变量存在性检查、脱敏日志和真实最小请求。
配置文件能保存只能证明 TOML 至少被编辑器接受,不能证明 Provider 已被选择、Key 已被读取或请求已到达网关。验证顺序应是:凭据存在→最终 URL→模型 ID→权限→最小请求→响应体和请求 ID。
不带真实密钥的兼容性检查:把配置错误和协议错误分开
如果控制台明确给出了 Responses API 的完整路径,可以使用下面的占位符请求单独检查接口形状;不要把未经确认的路径直接替换成真实服务地址:
export BASE_URL="https://YOUR_CONFIRMED_API_BASE_URL"
export MY_GATEWAY_API_KEY="YOUR_API_KEY"
curl -i "$BASE_URL/responses" \
-H "Authorization: Bearer $MY_GATEWAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"YOUR_MODEL_ID","input":"只回复 OK"}'
这不是对所有网关都保证可运行的固定命令:如果控制台给出的完整路径已经包含 /responses,就不能再次拼接;如果服务商使用自定义请求头,也必须按其文档修改。请求体不得包含私有代码或真实业务数据。
返回结果可以这样判断:
- 401:优先检查 Key、变量名、Authorization 方式和 Key 是否已撤销。
- 403:检查账户、模型、套餐或区域权限;不要先反复更换模型。
- 404:检查 Base URL 路径、是否重复或漏掉
/v1、模型 ID,以及 Responses 路径是否存在。 - 429:先读取响应体,区分限流、额度不足、计费状态或服务过载;只有明确属于可重试的限流或临时过载时,才依据
Retry-After和服务商建议处理。 - 超时、TLS 或 DNS 错误:检查域名解析、证书、企业网络代理和空闲超时,不要把网络连接失败误判成模型不存在。
- 返回非标准错误结构:保留状态码、请求 ID 和脱敏错误摘要,交给服务商确认网关是否转换了 OpenAI Responses 错误格式。
安全收尾:config.toml、auth.json 和 Shell 历史都要检查
Codex 的状态目录可能包含 config.toml、auth.json、历史记录和日志。官方认证文档明确提醒,文件式凭据中的 auth.json 应像密码一样保护;不要提交 Git、粘贴到工单、截图或聊天中。查看凭据存储说明。
- 将
config.toml、auth.json、本地密钥脚本和诊断日志加入 Git 忽略规则。 - 检查当前仓库和 Git 历史:
git grep -n "MY_GATEWAY_API_KEY\|OPENAI_API_KEY" -- .;历史检查可使用git log -S"YOUR_REAL_KEY" --all,不要把真实 Key 写进命令历史。 - 检查 Shell 历史、PowerShell 历史、CI 日志和公开截图,避免曾经通过命令行直接粘贴密钥。
- 假如 Key 已经公开,先在控制台立即撤销或轮换,再更新实际运行环境中的变量,最后用不含敏感数据的最小请求验证。
- 排障日志只保留时间、系统、Codex 版本、Provider 名称、状态码和请求 ID,不记录完整 Authorization 头、Key 或私有代码。
以上步骤只解决 Codex 的本地配置与核验问题;具体节点、模型权限、价格、限速和实时状态,仍需以 SSSAiCode 当前控制台和服务说明为准。
结论:先核对控制台,再选择一条配置路线
使用 SSSAiCode 或其他 OpenAI 兼容网关时,最短路径是:从控制台复制真实 Base URL、模型 ID 和 Key 要求,写入用户级 config.toml,在同一个运行环境设置 env_key 指向的变量,再用一次最小请求确认响应。单个接口可先用 openai_base_url;需要自定义认证变量或多个接口时,使用 model_provider、model_providers、base_url、wire_api = "responses"、env_key 和明确的 requires_openai_auth = false。
如果公开页面没有给出某个字段,就标记为“需核实”,不要用其他客户端的节点、模型或价格替代。这样能把 401 的凭据问题、404 的路径问题、429 的额度或限流问题,以及 Responses 协议不兼容区分开。
常见问题
SSSAiCode 的 Base URL 和 API Key 在哪里找?
公开首页只说明登录后可在控制台查看一键接入脚本与节点配置,并没有为所有访客公开固定的 Codex Base URL 或 API Key。登录后优先查看 API 接入、节点、模型或快速开始页面;具体字段位置和实时值需以当前控制台为准。
SSSAiCode 的节点要不要在末尾加 /v1?
不能固定回答。应复制控制台提供的完整 API 地址,并确认 Codex 或服务商是否负责拼接版本路径。重复添加或漏掉 /v1 都可能导致 404;没有明确说明时应向服务提供方核实。
Codex 自定义 Provider 要不要写 requires_openai_auth = false?
官方配置参考说明该字段默认值为 false。使用网关自己的 API Key 时,可以显式写 false 表达认证意图;如果服务商要求 OpenAI 认证,则不能照抄,应按当前认证文档设置。
为什么 config.toml 保存成功,Codex 仍然使用原来的接口?
检查是否编辑了实际运行环境的用户级文件、是否设置了 CODEX_HOME、是否存在命令行或项目配置覆盖,以及桌面端是否在修改后重启。最终要用一次真实请求确认,不能只看文件能否保存。
Windows 原生 Codex 和 WSL 里的 Codex 会共享配置吗?
默认不会完全共享。Windows 应用通常使用 Windows 用户目录下的 Codex Home,WSL CLI 默认使用 Linux 的 ~/.codex。除非按官方说明同步目录或设置 CODEX_HOME,否则应分别配置和检查。
401、403、404 和 429 应该先查什么?
401 先查 Key 和认证变量;403 查账户、模型或区域权限;404 查 Base URL、路径和模型 ID;429 先读取响应体,区分限流、额度、计费或过载,不要对所有 429 盲目重试。
如何确认接口是否真的兼容 Codex?
先确认服务商明确提供 Responses API、目标模型、流式事件和所需认证方式,再用不含敏感数据的最小请求测试已确认的完整路径。若只支持 Chat Completions,不能直接推断 Codex 一定可用。
相关阅读
- 继续查看 Codex 自定义 API endpoint 的路线选择
- 如果还要配置 Cursor,可参考自定义 API 教程
- 了解 OpenAI 与 Anthropic 接口差异
- 先弄清 API Gateway、Base URL 和兼容接口的区别
参考资料
- Codex Config basics(learn.chatgpt.com)
- Codex Advanced Configuration(learn.chatgpt.com)
- Codex Environment variables(learn.chatgpt.com)
- Codex Authentication(learn.chatgpt.com)
- ChatGPT desktop app for Windows(learn.chatgpt.com)
- Codex WSL guide(learn.chatgpt.com)
- SSSAiCode 公开首页接入说明
- SSSAiCode 模型广场