文档 · 指南

中转站 API 接入 Claude Code、Codex 等 Agent

中转站用一把 Key 卖很多家的模型,价格常常和官方不一样,模型名也常常带着自己的前缀。magpie 把中转站当成一个供应商:Agent 里写 中转站/模型 就能用,价格、模型名和窗口都可以按中转站的实际情况改。

添加中转站

  1. 内置的中转站。AiHubMix、PipeLLM、302.AI、CherryIN、鱼鱼连线已经是预设,填一把 API 密钥 就行。鱼鱼连线还可以选 Auto、Global 或 China Mainland 线路。
  2. 其他中转站。填它的地址:url= 是 OpenAI 兼容的地址,anthropic= 是 Anthropic 兼容的地址,两个都有就都填;另有单独 Responses 地址的再加 responses=。
终端
magpie presets
magpie provider add aihubmix sk-…
magpie provider add "My Relay" url=https://relay.example.com/v1 anthropic=https://relay.example.com key=sk-…
magpie provider test "My Relay"

magpie provider test 对每种 API 各发一个很小的请求,并给出延迟。

Claude 模型的缓存

中转站同时有 OpenAI 和 Anthropic 两种地址时,Claude 模型不管 Agent 说的是哪种协议,都发到 Anthropic 的 Messages:不少中转站在 Chat 接口上会丢掉 cache_control,每一轮都按没缓存计费,思考也一起丢了(#997)。所以中转站有 Anthropic 地址,就把它填上。

按中转站的价格记账

magpie 默认按模型厂商的官方价格算一次调用的花费。中转站打折或者加倍率时,这个数就不对,把中转站的实际价格告诉 magpie,用量明细和会话合计就按它算:

终端
magpie model price relay-a/gpt-5.5 0.12,0.60,0.01,0.15
magpie model price relay-a/gpt-5.5
magpie model prices

四个数依次是输入、输出、缓存读、缓存写,单位是美元每百万 token,四个都要填;0 表示这个模型不花钱。中转站把 kimi-k3 改名成 moonshot-kimi-k3 卖时,回答里写的是 kimi-k3,没有价格的改名模型就按 kimi-k3 在同一个中转站的价格算。

模型名和窗口

中转站常给模型加自己的前缀或日期。magpie model wire 指定发给中转站的模型名,* 代表模型本身;models.dev 没收录或收录错了的模型,用 magpie model context 和 magpie model output 补上窗口和回复上限:

终端
magpie model wire 'relay-b/*' 'vendor-c/*'
magpie model wire relay-b/model-2 --reset
magpie model context "relay-a/*" 200000
magpie model output relay-a/gpt-5.5 131072

在 zsh 里带 * 的参数要加引号,否则会报 no matches found。窗口和上限按这个顺序找:这个模型 → 这个供应商的 * → 供应商自己的列表 → models.dev。

模型列表

中转站上新模型很快。让网关定时去取列表,再用规则把新模型自动放进选择器:

终端
magpie provider refresh-every relay 6h
magpie provider auto-include relay 'gpt-*' 're:claude-.*'

几点说明

常见问题

magpie 能接 API 中转站吗?

能。AiHubMix、PipeLLM、302.AI、CherryIN、鱼鱼连线是预设,填 Key 即可;其他中转站用 magpie provider add 填 OpenAI 兼容地址和 Anthropic 兼容地址。

通过中转站用 Claude 模型,缓存为什么不命中?

很多中转站在 Chat 接口上会丢掉 cache_control。填上中转站的 Anthropic 地址,magpie 就把 Claude 模型都发到 Messages,缓存和思考都能保住。

中转站打折,花费怎么算才对?

用 magpie model price 中转站/模型 填上输入、输出、缓存读、缓存写四个价格(美元每百万 token),用量和会话合计就按它算。

中转站的模型名带前缀怎么办?

用 magpie model wire 指定发给中转站的名字,比如 'relay-b/*' 'vendor-c/*' 会把每个模型都加上 vendor-c/ 前缀再发出去。

相关页面:OpenRouter 接入 Claude Code、Codex、Gemini CLI 和 OpenCode、多个账号、Key 和供应商轮询与故障切换。遇到错误请看 常见错误排查:401、429、502、504 等,或者到 Discord 提问。