先说痛点:你其实想要「两个引擎」,但官方逼你走两条路

写代码的人现在很少只用一个 AI 引擎。

Claude Code 擅长「按需求从零生成一整块东西」——补一个组件、写一版接口、铺一套目录结构,一句话下去它能把文件都建好。Codex(OpenAI 的 CLI)则在「盯着现有代码改」上很顺手——定位一个 bug、按你的意思重构一个函数、顺着栈追一个报错。

于是真实的开发场景经常是这样:先让 Claude Code 把新功能框架搭出来,再切到 Codex 去逐行改逻辑、修边界。两个引擎接力,效率最高。

但如果你走官方,想同时用上这两个引擎,要付出的代价是:

明明只是想「写代码的时候两个引擎随手切」,却被拆成两套订阅、两套网络、两套账号去伺候。

这篇教程给的是另一条路:用一份 apipifa 的 Key,同时驱动 Claude Code 和 Codex。 一次配置,两个引擎都直连国内地址、人民币按量、不碰任何官方账号。下面从原理讲到保姆级配置,再到真实的「先 Claude 后 Codex」接力实测。


一、为什么一份 Key 能驱动两个引擎?

关键在于 apipifa 的 API Base 同时兼容两套协议:

API Base:  https://api.apipifa.com/v1

这一个地址,同时原生兼容 OpenAI 协议和 Anthropic 协议。也就是说:

两个引擎在客户端侧的接法不一样:

引擎客户端怎么接指向
Claude CodeANTHROPIC_BASE_URL 环境变量api.apipifa.com/v1
Codex~/.codex/config.toml 里的 model_providerapi.apipifa.com/v1

接入方式不同,但目的地是同一个 apipifa,用的是同一份 Key。

这就是「一份 Key 双引擎」的底层逻辑:你不需要两个账号、两笔费用,只需要在两个客户端里,各填一次同一个 apipifa 后台的 Key。

和竞品的一个关键差异:某些中转/聚合方案要在本地跑一个转发进程(俗称"本地路由/本地代理"),客户端先连本地那个进程,再由它转发出去,配置更绕、还多一个会崩的环节。apipifa 是客户端直连 api.apipifa.com/v1,不需要在本机额外起任何路由进程——Claude Code 直接认 ANTHROPIC_BASE_URL,Codex 直接认 config.toml 的 provider,填完就通。

二、准备工作:拿到你的 apipifa Key

  1. 打开 apipifa 后台,注册 / 登录。
  2. 进控制台,在 API 密钥 / 令牌 里新建一个令牌,复制形如 sk-... 的 Key。
  3. 新建令牌默认就是 auto 全模型通用池——这一点非常重要,下面第五节专门讲。简单说:这一份 Key 不用你手动分组,Claude、Codex、Grok 的模型它都能调,按你实际调用的模型名自动路由和计费。
只需要这一个 Key,后面 Claude Code 和 Codex 两边填的都是它。妥善保管,别外泄、别提交进 git 仓库、别贴进公开聊天。

三、Claude Code 侧配置(简版)

Claude Code 侧的核心就一件事:把它的「大脑地址」从官方改成 apipifa,并塞进你的 Key。

步骤 1:安装 Claude Code

npm install -g @anthropic-ai/claude-code

国内下载慢,可以加淘宝镜像源:

npm install -g @anthropic-ai/claude-code --registry=https://registry.npmmirror.com

装完验证:

claude --version

能打印出版本号,说明装好了。

步骤 2:改 ~/.claude/settings.json 指向 apipifa

打开(没有就新建)~/.claude/settings.json,在 env 块里填两行:

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.apipifa.com/v1",
    "ANTHROPIC_AUTH_TOKEN": "<这里填你 apipifa 后台的 Key>"
  }
}

步骤 3(可能需要):跳过官方联网校验

有些环境下,Claude Code 启动时会卡在官方的联网 / 登录校验上。如果遇到,做两个小改动跳过它:

步骤 4:跑通验证

新开一个终端(让配置生效),进任意项目目录,启动:

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 侧配置(简版)

Codex 侧的核心也是一件事:在它的配置文件里加一个「apipifa 供应商」,让它把请求发到 apipifa。

