|

手把手教程:一個 Key 接上所有 Agent,用開源 magpie 統一接入 API 網關(以 Claude Code、Codex、Pi、Hermes 爲例)

作者注:這是一篇可以照着做完的教程。讀完並跟着做一遍,你會得到一套“一個 Key、一個網關地址、裝了幾個 Agent 就管幾個”的配置;以後換模型、輪換 Key,只需要改一個地方。

開始之前,先看清楚你要做什麼

  • 目標:你機器上所有的編程 Agent 共用同一個 API Key 和同一個上游地址(本文以 Claude Code、Codex、Pi、Hermes 這四個爲例,裝了幾個就接幾個)
  • 耗時:約 30 分鐘(不含註冊和網絡下載時間)
  • 前置條件:一個 API易 令牌(也可以是任何 OpenAI / Anthropic 兼容的中轉或官方 Key)、一臺能跑命令行的電腦、至少裝好一個 Agent
  • 難度:★★☆☆☆,會用鼠標點幾下、會複製粘貼即可,全程不用敲命令

教程路線圖

步驟 你要做的事 做完的驗收標準
第 1 步 在 API易 領一個令牌 令牌複製好,兩個地址知道填哪個
第 2 步 裝好 magpie,認出它的兩個頁面 窗口能打開「Agent」和「供應商」
第 3 步 在「供應商」裏掛上你的 Key 列表裏出現你的供應商,顯示模型數
第 4 步 在「Agent」頁逐個打開接入開關、選模型 開關變綠,狀態顯示已接入
第 5 步 每個 Agent 各跑一句話驗證 每個工具都能正常返回
第 6 步(可選) 不裝 magpie 的原生配置對照 知道 magpie 到底改了你哪個文件

magpie-unify-claude-code-codex-pi-hermes-api-gateway-zh-hant-image-0


三分鐘看懂:magpie 到底在中間做了什麼

如果你只是想要“照做就行”,可以跳過這一節;但花三分鐘看完,後面排錯會快很多。

不同 Agent 對上游模型的要求差異很大,手動配一遍,裝幾個就要維護幾套配置。下面以四個最常見的爲例:

Agent 工具 主要協議 常見配置位置 手動配置痛點
Claude Code Anthropic Messages 環境變量或 ~/.claude/settings.json 必須是 Anthropic 格式的端點
Codex OpenAI Responses / Chat ~/.codex/config.toml 需要自定義 provider 段落
Pi(編程 Agent) 支持多種 provider Pi 的模型配置文件 要單獨聲明自定義 provider 和模型列表
Hermes Agent OpenAI 兼容等 Hermes 配置目錄與 .env 需要選擇自定義端點並填 Key

magpie(倉庫 github.com/yetone/magpie,口號 “Every agent’s model. One place.”)解決的就是這件事:它把“哪個 Agent 用哪個模型、讀哪個 Key”集中到一個窗口裏管理,再由它去改寫各工具自己的原生配置。

一句話分工:

  • magpie 管分發:決定 Claude Code 用哪個模型、Codex 用哪個模型
  • 網關管協議:把 Anthropic / OpenAI / Gemini 三種格式的請求,轉發到真正的模型廠商

magpie-unify-claude-code-codex-pi-hermes-api-gateway-zh-hant-image-1

所以你的上游網關,最好支持多協議

理想組合是“magpie 管分發,網關管協議”。如果網關只支持 OpenAI 兼容格式,Claude Code 就得額外套一層協議轉換,鏈路變長,也更容易出現工具調用格式不一致的問題。

API易 的做法是一個令牌兼容三種主流協議:OpenAI 兼容、Anthropic 原生、Gemini 格式都能用同一個 Key 調用(具體支持範圍以控制檯說明爲準)。這樣 magpie 後面只掛一個上游,所有 Agent 都能直接接入,不用分別維護廠商賬號和賬單。

三種做法怎麼選

magpie-unify-claude-code-codex-pi-hermes-api-gateway-zh-hant-image-2

