文档 · 指南
快速上手
magpie 是给你所有编程 Agent 统一选模型的地方。先把你有的供应商加进来,再给每个 Agent 选一个模型;magpie 会把它写进那个 Agent 自己的配置文件。
背后是一个跑在你本机 127.0.0.1:3425 的小网关。它同时支持 OpenAI、Anthropic 和 Gemini 三种 API,并在它们之间互相转换(流式输出、工具调用都支持),所以任何 Agent 都能用任何供应商的模型:Claude Code 用 ChatGPT 订阅里的 GPT 模型,Codex 用 DeepSeek,OpenCode 用你的 Claude 订阅。
供应商
模型从哪里来:登录的订阅、有 API 密钥的厂商、你自己的接口地址。每个模型都写作 provider/model。
Agent
使用模型的工具:Claude Code、Codex、Gemini CLI、OpenCode 等。每个一行,显示它当前用的模型。
网关
通过 magpie 选模型时,Agent 指向的本地地址。它把每个请求转给提供该模型的供应商。
路由组
可选。把多个模型或账号合成一个给 Agent 选,group/<id>,一个额度用完时换下一个。
- 添加供应商登录你的订阅,粘贴 API 密钥。只需做一次。
- 给每个 Agent 选模型点 Agent 的模型,选一个。magpie 改写那个 Agent 的配置。
- 开一个新会话Agent 启动时读取配置,下一个会话就用上新模型。
1 · 添加供应商
打开 供应商 标签页,点 + 添加供应商。点选一个卡片,或输入厂商名字查找。
订阅 · 登录即可,无需密钥
Claude(Pro、Max、Team)、ChatGPT(Plus、Pro、Business)、Cursor、Grok(SuperGrok)、Copilot 和 Devin。点卡片后 magpie 会在浏览器里打开厂商自己的登录页,登录完成后账号立刻出现(Copilot 会给你一个验证码,在 GitHub 页面上输入)。订阅是在 magpie 里添加的,不需要先去别的 Agent 里登录。
- 多个账号。再点一次 Claude 或 ChatGPT 卡片即可再加一个;它们都列在这个供应商下面,点一下就能切换使用哪个。
- 已经登录过?本机上已经登录的 Agent 也会作为供应商出现,显示为 已登录 …。
- 所有 Agent 都能用。订阅里的模型在其他 Agent 的选择列表里写作
claude/…、codex/…、copilot/…。Claude 订阅的请求通过本机安装的 Claude Code 运行,所以请保留 Claude Code。
供应商(厂商预设)
Anthropic、OpenAI、Google Gemini、DeepSeek、Kimi、Zhipu GLM、MiniMax、Qwen、Mistral、Groq、xAI 等。选一个,粘贴密钥(获取密钥 ↗ 会打开厂商的密钥页面),保存。magpie 会向厂商询问它提供哪些模型并列出来;展开供应商那一行可以选择给 Agent 暴露哪些模型,或点 测试。
本机
Ollama 和 LM Studio,无需密钥。
自定义 · 任意兼容的 URL
其他接口都走这里:填 名称、OpenAI 兼容 地址(以 /v1 结尾)、Anthropic 兼容 地址(根地址,即 ANTHROPIC_BASE_URL 的值),或两个都填,再填密钥。接口支持几种 API 就填几种;每个 Agent 用它原生的那种,其余由 magpie 转换。
settings.json 和 Codex 的 config.toml,不改动它们,把你勾选的供应商导入进来。密钥保存在 ~/.config/magpie/providers.json,只有你自己可读。magpie 从不读取 shell 环境变量里的密钥:你添加什么,它就用什么。
2 · 给每个 Agent 选模型
Agent 标签页里,本机装了或配置过的每个 Agent 各占一行。magpie 支持 Claude Code、Codex、Gemini CLI、OpenCode、Pi、Goose、Cursor、Copilot CLI、Crush、DeepSeek Harness、Command Code、omp、Devin、Hermes Agent 和 Grok Build。
- 点模型打开选择列表。模型分组显示:Agent 自带的、你的路由组、再是你添加的每个供应商。输入可以筛选,也可以直接输入列表里没有的模型 ID。
- 推理强度:Agent 有这个选项时(Codex 的 推理强度、Pi 的 思考),列表下方会出现滑块。
- Claude Code 通过 magpie 使用模型时,opus、sonnet、haiku 各档还可以单独指定模型;默认跟随主模型。
选好的模型会写进 Agent 自己的配置文件。只改 magpie 需要的那几个键;注释、顺序、缩进都保留,写入是原子的。
| Agent | 通过 magpie 选模型时写入什么 |
|---|---|
| Claude Code | ~/.claude/settings.json:env 里的 ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN 和模型变量 |
| Codex | ~/.codex/config.toml:一个 [model_providers.magpie] 表和模型,模型列表写在 magpie-models.json。你的 ChatGPT 登录不受影响 |
| OpenCode、Pi、Crush | 一个 magpie 供应商条目,以及 magpie/provider/model |
| Gemini CLI | GOOGLE_GEMINI_BASE_URL 指向网关、API 密钥认证,以及模型 |
已在运行的会话保持它启动时的模型。Agent 启动时读取配置,所以改动从下一个会话生效。Codex 也在启动时生成模型列表:切换后请重启 Codex 应用和已打开的 codex 会话。
~/.claude 或 ~/.codex 配置。在 magpie 里设一次模型,它们从下一个会话起也会用上。3 · 可选:路由组
每个供应商只有一个账号时可以跳过这一步。等你有了多个——比如两个 ChatGPT 账号,或者同一个模型既有订阅又有密钥——再来设置。
一个供应商里的多个账号或密钥
展开供应商那一行,勾选要用的每个账号或密钥。路由 决定请求怎么分给它们:智能(默认)、按顺序、轮流 或 用量少的优先。备用 里列出这个供应商额度用完、被限流或不可用时改用的模型。
跨供应商的同一个模型
路由组是几个模型(来自一个或多个供应商),Agent 把它当作一个来选:group/<id>,在选择列表的 路由组 下面。两个供应商用同一个名字提供的模型会自动成组;在 路由 标签页点 新建组 可以把任意模型组到一起。排第一的模型决定这个组对外的能力。
group/auto-<模型>,包含所有提供这个模型的供应商。名字按各家不同的写法匹配(deepseek/deepseek-chat 和 deepseek-chat 算同一个)。给 Agent 选这个组,请求就会分摊到这些供应商上;不想要的可以用 magpie group rm 隐藏。| 路由 | 谁排在前面 |
|---|---|
智能 smart | 默认。把所有成员的账号和 Key 放在一起排:还有余量的订阅里,额度最先重置的排第一;失败后在休息的排最后。 |
按顺序 order | 先用第一个模型,它答不了再换下一个。 |
轮流 rotate | 会话的每一轮交给下一个成员的账号或 Key,均摊负载。 |
最少使用 usage | 剩余额度最多的账号或 Key 排第一。 |
| 会话保持 | 会话在回答过它的账号或 Key 上留多久 |
|---|---|
自动 auto | 默认。一轮之内总是保持,跨轮则在厂商缓存还值得保留时保持。 |
整个会话 session | 整个会话,只要它还能回答。 |
一轮之内 turn | Agent 回传工具结果时不换;你再次发言时,路由重新决定。 |
关闭 off | 每个请求都重新路由。 |
路由 标签页实时显示网关的决定:每个请求由谁回答、为什么。在终端里也能管理路由组:
magpie groups # 先列你建的,再列 magpie 自动发现的 magpie group add "Opus anywhere" models=claude/claude-opus-5-5,copilot/claude-opus-5.5 routing=order stays=session magpie group set opus-anywhere models+=openrouter/anthropic/claude-opus-5.5 magpie group rm opus-anywhere # 自动发现的组会被隐藏;magpie group restore <id> 恢复 magpie claude group/opus-anywhere # 使用它
用量与方案
用量。用量 标签页按 Agent 和模型统计每次经过网关的调用的 token、缓存命中和费用,可选 今天、7 天、30 天 或 全部;最上面是各订阅已用的额度和重置时间。Agent 直接发给自己厂商的请求不经过 magpie,不会计入。
方案。在 Agent 标签页底部点 + 保存当前,把所有 Agent 的设置存成一个方案;之后点这个方案就能一键全部切回。
命令行
magpie tui 是终端里的完整界面,上面每一步也都有对应命令。magpie help 列出全部命令。
| 命令 | 作用 |
|---|---|
magpie ls | 列出找到的每个 Agent 及其设置 |
magpie presets | magpie 内置的厂商预设 |
magpie provider add deepseek sk-… | 用密钥添加一个预设 |
magpie accounts add codex | 再登录一个 Claude 或 ChatGPT 订阅 |
magpie providers | 你的供应商:地址、密钥、模型、谁在用 |
magpie models | Agent 能选的所有模型,写作 provider/model |
magpie claude codex/gpt-5.5 | 设置 Agent 的模型 |
magpie codex effort high | 设置其他字段 |
magpie codex default | 恢复 Agent 自己的默认值,移除 magpie 的接入 |
magpie save work · use work | 保存、应用方案 |
magpie usage 7d | 按 Agent 和模型统计 token 与费用 |
magpie tray | 只启动菜单栏图标 |
常见问题
需要自己 export OPENAI_BASE_URL 或 ANTHROPIC_BASE_URL 吗?
不需要。对 magpie 列出的 Agent,它会把网关地址和令牌直接写进 Agent 自己的配置文件。这些环境变量只用于 magpie 不管理的、带 base URL 设置的其他工具:网关 标签页的 接入 部分有一键复制和示例代码。
magpie 必须一直开着吗?
通过 magpie 使用的模型需要:网关随应用一起运行。关掉窗口后它仍留在菜单栏或托盘里;magpie tray 只启动图标(可以放进登录项),magpie serve 只运行网关。Agent 用它自己的模型和自己的登录时,不经过 magpie。
怎么把 Agent 恢复原样?
在选择列表里选 Agent 自带的模型,或运行 magpie <agent> default。magpie 会删掉它写入的内容,并恢复被它替换掉的值,比如你原来的 ANTHROPIC_BASE_URL。
换了模型,Agent 还在用旧的?
已在运行的会话保持启动时的模型。开一个新会话;如果是 Codex,也请重启 Codex 应用。
手动改 Agent 的配置会冲突吗?
不会。magpie 每次都重新读取文件,只动它设置的那几个键,你的其他设置和注释都会保留。用 导入… 带进来的供应商是一份拷贝:之后在 Agent 里的改动不会再同步过来。
遇到问题,或者有值得分享的配置?来 Discord 聊。想给自己的用户一键添加供应商的厂商,请看 Add to magpie。