写代码的人现在很少只用一个 AI 引擎。
Claude Code 擅长「按需求从零生成一整块东西」——补一个组件、写一版接口、铺一套目录结构,一句话下去它能把文件都建好。Codex(OpenAI 的 CLI)则在「盯着现有代码改」上很顺手——定位一个 bug、按你的意思重构一个函数、顺着栈追一个报错。
于是真实的开发场景经常是这样:先让 Claude Code 把新功能框架搭出来,再切到 Codex 去逐行改逻辑、修边界。两个引擎接力,效率最高。
但如果你走官方,想同时用上这两个引擎,要付出的代价是:
明明只是想「写代码的时候两个引擎随手切」,却被拆成两套订阅、两套网络、两套账号去伺候。
这篇教程给的是另一条路:用一份 apipifa 的 Key,同时驱动 Claude Code 和 Codex。 一次配置,两个引擎都直连国内地址、人民币按量、不碰任何官方账号。下面从原理讲到保姆级配置,再到真实的「先 Claude 后 Codex」接力实测。
关键在于 apipifa 的 API Base 同时兼容两套协议:
API Base: https://api.apipifa.com/v1
这一个地址,同时原生兼容 OpenAI 协议和 Anthropic 协议。也就是说:
两个引擎在客户端侧的接法不一样:
| 引擎 | 客户端怎么接 | 指向 |
|---|---|---|
| Claude Code | 设 ANTHROPIC_BASE_URL 环境变量 | api.apipifa.com/v1 |
| Codex | 改 ~/.codex/config.toml 里的 model_provider | api.apipifa.com/v1 |
接入方式不同,但目的地是同一个 apipifa,用的是同一份 Key。
这就是「一份 Key 双引擎」的底层逻辑:你不需要两个账号、两笔费用,只需要在两个客户端里,各填一次同一个 apipifa 后台的 Key。
和竞品的一个关键差异:某些中转/聚合方案要在本地跑一个转发进程(俗称"本地路由/本地代理"),客户端先连本地那个进程,再由它转发出去,配置更绕、还多一个会崩的环节。apipifa 是客户端直连api.apipifa.com/v1,不需要在本机额外起任何路由进程——Claude Code 直接认ANTHROPIC_BASE_URL,Codex 直接认config.toml的 provider,填完就通。
sk-... 的 Key。auto 全模型通用池——这一点非常重要,下面第五节专门讲。简单说:这一份 Key 不用你手动分组,Claude、Codex、Grok 的模型它都能调,按你实际调用的模型名自动路由和计费。只需要这一个 Key,后面 Claude Code 和 Codex 两边填的都是它。妥善保管,别外泄、别提交进 git 仓库、别贴进公开聊天。
Claude Code 侧的核心就一件事:把它的「大脑地址」从官方改成 apipifa,并塞进你的 Key。
npm install -g @anthropic-ai/claude-code
国内下载慢,可以加淘宝镜像源:
npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com
装完验证:
claude --version
能打印出版本号,说明装好了。
~/.claude/settings.json 指向 apipifa打开(没有就新建)~/.claude/settings.json,在 env 块里填两行:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.apipifa.com/v1",
"ANTHROPIC_AUTH_TOKEN": "<这里填你 apipifa 后台的 Key>"
}
}
ANTHROPIC_BASE_URL:填 apipifa 的地址,Claude Code 以后就把请求发到这里。ANTHROPIC_AUTH_TOKEN:填你上面复制的那个 apipifa Key。有些环境下,Claude Code 启动时会卡在官方的联网 / 登录校验上。如果遇到,做两个小改动跳过它:
~/.claude.json 里加:"hasCompletedOnboarding": true~/.claude/config.json 里加:"primaryApiKey": "any-string"(随便填个非空字符串即可,真正生效的是上面 settings.json 里的 Key)。新开一个终端(让配置生效),进任意项目目录,启动:
claude
进去后随便说一句,比如「用中文跟我打个招呼,并说明你现在用的是哪个模型」。能正常回复,就说明 Claude Code 已经走 apipifa 通了。
Claude Code 侧常用这几个模型名(直接在会话里 /model 切换):
claude-opus-4-8 (4.X 系列最强)
claude-sonnet-5 (最新、最均衡)
claude-sonnet-4-6 (Claude Code 常用)
claude-haiku-4-5 (快、省,Claude Code 常用)
Claude Code 侧更细的坑(联网校验、凭据位置、OAuth 报错等),见我们的「Claude Code 接入 apipifa 保姆级教程」。本文只给能跑通的简版。
Codex 侧的核心也是一件事:在它的配置文件里加一个「apipifa 供应商」,让它把请求发到 apipifa。
Codex 需要 Node ≥ 22。先确认版本:
node -v
低于 22 先升级 Node,再安装:
npm i -g @openai/codex
~/.codex/config.toml 加 apipifa 供应商打开(没有就新建)~/.codex/config.toml,做两处改动:
(a) 文件顶部,指定默认走 apipifa 这个供应商:
model_provider = "apipifa"
(b) 文件末尾,定义这个供应商指向哪里、以及从哪个环境变量读 Key:
[model_providers.apipifa]
name = "apipifa"
base_url = "https://api.apipifa.com/v1"
env_key = "APIPIFA_API_KEY"
这里的 env_key 告诉 Codex:去名为 APIPIFA_API_KEY 的环境变量里取你的 apipifa Key。变量名你可以自定,但要和下一步注入时用的名字完全一致。
Codex 侧的 Key 走环境变量注入——把你那份 apipifa Key 设进上一步 env_key 指定的那个变量(本文用 APIPIFA_API_KEY)。这样 Key 不写死在配置文件里,更安全:
export APIPIFA_API_KEY="<这里填你 apipifa 后台的 Key,和 Claude Code 那份是同一个>"
想每次开终端都自动生效,把这行加进你的 ~/.zshrc 或 ~/.bashrc。
Codex 不会热重载配置。 改完 config.toml 后,必须完全退出并重启 Codex 进程,新配置才生效。很多人「改了没反应」就是漏了这一步。
重启后启动 Codex,在里面用 /model 选一个 Codex 组的模型,随便下一句指令看能否正常响应。
Codex 侧常用这几个模型名:
gpt-5.5
gpt-5.4
gpt-5.4-mini
gpt-5.3-codex
Codex 侧更细的配置(config.toml 完整字段、环境变量注入细节、版本要求等),见我们的「Codex 接入 apipifa 保姆级教程」。本文只给能跑通的简版。
这是「一份 Key 双引擎」能成立的另一半关键,也是很多人最容易忽略的省心点。
新建令牌默认就是 auto 全模型通用池。 它的含义是:
具体到本文的场景:
Claude Code 发来请求,模型名 = claude-opus-4-8 → apipifa 自动走 Claude,按 Claude 计费
Codex 发来请求, 模型名 = gpt-5.3-codex → apipifa 自动走 Codex,按 Codex 计费
(哪天想用 Grok) 模型名 = grok-4.3 → apipifa 自动走 Grok,按 Grok 计费
三个引擎、三套模型,共用同一份 Key,计费各按各的,账单在 apipifa 后台一处看全。
对你意味着什么:配一次、拿一个 Key、两个客户端各填一次,之后你在 Claude Code 和 Codex 之间怎么切都行,不用回后台切分组、不用换 Key、不用重配。
光说不够,走一遍真实的「双引擎接力」——全程只有一份 apipifa Key。
第 1 步:用 Claude Code 生成一个组件。
在项目目录里 claude,下指令:
帮我写一个 React 的图片懒加载组件 LazyImage,用 IntersectionObserver 实现,
支持传入 src / alt / placeholder,进入视口再加载真实图片。
Claude Code(走 claude-opus-4-8,请求发到 apipifa)把 LazyImage.jsx 整个建出来,结构清爽、props 齐全。这一步用的是 apipifa 里那份 Key 的 Claude 那一路。
第 2 步:发现一个边界 bug,切到 Codex 去改。
跑起来发现:组件卸载时没有 disconnect() 那个 observer,快速切换路由会攒下一堆没释放的监听。这种「盯着现有代码找问题、精准改一处」的活,交给 Codex。
退出 Claude Code,启动 Codex(走 gpt-5.3-codex,请求同样发到 apipifa),下指令:
看一下 LazyImage.jsx,组件 unmount 时 IntersectionObserver 没有 disconnect,
会内存泄漏。在 useEffect 的清理函数里补上 observer.disconnect()。
Codex 定位到那个 useEffect,在 return 的清理函数里补上 observer.disconnect(),只动了该动的那几行。
这一整套接力,你没有换过 Key、没有回后台切分组、没有碰过第二个账号。 Claude Code 那一路走 Claude 计费,Codex 那一路走 Codex 计费,auto 池按模型名各自记账,后台一处看清。「Claude 搭骨架 → Codex 修细节」这条你早就想要的工作流,一份 Key 就跑通了。
Q1:两个客户端都填同一个 Key,会不会串? A:不会。apipifa 是按请求里的模型名路由的——Claude Code 发的是 Claude 模型名、Codex 发的是 GPT 模型名,auto 池各认各的、各算各的账。同一份 Key 天然支持多引擎并行。
Q2:报 401 / 鉴权失败? A:先查 Key 有没有填错、有没有多余空格。Claude Code 侧确认 ANTHROPIC_AUTH_TOKEN 是那份 apipifa Key;Codex 侧确认 config.toml 里的 env_key 名字和你 export 的环境变量名一致、且变量确实注入成功(可用 echo $APIPIFA_API_KEY 验证非空)。两边填的应该是同一个 apipifa Key。
Q3:base URL 尾缀 /v1 到底加不加? A:本文两个引擎都用 https://api.apipifa.com/v1。如果你从别处看到不带 /v1 的根地址写法,那是特定客户端的历史约定;按本文照抄 https://api.apipifa.com/v1 即可。填错尾缀最典型的表现就是 404。
Q4:报 404 / Not Found? A:九成是 base_url 填错(域名拼错、尾缀不对、或漏了 https://)。逐字符核对 https://api.apipifa.com/v1。
Q5:提示模型不存在 / 模型名无效? A:模型名要精确照本文写。Claude 侧:claude-opus-4-8 / claude-sonnet-5 / claude-sonnet-4-6 / claude-haiku-4-5;Codex 侧:gpt-5.5 / gpt-5.4 / gpt-5.4-mini / gpt-5.3-codex。老型号(如 opus-4-6、gpt-5.2)已下线,别再填。
Q6:Codex 改完配置没反应? A:Codex 不热重载。 改完 ~/.codex/config.toml 必须完全退出并重启 Codex 进程。这是 Codex 侧头号坑。
Q7:Claude Code 卡在官方登录 / 联网校验? A:按第三节步骤 3 处理——~/.claude.json 加 "hasCompletedOnboarding": true、~/.claude/config.json 加 "primaryApiKey": "any-string",跳过官方校验后就走 apipifa 了。
Q8:嫌改配置文件麻烦,有没有一键切的办法? A:有。开源工具 CC Switch(系统托盘一键切后端)可以给 Claude 和 Codex 各建一张卡,填的 Base URL 都是 https://api.apipifa.com/v1、Key 都是同一份 apipifa Key,之后托盘里点一下就切引擎。添加时记得选【自定义供应商】(不是预设),再填 Base URL 和 Key 保存启用即可。详见我们的「CC Switch 接入 apipifa 教程」。
不比具体价格,只看你要付出的「份数」——差距一目了然:
| 维度 | 两份官方订阅 | 一份 apipifa Key |
|---|---|---|
| 订阅 / 计费 | Claude、ChatGPT 两笔月费 | 一份 Key,人民币按量,用多少算多少 |
| 付款方式 | 两套外币信用卡,还要防拒卡 | 人民币(支付宝 / 微信),不用外币卡 |
| 网络 | 两个官方域名各自要能稳定翻墙 | 国内直连 api.apipifa.com/v1,不用翻墙 |
| 本地进程 | —— | 不用起本地路由,客户端直连 |
| 额度限制 | 官方各有 5 小时窗口 / 用量墙 | 按量计费,无官方 5 小时额度墙 |
| 账号风险 | 两个官方账号都要维护登录态 | 不走官方登录态,不涉及官方账号封号风险 |
| 管理 | 两处账单、两处配额、两处后台 | 一处后台看全部调用与计费 |
一句话:两份官方订阅是「两套东西各养一份」,一份 apipifa Key 是「一份东西喂两个引擎」。对既要 Claude Code、又要 Codex 的开发者,后者从付费、网络、账号到管理都更省心。
关于合规:apipifa 是正规的人民币 API 中转服务,通过标准 API 协议为你转发请求。它不走官方登录态,所以你在用它的时候,不涉及官方账号的封号风险——这和「破解官方 / 白嫖」是两回事,请勿混淆。
如果你也是「Claude Code 搭骨架、Codex 修细节」两个引擎都想要的人,不用再为它去养两份订阅、两套外币卡、两条翻墙线路。
auto 全模型通用池,一份通吃 Claude / Codex / Grok)。具体的按量单价、包月档、以及每个模型的计费,以 apipifa 价格页 / 后台实时为准(会随行情调整,这里不写死数字,以免过期误导你)。想先小额试水也行,按量计费本身就是「用多少付多少」,试通了再上量。
一份 Key,两个引擎,人民币按量,国内直连。去 apipifa 开个号,把 Claude Code 和 Codex 都接上,自己跑一遍这条接力流水线。