方案 改動點 協議適配 Key 輪換成本 適合人羣
手動逐個配置 4 份配置 + 多個廠商賬號 自己處理 高,改 4 處以上 只用 1-2 個工具
環境變量腳本 1 個腳本 依賴網關多協議 低,改 1 處 偏好極簡的開發者
magpie + 多協議網關 1 處集中管理 網關負責 低,且能按 Agent 分配模型 同時用 3 個以上 Agent

手動配置最直接,但工具一多,Key 分散在一堆文件裏,輪換和排錯成本明顯上升。環境變量腳本零依賴、幾十行就能搞定,但沒法給不同 Agent 分配不同模型。“Claude Code 用 Claude、Codex 用 GPT、Hermes 用便宜模型”這種需求,只有 magpie 這類集中管理方案做起來順手。


第 1 步:領一個 Key,複製就行

1.1 在 API易 控制檯創建令牌

到 API易 控制檯(apiyi.com)創建令牌,複製出來。

這一步不用敲任何命令。 後面整個流程裏,這個 Key 只出現一次:粘進 magpie 的「供應商」面板(第 3 步)。粘完它自己會把各個 Agent 的配置文件寫好,你不需要 export 環境變量,也不需要改 config.toml、settings.json 這些東西。

🚀 還沒有令牌? 可以先去 API易 apiyi.com 註冊並領取測試額度,用一個令牌把常駐的幾個工具都跑通,再決定長期用哪些模型。

1.2 兩個地址記在手邊

第 3 步填供應商時要選填哪一個:

用途 地址
OpenAI 兼容端點(Codex、Pi、Hermes 等) https://api.apiyi.com/v1
Anthropic 原生端點(Claude Code) https://api.apiyi.com

✅ 本步驗收:令牌已經在剪貼板裏,知道第 3 步該填哪個地址。


第 2 步:裝好 magpie,先認出這兩個頁面

magpie 的源碼、安裝方式和配置格式以官方倉庫 README 爲準(github.com/yetone/magpie)。項目迭代比較快,安裝命令和字段名可能隨版本變化,下面的界面截圖和操作順序纔是長期有效的那部分。

裝好啓動後,你會看到一個左側帶導航的窗口。整篇教程只需要用到其中兩個頁面:Agent(誰用哪個模型)和供應商(Key 掛在哪裏)。

① 左側導航裏的 Agent,就是你所有 Agent 的“總開關面板”:

Agent 頁:所有 Agent 共用一個 Key

圖 1 · Agent 頁:每個工具一行,右側開關控制是否接入 magpie,開關右邊是模型下拉框

在這個頁面上你需要認出三樣東西:

位置 含義 教程裏用在哪
每行左側的圖標和名字 一個 Agent 工具(Claude Desktop、Codex、Pi、Hermes Agent…) 第 4 步逐個打開
名字下面那行灰字 當前狀態:已接入 / 未接入 / 只能用自帶模型 第 5 步驗證
右側的開關 + 模型下拉 打開接入、選這個 Agent 用哪個模型 第 4 步

② 左側導航裏的 供應商,是掛上遊 Key 的地方(下一節細講)。

如果你想先理解 magpie 的配置文件長什麼樣,可以瞄一眼官方 README 的 providers / agents 結構,大意是“給上游起個名字、寫 base_url 和 Key,再給每個 Agent 指一個模型”。但日常操作全部在窗口裏點就行:magpie 會替你把各工具的原生配置寫好,比手改 YAML 穩得多。

✅ 本步驗收:窗口能打開,左側能看到 Agent 和 供應商 兩項。


第 3 步:在「供應商」裏掛上你的 Key

3.1 進入供應商頁

點左側的 供應商(圖 2 裏紅框 ①),進頁後點右上角的 + 添加供應商(紅框 ②):

供應商頁:添加供應商入口

圖 2 · 供應商頁:左側導航進「供應商」,右上角「+ 添加供應商」是唯一入口

