Codex 接入
Codex CLI、Codex App 与 OpenAI SDK 接入顶级AI。
Codex 使用 OpenAI Responses 调用入口
Codex 的模型调用使用 OpenAI Responses wire。模型必须是平台明确开放给 Responses 调用入口的 public model id;GET /v1/models 是 Chat Completions 模型列表,不能据此推断 Responses 可用性。
Codex CLI / App
Codex 用户级配置位于 ~/.codex/config.toml。Windows 对应 %USERPROFILE%\.codex\config.toml。
model = "从平台复制的 Responses public model id"
openai_base_url = "https://dingjiai.com/v1"openai_base_url 用于修改内置 OpenAI provider 的地址,不需要再定义同名自定义 provider。模型 ID 会变化,不要照抄他人的固定值。
用当前用户的顶级AI API Key 登录:
$secureKey = Read-Host "请输入顶级AI用户 API Key" -AsSecureString
try {
[System.Net.NetworkCredential]::new("", $secureKey).Password | codex login --with-api-key
} finally {
$secureKey.Dispose()
}printf '请输入顶级AI用户 API Key: ' >&2
IFS= read -r -s DINGJIAI_USER_API_KEY
printf '\n' >&2
printf '%s' "$DINGJIAI_USER_API_KEY" | codex login --with-api-key
unset DINGJIAI_USER_API_KEYcodex login --with-api-key 从 stdin 读取 Key。上面的交互读取不会把明文 Key 写进 PowerShell 或 Bash 的顶层 shell history;不要把 Key 替换进命令行赋值或直接粘贴到脚本。该登录选项已由本机 codex login --help 和 Codex Authentication 文档 核对。
Codex 会把登录凭据缓存到用户目录或系统凭据存储,具体由 cli_auth_credentials_store 决定。不要提交 ~/.codex/auth.json,也不要把用户 Key 写进项目仓库。
使用用户 Key
这里填写的是用于“用户 → 顶级AI”请求的用户 API Key,不是网关用于“顶级AI → 上游”请求的 upstream provider Key。每位用户都应使用自己的 Key。
Search 会按需自动使用
Codex 使用 Responses 调用入口时,可能按需触发 Search。8788 会在同一用户 Key、Responses 模型和既有上游选择链路中透明转发该能力;你不需要在配置里新增协议、模型或 Search Key。Search 的传输请求不会建立独立商品、usage 或账本,随后 Responses 请求仍按正常 Responses usage 结算。
OpenAI SDK
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.DINGJIAI_API_KEY,
baseURL: "https://dingjiai.com/v1",
});
const response = await client.chat.completions.create({
model: "从 GET /v1/models 复制的 Chat Completions 模型商品 public model id",
messages: [{ role: "user", content: "写一个简短的 TODO 示例" }],
});
console.log(response.choices[0]?.message?.content);SDK 示例走 Chat Completions,因此模型来源与 Codex 的 Responses 模型不同。
排查
- 修改配置后完全退出并重新打开 Codex。
- 确认 Base URL 是
https://dingjiai.com/v1,且没有被环境变量或其他配置覆盖。 - 确认模型确实开放给 Responses 调用入口。
- 如果 Codex 使用 Search,确认对应 Responses 上游可正常处理该请求;8788 默认复用 Responses 上游候选,客户端通常会自动发起,不要手工拼接 Search 响应或
function_call_output。 - 保留错误响应里的
X-Request-Id;余额不足时先充值,改配置无效。
最后更新于