工具接入

Codex API 配置教程:自定义 Provider、Base URL 与 Responses API

配置 Codex API 自定义 Provider、Base URL、环境变量和 Responses API,用最小文件任务验证工具调用,并排查 /v1/v1、环境变量与协议兼容问题。

更新于 2026-10-28已核对 2026-10-08预计阅读 8 分钟适用于 Codex Responses API
配置字段已按公开文档核对;模型、价格和可用能力会变化,请以控制台与接口实时返回为准。
所属专题:AI 开发工具自定义 API 接入中心

准备接入 AIFast Link? 注册账号、创建 API Key,再按下方步骤配置与验证。

先核对成本: 指定分组价格对照 · 按量与月卡规则。价格案例不代表所有模型;GPT/Claude 月卡与 Gemini 独立分组分开核算。

注册并开始接入 已有账号,打开控制台

Codex 支持通过配置文件定义模型提供商。接入第三方兼容接口时,重点是 base_url、认证环境变量、模型 ID 和 wire_api。当前官方配置参考将 wire_api 定义为 responses,因此兼容服务必须实际支持 Responses API;仅支持 Chat Completions 并不足以覆盖 Codex 的代理任务。

快速结论

Codex 自定义 Provider 必须提供 Responses API。使用以下配置和独立环境变量,在临时 Git 仓库验证文件创建与工具调用;普通聊天成功不能证明完整代理任务可用。

开始前检查

先确认目标模型和接口支持 Responses API。不要因为普通聊天接口可用,就推断文件操作、工具调用和连续代理任务也可用。

准备独立环境变量:

export AIFAST_LINK_API_KEY="YOUR_LINK_API_KEY"

配置步骤

在用户级 ~/.codex/config.toml 中增加自定义提供商。项目级 .codex/config.toml 不能覆盖 model_provider、model_providers 和 Provider 认证。示例结构:

[model_providers.aifast_link]
name = "AIFast Link"
base_url = "https://www.aifast.link/v1"
env_key = "AIFAST_LINK_API_KEY"
wire_api = "responses"

保留原有默认模型和提供商。本教程适用于 Codex CLI 0.134.0 及以上正式版本,使用独立 Profile 文件:在 ~/.codex/aifast_link.config.toml 中填写下面两项,只在启动时选择 Link;不要覆盖整个用户配置。

先运行 codex --version 核对版本。旧版本使用不同的 Profile 配置结构,请按官方迁移说明处理后再继续;下面的启动检查会拒绝旧版或无法识别的版本,不会自动升级或改写配置。

model = "YOUR_MODEL_ID"
model_provider = "aifast_link"

这里按默认 CODEX_HOME 路径说明;若已自定义该目录,应把用户配置和 Profile 放到实际配置目录。已有同名 Provider 或 Profile 时,先核对内容,不要直接覆盖。

注意:

  • YOUR_MODEL_ID 必须替换为控制台实际开放的模型 ID。
  • 如果服务只支持 Chat Completions,不要假设改一个字段就能完整支持 Codex。
  • API Key 放在环境变量中,不写入 config.toml。
  • 自定义 Provider ID 不要使用保留的 openai、ollama 或 lmstudio。
  • 上述 Base URL 对应的常规 Responses 地址是 https://www.aifast.link/v1/responses,不是 /v1/v1/responses。

最小验证任务

先创建不含敏感文件的临时 Git 仓库,再以严格配置模式启动:

(
  set -e
  : "${AIFAST_LINK_API_KEY:?Set AIFAST_LINK_API_KEY locally before running}"
  codex_version="$(codex --version)"
  node -e 'const m = /^codex-cli (\d+)\.(\d+)\.(\d+)(?:\s|$)/.exec(process.argv[1]); if (!m || !(Number(m[1]) > 0 || Number(m[2]) >= 134)) { console.error("Codex CLI 0.134.0+ stable required; review the migration guide first."); process.exit(1); }' "$codex_version"
  mkdir codex-link-check
  cd codex-link-check
  git init
  codex --strict-config --profile aifast_link
)

确认启动时没有未知字段错误后,在 Codex 中运行:

Create hello.txt containing exactly connection ok followed by a newline.
Read the file and show git status --short --untracked-files=all.
Do not stage, commit, or modify any other files.

新建文件未被 Git 跟踪时,普通 git diff 可能没有输出。应同时检查文件内容和状态中的 ?? hello.txt;这个检查方法不是本站模型已经实测成功的证明。