已經掛上的供應商會以卡片形式列在這裏,卡片第二行是它的地址和可用模型數(例如 api.apiyi.com · 11 個模型)。想確認“到底能不能用”,先看這一行有沒有數字。

3.2 選哪一類供應商

點開「+ 添加供應商」後,會看到一個分成好幾組的選擇面板(圖 3):

添加供應商面板:五類供應商來源

圖 3 · 添加供應商面板:訂閱、供應商、中轉、本機、另一臺電腦上的 magpie 五類來源

面板裏的分組,對應五種不同的 Key 形態:

分組 裏面是什麼 什麼時候選它
訂閱(登錄即可,無需密鑰) Claude、ChatGPT、Cursor、Copilot、Gemini CLI 等官方訂閱 你買的是官方訂閱,想讓它同時服務別的 Agent
供應商(模型廠商的 API) Anthropic、OpenAI、Google Gemini、DeepSeek、Kimi、智譜、MiniMax 等 你直接持有某家廠商的 Key
中轉(一個密鑰,多家模型) APIYI 這類聚合中轉 你用一箇中轉 Key 調多家模型
本機 Ollama、LM Studio、MLX 之類本地服務 你有本地跑的模型
另一臺電腦上的 magpie 局域網裏另一臺機器共享的 magpie 多臺機器共用一套配置

用 API易 的話:它的 OpenAI 兼容端點就是標準的中轉形態,選 中轉 組裏對應的條目;如果你手上就是一把自定義的 OpenAI / Anthropic 兼容 Key,直接點最下面的 + 自定義供應商(圖 3 紅框),把地址和 Key 填進去即可,地址填 https://api.apiyi.com/v1(Anthropic 原生請求則填 https://api.apiyi.com)。

這就是一個供應商點開後的完整面板,跟你有關的只有四行:

APIYI 供應商配置面板:協議、賬號、模型

圖 4 · APIYI 供應商的配置頁:Base URL 先選協議再填地址,Accounts 放 Key,Models 勾選要開放給 Agent 的模型

這一行 你要填什麼
Base URL 先選協議(OpenAI 兼容 / Anthropic 兼容 / Gemini 兼容),下面再填地址
Accounts 你的 Key。可以放多把,第一把額度用完自動換下一把
Models 勾選要開放給 Agent 的模型;第 4 步那個模型下拉里出現的,就是這裏勾選的
Agents 哪些 Agent 能把它當自己的模型來源

這張圖正好把前面那句“一個令牌多種協議”落地了:地址都是 https://api.apiyi.com,選 Anthropic 兼容 就是 Claude Code 要的原生端點,選 OpenAI 兼容 就是 Codex / Pi / Hermes 用的 /v1 端點,選 Gemini 兼容 同理。不用維護三家供應商、三把 Key。

填完保存,回到供應商列表確認兩件事:卡片第二行有模型數、開關是打開的。看到 · N 個模型 就說明 Key 和地址是通的——這一步本身就是自檢,不用另外跑命令。

✅ 本步驗收:供應商列表裏出現你的卡片,顯示類似 · N 個模型,不是「未設置」。


第 4 步:把裝好的 Agent 逐個接進來

回到 Agent 頁,對每個你裝過的工具做同樣三件事。這一頁會列出 magpie 能接的全部 Agent(還在不斷增加,沒裝的那幾個顯示「未找到 CLI」),裝了幾個就接幾個,下面的表格只是拿最常見的四個舉例:

  1. 打開右側開關(從灰變亮)
  2. 在開關右邊選模型(不選就用默認;這裏選的模型會寫進該工具自己的配置)
  3. 按提示重開這個工具(Codex、Claude Code、Pi、Hermes 多數需要重開一次進程纔會讀到新配置)

模型下拉:默認 與 經 magpie 的模型列表

圖 5 · 點開模型下拉:第一項「默認」讓這個 Agent 用它自帶的模型、不經 magpie;下面每一條都標着「經 magpie」,選中哪條,它就走上游供應商的那一個模型