步骤 1:安装 Codex

Codex 需要 Node ≥ 22。先确认版本:

node -v

低于 22 先升级 Node,再安装:

npm i -g @openai/codex

步骤 2:改 ~/.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。变量名你可以自定,但要和下一步注入时用的名字完全一致

步骤 3:用环境变量注入 Key

Codex 侧的 Key 走环境变量注入——把你那份 apipifa Key 设进上一步 env_key 指定的那个变量(本文用 APIPIFA_API_KEY)。这样 Key 不写死在配置文件里,更安全:

export APIPIFA_API_KEY="<这里填你 apipifa 后台的 Key,和 Claude Code 那份是同一个>"

想每次开终端都自动生效,把这行加进你的 ~/.zshrc~/.bashrc

步骤 4:重启 Codex 进程(关键,别漏)

Codex 不会热重载配置。 改完 config.toml 后,必须完全退出并重启 Codex 进程,新配置才生效。很多人「改了没反应」就是漏了这一步。

步骤 5:跑通验证

重启后启动 Codex,在里面用 /model 选一个 Codex 组的模型,随便下一句指令看能否正常响应。

Codex 侧常用这几个模型名:

gpt-5.5
gpt-5.4
gpt-5.4-mini
gpt-5.3-codex
Codex 侧更细的配置(config.toml 完整字段、环境变量注入细节、版本要求等),见我们的「Codex 接入 apipifa 保姆级教程」。本文只给能跑通的简版。

五、auto 全模型通用池:一份 Key,按模型名自动路由计费

这是「一份 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、不用重配


六、实测:同一份 Key,先 Claude 生成、再切 Codex 改 bug

光说不够,走一遍真实的「双引擎接力」——全程只有一份 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 就跑通了。


七、FAQ:双引擎接入最常见的坑

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 教程」。


八、一份 Key vs 两份官方订阅:到底省在哪

不比具体价格,只看你要付出的「份数」——差距一目了然:

维度两份官方订阅一份 apipifa Key
订阅 / 计费Claude、ChatGPT 两笔月费一份 Key,人民币按量,用多少算多少
付款方式两套外币信用卡,还要防拒卡人民币(支付宝 / 微信),不用外币卡
网络两个官方域名各自要能稳定翻墙国内直连 api.apipifa.com/v1,不用翻墙
本地进程——不用起本地路由,客户端直连
额度限制官方各有 5 小时窗口 / 用量墙按量计费,无官方 5 小时额度墙
账号风险两个官方账号都要维护登录态不走官方登录态,不涉及官方账号封号风险
管理两处账单、两处配额、两处后台一处后台看全部调用与计费

一句话:两份官方订阅是「两套东西各养一份」,一份 apipifa Key 是「一份东西喂两个引擎」。对既要 Claude Code、又要 Codex 的开发者,后者从付费、网络、账号到管理都更省心。

关于合规:apipifa 是正规的人民币 API 中转服务,通过标准 API 协议为你转发请求。它不走官方登录态,所以你在用它的时候,不涉及官方账号的封号风险——这和「破解官方 / 白嫖」是两回事,请勿混淆。

九、下一步:开个号,拿一份 Key 把两个引擎都接上

如果你也是「Claude Code 搭骨架、Codex 修细节」两个引擎都想要的人,不用再为它去养两份订阅、两套外币卡、两条翻墙线路。

  1. apipifa 注册,后台新建一个令牌,复制那份 Key(默认就是 auto 全模型通用池,一份通吃 Claude / Codex / Grok)。
  2. 按本文第三节把 Claude Code 接上、第四节把 Codex 接上——两边填的是同一份 Key
  3. 各跑通一次验证,然后就能在两个引擎之间随手接力了。

具体的按量单价、包月档、以及每个模型的计费,以 apipifa 价格页 / 后台实时为准(会随行情调整,这里不写死数字,以免过期误导你)。想先小额试水也行,按量计费本身就是「用多少付多少」,试通了再上量。

一份 Key,两个引擎,人民币按量,国内直连。去 apipifa 开个号,把 Claude Code 和 Codex 都接上,自己跑一遍这条接力流水线。