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。
退出测试会话后,进入刚创建的 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 路径或费用;这些仍需对应请求记录。
验证四件事:
- Codex 能识别模型。
- 请求落到预期的
/v1/responses,没有变成/v1/v1/responses。 - 工具调用能正常返回。
- 文件修改范围与任务一致。
常见问题
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,不要无限重试。
下一步
Link 账号与计费验收
配置使用独立 Provider ID 和环境变量,便于在多个网关之间明确选择。GPT 月卡按对应分组提供每日额度,选择前先看 Link 计费说明,并确认目标模型是否属于该分组。
公开运行案例应同时提供客户端版本、测试日期、模型 ID、最终请求路径、脱敏工具事件及任务产物。本文目前提供配置方法,不将尚未取得的本站运行记录写成兼容性结论。
完成基础配置后,继续按Codex 中转 API 验收与排错清单核对实际 Provider、Responses 路径、流式事件、工具调用、上下文压缩和会话恢复。不要用一次普通文本回答代替代码 Agent 验收。
在真实仓库使用前,先测试只读分析、单文件修改、多文件修改和测试命令四类任务,并保留一个可以快速切回的原提供商配置。
- 核对当前模型与价格: 查看 AI快站模型价格,确认目标模型当前支持 Responses API。
- 创建独立测试 Key: 注册 AI快站,先限制额度并从只读任务开始。