Agent 打開開關後會發生什麼 需要重開嗎
Claude Code magpie 改寫它讀的 base_url 與 token,指向自己的網關 需要,exit 後重新 claude
Codex magpie 在 ~/.codex/config.toml 裏寫入 provider 段 需要,重開終端裏的 codex
Pi magpie 往 Pi 的模型配置里加一個自定義 provider 需要,重開 Pi
Hermes Agent magpie 往 Hermes 配置目錄寫入自定義端點 需要,重開 Hermes

幾個常見狀態,看到這些就說明方向是對的:

  • 已接入:配置已經寫好,重開工具後生效
  • 未接入 · 用 XXX 自己的設置:開關沒打開,或者還沒選模型
  • 只能用 XXX 自己的模型,magpie 無法接入:這個工具(例如 Cursor)只允許用自己的模型,屬於設計限制,不是配置錯了
  • 未找到 CLI:這個工具沒裝或不在 PATH 裏,裝好或補 PATH 再來

💡 想給不同 Agent 配不同模型(Claude Code 用 Claude、Codex 用 GPT、Hermes 用便宜的),就在這一步分別選。這也是 magpie 相對“環境變量腳本”的主要優勢。

✅ 本步驗收:已裝工具的開關都打開,狀態行不再是「未接入」。


第 5 步:每個 Agent 各跑一句話驗證

配置寫完不算完成,跑通才算。每個工具裏發一句最簡單的任務:

Agent 驗證動作 期望結果
Claude Code claude 啓動後輸入“看一下當前目錄,列三個文件名” 正常返回,不報 401 / 404
Codex codex 啓動後問“這個倉庫用什麼語言寫的?” 正常返回,不報 provider 相關錯誤
Pi 啓動 Pi,隨便發一句讓它解釋一段代碼 正常返回
Hermes Agent 啓動後問一個一句話問題 正常返回

想確認請求真的走了網關,最省事的辦法是去 API易 控制檯看這個令牌的用量/日誌:有新的調用記錄,就說明所有 Agent 的請求確實都匯到了同一個 Key 上。

✅ 本步驗收:每個 Agent 都能正常返回,控制檯裏能看到對應的調用記錄。


附:模型怎麼選(不確定時的默認答案)

搭配 Agent 推薦模型方向 協議端點
Claude Code Claude 系列(它最熟悉自家模型的工具調用格式) Anthropic 原生
Codex CLI GPT / Codex 系列 OpenAI Responses
Pi 按任務靈活切換,寫代碼用強的、改文檔用便宜的 OpenAI 兼容
Hermes 性價比模型或長上下文模型 OpenAI 兼容

💡 建議同一個任務分別在不同 Agent 和模型上各跑一遍:有統一令牌,切換只需要改模型名,對比成本很低。


第 6 步(可選):magpie 到底替你寫了哪些配置

這一節不影響你跑通,也不是必須做的步驟。日常使用完全不用碰這些文件:第 4 步打開開關的那一刻,magpie 已經把下面這些內容寫好了。放在這裏只爲兩件事——出問題時知道該查哪一層,以及你哪天不想用 magpie 時可以直接照抄。

Claude Code:ANTHROPIC_BASE_URL + ANTHROPIC_AUTH_TOKEN

export ANTHROPIC_BASE_URL="https://api.apiyi.com"   # Anthropic 原生端點
export ANTHROPIC_AUTH_TOKEN="$APIYI_API_KEY"
# 可選:指定默認模型(以控制檯模型列表爲準)
# export ANTHROPIC_MODEL="<Claude 模型名>"
claude

也可以寫進 ~/.claude/settings.json 的 env 字段,這樣不依賴終端會話。

Codex:~/.codex/config.toml 裏的 provider 段

# ~/.codex/config.toml
model = "<GPT 系列模型名>"
model_provider = "apiyi"

