外观
Codex 接入指南
适合使用 Codex CLI 或 Codex App 的用户。本文只保留一条可验证的 Responses 配置路径。
开始前准备
- 已在 BestAI API Keys 创建 Key。
- Key 已分配到支持 OpenAI Responses 的分组。
- 终端中可以运行
codex;如果不能运行,先完成 Codex CLI 安装。
推荐方式:先看控制台生成配置
在 API Keys 找到 Key,打开“使用密钥”并选择 Codex CLI。先确认生成配置的模型、地址和认证方式,再按对应系统操作。控制台提供的是站点配置,并不表示它能自动适配每个客户端版本。
本文手工路径使用自定义 bestai provider 和环境变量认证。控制台如果给出 auth.json、直接令牌或其他认证方案,不要混入下面这套配置。Windows PowerShell 使用对应的 PowerShell 步骤,不直接执行 Bash 脚本。
手工配置
配置文件位置
Codex 使用 $CODEX_HOME/config.toml:
| 情况 | 默认位置 |
|---|---|
| macOS / Linux | ~/.codex/config.toml |
| Windows | %USERPROFILE%\.codex\config.toml |
设置了 CODEX_HOME | $CODEX_HOME/config.toml |
如果已有配置,先备份实际使用的文件。macOS / Linux:
bash
codex_config_dir="${CODEX_HOME:-$HOME/.codex}"
if [ -f "$codex_config_dir/config.toml" ]; then
cp -pn "$codex_config_dir/config.toml" "$codex_config_dir/config.toml.bak-$(date +%Y%m%d-%H%M%S)"
ficonfig.toml
Windows 先在文件管理器复制当前配置并给备份加上日期。将下面内容合并到用户配置文件中;同名字段修改原值,不要追加第二份。根级字段要放在 TOML 表之前:
toml
model_provider = "bestai"
model = "MODEL_ID_FROM_CONSOLE" # 替换为控制台配置中的模型 ID
[model_providers.bestai]
name = "bestai"
base_url = "https://api.bestai.chat"
wire_api = "responses"
env_key = "BESTAI_API_KEY"
requires_openai_auth = falsewire_api = "responses" 指定 Responses 协议;env_key 填变量名,不填 Key。此路径明确设置 requires_openai_auth = false:如果设为 true,Codex 会忽略 env_key,转而使用 OpenAI 登录认证。
这里的根地址使用 BestAI 的 /responses 路由;OpenAI SDK 指南使用 /v1/responses。不要将其他工具的 Base URL 规则直接套过来,也不要填完整请求路径。
保存 API Key
macOS / Linux 当前终端:
bash
printf '粘贴 BestAI Key(输入不显示):'
IFS= read -r -s BESTAI_API_KEY
printf '\n'
export BESTAI_API_KEY以上适用于 Bash / Zsh,只影响当前终端和它启动的进程。先在这个窗口完成下一节验证。长期使用时,用本机编辑器把下面一行合并到实际使用的 ~/.zshrc 或 ~/.bashrc,将占位符换成真实值:
bash
export BESTAI_API_KEY="sk-你的Key"PowerShell 当前窗口:
powershell
$keyInput = Read-Host '粘贴 BestAI Key' -AsSecureString
$env:BESTAI_API_KEY = [System.Net.NetworkCredential]::new('', $keyInput).Password
Remove-Variable keyInputWindows 长期使用可在系统的“用户环境变量”界面保存 BESTAI_API_KEY;已有程序需要重启才能读取新值。配置文件和用户环境变量都应只保存在自己的设备上。
检查变量是否存在,但不要输出 Key:
bash
test -n "$BESTAI_API_KEY" && echo "BESTAI_API_KEY is set" || echo "BESTAI_API_KEY is missing"验证 CLI
退出已有 Codex 会话,然后在刚设置变量的同一个终端窗口运行;如果使用长期配置,则在重新加载配置后运行:
bash
codex --version
codex发送:
text
请只回复:BestAI Codex 已连接。然后打开 使用记录,刷新并按时间、Key 和模型核对。回复不必逐字相同;回复内容本身不能证明请求经过 BestAI。
接入完成必须同时满足:
- Codex 返回验证句对应的回复。
- 使用记录中出现对应请求。
Codex App / Desktop
先让 CLI 跑通,再打开 App。这样可以把“网关配置问题”和“桌面环境继承问题”分开。
桌面应用不一定继承终端变量,CLI 验证成功也不能证明 App 已读取同一份配置。macOS 可在已配置的终端尝试启动并指定工作目录:
bash
codex app /path/to/your/project如果 App 读不到 Key,检查:
- App 使用的
CODEX_HOME是否与终端相同。 config.toml是否位于当前CODEX_HOME下。- App 进程是否实际能读取
BESTAI_API_KEY;写入.zshrc不等于桌面应用一定能读取它。 - 完全退出 App 后重新打开。
Windows 的 codex app 启动行为以当前 CLI 为准;不要将该命令当成 Linux 桌面安装方式。桌面版本、远程会话和本地 CLI 的配置入口可能不同,按官方 CLI 参考核对。打开 App 后另发一次短请求并核对记录,不为了绕过变量问题混入另一种认证方式。
安装 Codex CLI
先检查:
bash
codex --version如果命令不存在,按 Codex 官方安装指南选择当前系统的安装方式,再回到本文配置。安装命令、运行时版本和应用名称可能变化,不用旧截图推断当前要求。
安装成功不等于接入成功,仍需完成验证句和使用记录核对。
常见问题
401 / 403
BESTAI_API_KEY是否存在且没有复制错误。env_key是否正好写成BESTAI_API_KEY。- 是否把
env_key错写成了sk-...。 - 当前 provider 是否残留
requires_openai_auth = true或其他认证字段。 - Key 对应分组是否允许 Responses。
- 账户余额和 Key 额度是否可用。
404
Codex 的 base_url 填基础地址:
text
https://api.bestai.chat不要填完整的 /v1/responses,也不要把 /v1/chat/completions 当成 Codex 的配置地址。
模型不可用
确认 model 与控制台生成配置中的模型 ID 一致,不要只根据旧截图或旧文档猜模型名。
有回复但没有使用记录
先刷新记录、核对日期及 Key/模型筛选,再确认当前会话没有使用另一个 provider、profile 或命令行覆盖。保留临时变量所在的终端,在同一窗口重启 Codex 后再验证。完整步骤见核对一次请求。
配置改了但没有生效
运行:
bash
printf 'CODEX_HOME=%s\n' "${CODEX_HOME:-$HOME/.codex}"
test -f "${CODEX_HOME:-$HOME/.codex}/config.toml" && echo "config.toml found" || echo "config.toml missing"如果存在多个配置文件,先确认当前 CODEX_HOME,不要同时修改多个目录。
安全与回滚
- 不要把真实 Key 写入 Git、项目
.codex/config.toml或截图。 - 修改前保留带日期的配置备份。
- 怀疑 Key 泄露时,先在 API Keys 停用旧 Key,再更新环境变量。
- 回滚配置时恢复备份,并重新启动 Codex。
完成标准
codex可以启动并返回验证句。config.toml中的wire_api是responses。env_key指向存在的环境变量,而不是密钥内容。- 使用记录 有对应请求。
配置依据
核对日期:2026-10-03。官方配置参考说明 provider 字段;官方认证说明说明 env_key 与 OpenAI 认证的区别。BestAI 地址和可用模型仍以当前站点配置为准。