下载配置并复核文件产物

Link 独立 GitHub 仓库提供 Provider、Profile 和同一文件任务的模板。下载后不会自动安装配置、读取密钥或发送请求;启动 Codex 执行任务可能产生费用,应使用独立限额 Key。

下载 Link Codex 配置与验收模板

退出测试会话后,进入刚创建的 codex-link-check 目录再运行:

(
  set -e
  node <<'NODE'
const assert = require("node:assert/strict");
const fs = require("node:fs");
const path = require("node:path");
const { execFileSync } = require("node:child_process");
const git = (...args) => execFileSync("git", args, { encoding: "utf8" });
const cwd = fs.realpathSync(".");
assert.equal(path.basename(cwd), "codex-link-check");
assert.equal(fs.realpathSync(git("rev-parse", "--show-toplevel").trim()), cwd);
assert.deepEqual(fs.readdirSync(".").sort(), [".git", "hello.txt"]);
assert.ok(fs.lstatSync(".git").isDirectory());
assert.ok(fs.lstatSync("hello.txt").isFile());
assert.equal(git("status", "--porcelain=v1", "--untracked-files=all", "--ignored", "-z"), "?? hello.txt\0");
git("diff", "--exit-code");
git("diff", "--cached", "--exit-code");
assert.equal(fs.readFileSync("hello.txt", "utf8"), "connection ok\n");
console.log("CODEX_FILE_CHECK_OK");
NODE
)

需要本地 Node.js 22 或以上版本。整段检查仅在 codex-link-check 仓库根目录运行:只允许 .git 与未跟踪的普通文件 hello.txt,内容必须精确匹配且带换行;任何检查失败都会以非零状态退出,全部通过才输出 CODEX_FILE_CHECK_OK。它仅验证本地产物,不证明模型身份、API 路径或费用;这些仍需对应请求记录。

验证四件事:

  1. Codex 能识别模型。
  2. 请求落到预期的 /v1/responses,没有变成 /v1/v1/responses。
  3. 工具调用能正常返回。
  4. 文件修改范围与任务一致。

常见问题

Unsupported parameter 或响应字段缺失

这通常意味着兼容层没有完整实现 Responses API,而不是提示词问题。保存错误正文并核对接口协议。

普通问答成功,执行工具失败

Codex 代理任务依赖工具调用事件和连续响应。文本生成成功只能证明基础请求可用,不能证明完整代理链路可用。

找不到环境变量

从启动 Codex 的同一个终端执行:

test -n "$AIFAST_LINK_API_KEY" && echo "Key 已加载"

不要输出完整 Key。

配置后仍然 401 或请求到了旧提供商

先核对启动参数 --profile aifast_link、Provider ID aifast_link 和环境变量 AIFAST_LINK_API_KEY 三者是否一致。不要把其他网关的 Key 放进 Link 变量,也不要把 ChatGPT 登录成功当作 Link API 认证成功。最终域名应从脱敏请求记录确认,不能只凭模型显示名称判断。

Responses 返回 404 或 HTML

Base URL 填 https://www.aifast.link/v1,让客户端追加 /responses。不要把文档站地址、完整 /v1/responses 或重复 /v1/v1 当作 Base URL。路径正确仍失败时,再检查当前模型和分组是否支持 Responses,不要无限重试。

下一步

配置使用独立 Provider ID 和环境变量,便于在多个网关之间明确选择。GPT 月卡按对应分组提供每日额度,选择前先看 Link 计费说明,并确认目标模型是否属于该分组。

公开运行案例应同时提供客户端版本、测试日期、模型 ID、最终请求路径、脱敏工具事件及任务产物。本文目前提供配置方法,不将尚未取得的本站运行记录写成兼容性结论。

完成基础配置后,继续按Codex 中转 API 验收与排错清单核对实际 Provider、Responses 路径、流式事件、工具调用、上下文压缩和会话恢复。不要用一次普通文本回答代替代码 Agent 验收。

在真实仓库使用前,先测试只读分析、单文件修改、多文件修改和测试命令四类任务,并保留一个可以快速切回的原提供商配置。

已核对来源

参考与核对来源

下一步

创建 Key,完成你的第一次接入

注册后在控制台创建 API Key,选择支持所需协议的模型。先完成短请求验证,再测试流式与工具调用。

注册并创建 API Key 打开控制台查看接入验收步骤