[model_providers.apiyi]
name = "APIYI"
base_url = "https://api.apiyi.com/v1"   # OpenAI 兼容端點
env_key = "APIYI_API_KEY"
wire_api = "responses"                   # 若所選模型不支持 Responses,改爲 "chat"

wire_api 是最容易踩的坑:Codex 新版默認走 Responses 協議,如果網關側這個模型只開放了 Chat Completions,就必須改成 chat。

Pi 與 Hermes:聲明一個自定義 OpenAI 兼容 provider

思路一致:base_url 填 https://api.apiyi.com/v1,Key 引用 APIYI_API_KEY。不同版本結構有差異,以各自官方文檔爲準:

展開:Pi / Hermes 配置參考 + 一鍵切換腳本
// Pi:在自定義模型配置裏聲明 provider(結構以 Pi 官方文檔爲準)
{
  "providers": {
    "apiyi": {
      "baseUrl": "https://api.apiyi.com/v1",
      "api": "openai-completions",
      "apiKey": "APIYI_API_KEY",
      "models": [{ "id": "<模型名>" }]
    }
  }
}
# Hermes:運行 hermes model,選擇自定義 OpenAI 兼容端點,
# 按提示填入以下信息(或寫入 Hermes 配置目錄的 .env / config)
#   Base URL : https://api.apiyi.com/v1
#   API Key  : $APIYI_API_KEY
#   Model    : <模型名>
#!/usr/bin/env bash
# agents-env.sh —— 不依賴 magpie 的備用方案:一個 Key 驅動所有 Agent
# 用法:source agents-env.sh
: "${APIYI_API_KEY:?請先 export APIYI_API_KEY}"

# Claude Code(Anthropic 協議)
export ANTHROPIC_BASE_URL="https://api.apiyi.com"
export ANTHROPIC_AUTH_TOKEN="$APIYI_API_KEY"

# Codex / Pi / Hermes 等 OpenAI 兼容工具的通用變量
export OPENAI_BASE_URL="https://api.apiyi.com/v1"
export OPENAI_API_KEY="$APIYI_API_KEY"

# 連通性自檢
curl -s "$OPENAI_BASE_URL/models" \
  -H "Authorization: Bearer $APIYI_API_KEY" | head -c 300 && echo
echo "✅ 所有 Agent 已指向同一網關"

習慣命令行的話,把腳本里那幾行 `export` 抄進 `~/.zshrc` 就行。只想確認 Key 能不能用,一條命令足夠:

curl -s "https://api.apiyi.com/v1/models" \
  -H "Authorization: Bearer sk-你的令牌" | head -c 300

能打印出模型列表(一堆 `”id”:”…”`)就說明令牌和地址都沒問題。


出問題先看這裏:四個高頻報錯

報錯現象 常見原因 怎麼修
Claude Code 401 / 鑑權失敗 Key 寫到了 ANTHROPIC_API_KEY,或 base_url 多加了 /v1 用 ANTHROPIC_AUTH_TOKEN,base 只寫域名
Codex 404 / 路由不存在 wire_api 與模型支持的協議不匹配 在 responses 和 chat 之間切換試
模型不存在 模型名拼錯,或令牌沒開通這個模型 在「供應商」裏點開模型下拉,看列表裏有沒有這個模型;命令行黨可以 curl /models 覈對
Pi / Hermes 無響應 沒聲明自定義 provider,或 Key 變量沒生效 echo $APIYI_API_KEY,重開終端

排查順序永遠是自下而上:先確認網關和令牌正常(供應商卡片上有沒有 · N 個模型),再看單個 Agent 的原生配置,最後纔看 magpie 的映射層。這樣三步就能判斷問題出在上游、工具本身,還是統一配置這一層。


常見問題 FAQ

Q1:什麼是 magpie?

magpie 是 yetone 發起的開源項目,倉庫爲 `github.com/yetone/magpie`,口號是“Every agent’s model. One place.”。它把多個 AI Agent 使用的模型配置集中到一個地方管理,減少在 Claude Code、Codex 等工具之間重複配置的工作,目前在 GitHub 上約有 1.6 萬星。

