magpie:一个本地网关,让 Claude Code、Codex、Gemini CLI 等编程智能体共用任意模型,并在额度用完时自动切换账号
yetone/magpie 是一个 Go 编写、MIT 许可的开源项目,创建于 2026 年 9 月 23 日,截至发稿约有 1.15 万个星标。它在 127.0.0.1:3425 起一个本地网关,同时讲 OpenAI Chat、OpenAI Responses、Anthropic Messages 和 Gemini 四种协议并互相转换,让“Claude Code 跑在 Kimi 上、Codex 跑在 DeepSeek 上”成为一条命令。它还能读取各智能体已登录的订阅并在额度耗尽时切换,这一点需要留意隐私与服务条款。
yetone/magpie 是一个开源项目,用 Go 编写,采用 MIT 许可,创建于 2026 年 9 月 23 日,最近一次推送是 10 月 14 日,截至发稿约有 11,517 个星标和 773 个分叉。它的口号是“每个智能体的模型,一个入口”:在菜单栏里就能把 Claude Code 切到 Kimi,把 Codex 切到 DeepSeek,把 Gemini CLI 切到智谱 GLM,甚至让 OpenCode 用你的 ChatGPT 订阅。背后的原因很现实。现在的编程智能体很多,每个都把模型写在自己的配置文件里,格式、密钥和基础地址都不同;你为某个智能体付费的订阅,通常也只能在它自己里面用。magpie 想把这些都放到一个应用和一个本地网关后面。 它的核心是本地网关,地址是 127.0.0.1:3425。网关同时说四种协议:OpenAI Chat、OpenAI Responses、Anthropic Messages 和 Gemini,并在它们之间互相翻译,流式输出、工具调用和推理内容都包括在内。所以只要某个智能体可以设置基础地址,就能走这个网关,README 给出了三组环境变量的写法。对于已支持的智能体,列表很长,包括 Claude Code、Codex、Gemini CLI、OpenCode、Cursor CLI、Copilot CLI、Goose、Cline、Qwen Code 等几十个,magpie 只显示你机器上已安装的。选择模型时,点一下数值就会打开一个可搜索的列表,里面是你添加的所有提供商的所有模型;magpie 会原子地改写该智能体配置里关键的那一项,原有的注释、顺序和格式保持不变。还有“配置档”,可以把每个智能体的设置存成一个名字,比如“省钱”或“专注”,一步切换。
提供商部分覆盖面很广:预设里有 Anthropic、OpenAI、Google Gemini、DeepSeek、Kimi、智谱、MiniMax、通义千问、Mistral、Groq、xAI、OpenRouter、Ollama、LM Studio 等,还可以接任何兼容 OpenAI 或 Anthropic 的地址;模型列表来自供应商,并由 models.dev 补全名称和推理级别。更特别的是“订阅”:你已经登录的智能体被视为带有模型的订阅,magpie 会把它当作提供商提供给其他智能体,同一订阅下还可以添加多个账号,在它们之间故障切换。README 列出的包括 Claude(驱动本机真实的 claude 程序,并通过 MCP 桥接智能体的工具)、Codex 与 ChatGPT、GitHub Copilot、Gemini Code Assist、Antigravity、Grok 等,也支持来自 npm 的 OpenCode 认证插件或 pi 软件包。
“路由组”是另一个重点。一个路由组把几个模型当作一个来用,网关把请求分散到每个成员的密钥和账号上,有五种模式:smart 选择还有额度、并且最早续期的订阅,以减少续期时的浪费;order 先用第一个,答不了再换下一个;rotate 每轮换一个;usage 先用用得最少的;pace 选择本周剩余额度相对于时间最多的账号。会话会尽量留在回答它的账号上,以便保住供应商的提示缓存;路由组里还可以再放路由组。“意图路由”则让你选的一个小模型读每个新回合,把测试交给强模型,把快速问题交给便宜的模型。此外还有每日预热,可以在设定的时间启动每个 Claude 和 ChatGPT 账号的 5 小时窗口。命令行里,magpie provider add 添加提供商,magpie claude deepseek/deepseek-v4-pro 让 Claude Code 跑在 DeepSeek 上,magpie quota 看各计划还剩多少。
使用前有几个现实的提醒。首先是凭据:magpie 通过读取各智能体已登录的信息发现订阅,包括 Claude Code 和 Codex 的文件以及系统钥匙串;若不想让它读取,可以在设置的隐私页关闭“订阅账号”,运行 magpie accounts discovery off,或用 MAGPIE_NO_ACCOUNTS=1 关闭一次运行,使用 API 密钥的提供商不受影响。其次是条款:把一家订阅提供给其他工具使用,是否符合该订阅的服务条款,需要你自己核对,我们没有核实,也不建议在不确定时用于重要账号。最后是安装:官方给出 curl 加 sh 的一行命令,也提供应用下载、go install 和 Docker 镜像,建议先读脚本再执行。如果你只在厂商自己的计划里用一个智能体,README 也坦率地说,你并不需要它;它适合同时用多个智能体、多个提供商或多个账号的人。 如果你想试,不妨按保守的顺序来。第一步,只添加一个用 API 密钥的提供商,并关闭订阅账号的自动发现,先确认网关、模型切换和配置改写都按预期工作。第二步,用 magpie quota 和路由视图观察每一次请求的去向,弄清楚“智能”路由到底做了什么决定。第三步,再考虑是否把订阅账号加进来,并事先阅读各家订阅的使用条款,因为把一个账号提供给其他工具使用,可能不在条款允许的范围内。这样既能享受“一个入口、任意模型”的便利,又能把凭据和合规的风险控制在自己看得见的范围里。对于只在单一厂商计划里使用单一智能体的人,这个项目带来的好处有限。
Sources
FAQ
magpie 具体解决什么问题?
每个编程智能体都把模型配置放在自己的文件里,格式、密钥和基础地址各不相同,你为某个智能体付费的订阅也只能在这个智能体里用。magpie 在本机起一个网关,说 OpenAI Chat、OpenAI Responses、Anthropic Messages 和 Gemini 四种协议并互相翻译,包括流式输出、工具调用和推理内容。你在应用或命令行里为任何一个智能体选任意提供商的模型,magpie 会原子地改写该智能体配置里关键的那一项,保留原有注释、顺序和格式。
额度用完时它怎么处理?
通过“路由组”。一个路由组由几个模型组成,智能体把它当作一个模型使用,例如 group/daily-coding,网关把请求分散到每个成员的密钥和账号上。模式有五种:smart 选还有额度且最早续期的订阅;order 先用第一个直到答不了再换下一个;rotate 每轮换一个;usage 先用用得最少的;pace 用本周剩余额度相对时间最多的账号。会话会尽量留在回答它的账号上,以保住供应商的提示缓存。命令 magpie quota 可查看各计划剩余额度。
使用前需要注意哪些风险?
第一,magpie 会通过读取各智能体已登录的凭据(例如 Claude Code 和 Codex 的文件、系统钥匙串)来发现订阅账号;可以在设置的隐私页关闭,或运行 magpie accounts discovery off,也可用环境变量 MAGPIE_NO_ACCOUNTS=1 只关一次。第二,把一家订阅提供给其他工具使用,是否符合该订阅的服务条款,需要你自己去核对,我们没有核实。第三,README 提供了 curl 加 sh 的安装方式,也可以用 go install 或 Docker 镜像;执行脚本前建议先阅读。