Q2:magpie 和 API 網關是什麼關係?

兩者分工不同。magpie 負責“哪個 Agent 用哪個模型、讀哪個 Key”,API 網關負責“把請求按協議轉發到模型廠商”。magpie 不替代網關,搭配支持多協議的網關時效果最好。

Q3:跟着教程做完,所有 Agent 真的共用一個 Key 嗎?

是。每個 Agent 的請求都會被指向同一個網關地址,並且只讀環境變量裏的 `APIYI_API_KEY`。輪換 Key 時改這一處,全部同時生效;賬單也只在網關側體現一份。

Q4:改完配置要重啓嗎?

要。命令行的工具(Claude Code、Codex、Pi、Hermes)需要退出重開;圖形界面的工具(Claude Desktop、Zed 等)需要完全退出再打開,只關窗口不算。Agent 頁的狀態行會提示具體要做什麼。

Q5:爲什麼有的 Agent 顯示「只能用自帶模型」?

像 Cursor 這類工具把模型限制在自己的訂閱裏,不讀外部 provider,屬於設計上的邊界,不是配置錯了。遇到這種就跳過它,其餘工具照常接。

Q6:Claude Code 走網關會影響工具調用嗎?

只要網關提供的是 Anthropic Messages 原生格式,就不會。真正容易出問題的是“OpenAI 兼容格式 + 額外轉換層”的鏈路,工具調用的格式細節容易丟。這也是建議上游選多協議網關的原因。

Q7:這套方案有哪些限制?

三點:magpie 的配置字段會隨版本變化,升級後可能要重新確認一次;部分工具(如 Cursor)無法接入;如果網關不支持 Anthropic 原生格式,Claude Code 這條鏈路會變長、更易出錯。


五分鐘速查

  • 分工:magpie 管模型映射,網關管協議轉發,各自只做一件事
  • 一個令牌:選支持多協議的上游,所有 Agent 共用一個 Key 和一份賬單
  • 上手順序:控制檯建令牌 → 粘進「供應商」→ 打開 Agent 開關 → 逐個跑通(全程在窗口裏點,不用命令)
  • 排錯順序:網關 → Agent 原生配置 → magpie 映射層,自下而上
  • Claude Code 要點:用 ANTHROPIC_AUTH_TOKEN,base_url 不加 /v1
  • Codex 要點:wire_api 必須與模型支持的協議一致
  • 備用方案:一個環境變量腳本(agents-env.sh)也能讓所有 Agent 共用一個 Key

如果你同時使用三個以上 Agent,值得花半小時把這套配置搭好:以後換模型、輪換 Key,都只需要改一處。推薦通過 API易 apiyi.com 領取測試額度,先把常駐的幾個工具跑通,再按任務細化每個 Agent 的模型分配。


延伸閱讀 Related Articles


📚 參考資料

  1. GitHub – magpie:項目官方倉庫
  2. 鏈接: github.com/yetone/magpie
  3. 說明:安裝方式、配置格式、版本更新均以 README 爲準
  4. Claude Code 官方文檔:環境變量與 settings 配置
  5. 鏈接: docs.anthropic.com/en/docs/claude-code
  6. 說明:ANTHROPIC_BASE_URL 等變量的官方說明
  7. OpenAI Codex CLI 倉庫:config.toml 與 model_providers 配置
  8. 鏈接: github.com/openai/codex
  9. 說明:自定義 provider 與 wire_api 參數說明
  10. API易 文檔中心:多協議端點與模型列表
  11. 鏈接: docs.apiyi.com
  12. 說明:OpenAI / Anthropic 等協議端點的接入說明

作者:APIYI 技術團隊
技術交流:歡迎在評論區分享你的 magpie 配置經驗,更多接入資料可以訪問 API易 docs.apiyi.com 文檔中心

Similar Posts