如果你是重度 AI Agent 用户,这段经历大概不陌生。
Claude Code、Codex、Gemini CLI、OpenCode、WorkBuddy、TraeWork……每装一个代理,你的机器上就多一个配置文件,多一套供应商对接逻辑。
订阅了 Claude Pro,Codex 那边用不上;换一个模型,就得改一个 JSON 或 TOML;想试试新出的某个国产大模型,得挨个去配。
大家都在同一件琐事上反复劳动——把不同供应商的模型塞给不同 Agent。
直到 yetone 出手。
上周,一个叫 magpie 的开源项目出现在 GitHub 上。五天时间,1.3K stars,直接冲进 GitHub Trending 周榜前三。

现在已经累计 4K+ Star 了。作者 yetone 这个名字,熟悉 Neovim 的读者可能有印象——他是 Avante.nvim 的维护者,那个在 GitHub 上拿了 18000+ stars、把 Cursor 体验搬进 Vim 的 AI 编程插件作者。
magpie 是他在 AI 工具链上的又一次出手,这一次,他瞄准的是所有编码 Agent 共用的那个痛点。
magpie 是什么?
magpie 是一个跑在菜单栏里的模型调度台。

它会扫描你机器上装了哪些 AI 编码 Agent,然后把它们列成一屏。点击任意一个代理当前使用的模型名,弹出模型选择器,选定新模型后,magpie 自动把改动写回对应的配置文件。
就这么简单。但简单背后藏着一层巧妙设计。
官网首页的口号写得很直白:“Every agent’s model. One place.” 这句话精准命中了用户的核心诉求——统一入口。
现在支持的名单已经有 23 个。每一个都对应着它独特的配置文件路径和字段结构。

magpie 它不接管你的对话,不做模型推理,不保存上下文。它只做两件事:改配置文件和跑本地网关。
前者解决”给每个代理换模型”的问题,后者解决”让代理用任意供应商的模型”的问题。
整个应用有四种形态:菜单栏图标、普通窗口、终端里的 magpie tui、纯命令行。
桌面版二进制不到 15MB,使用系统 webview 渲染;纯 CLI 版只有 7MB,零依赖。
02
PART
核心亮点
亮点一:手术式写入
工具自动改配置文件的常规做法是读入、解析、重写、存回。
听起来没问题,但实际用起来你就知道坑有多大。你在 settings.json 里手写了几行注释、把常用的模型排在前面、缩进对齐了自己的风格——一个工具跑一遍,注释没了,顺序变了,缩进也乱了。
从此你再也不敢让它碰你的配置。
magpie 的做法是只动你改的那一个键。其余的注释、顺序、缩进、格式原样保留,写入是原子的。
被替换掉的旧值存进 stash.json,切回原生模型时精确还原。这个细节决定了用户敢不敢把配置交给它。对于手工维护了很多轮的配置文件来说,这个尊重成本极高,但回报也极高。
亮点二:一个本地网关,翻译三种 API
Codex 只说 OpenAI Responses API。
Claude Code 只说 Anthropic Messages API。
Gemini CLI 说 Google 那套。
OpenCode 说 Chat Completions。
你想把 DeepSeek、Kimi、GLM 的模型塞进任意一个 Agent,就得先解决 API 协议的不兼容问题。
magpie 在 127.0.0.1:3425 起了一个本地网关,同时 speak 四种 API:
OpenAI Chat Completions (/v1/chat/completions)
OpenAI Responses (/v1/responses)
Anthropic Messages (/v1/messages)
Google Gemini (/v1beta/models/{model}:generateContent)
流式输出、工具调用、推理参数、reasoning level,全部双向翻译。
所有代理指向同一个地址,模型统一命名为 provider/model(比如 deepseek/deepseek-chat、openrouter/anthropic/claude-sonnet-5)。
magpie 的预设名单覆盖了 DeepSeek、Kimi、GLM、Qwen、MiniMax、OpenRouter、Ollama、LM Studio、Mistral、Groq、xAI 等二十多家,国内厂商几乎全覆盖。
没有预设的自定义供应商,只需要给个 base URL 和 API key 就能接上。
亮点三:登录态即供应商
你已经登录了 Claude Code,也登录了 Codex。这些订阅本来是各自独立的。
magpie 做了一件大胆的事:你登录过的 Agent,自动成为其他 Agent 可用的供应商。
也就是说,你在 Claude Code 的订阅,可以给 OpenCode、Pi、Goose 用。你在 Codex 的 ChatGPT 订阅,可以给 Claude Code、Cursor CLI 用。
亮点四:路由组
有人提”我有三个 Claude 订阅,能不能分摊配额”。这是重度用户才有的需求,但 magpie 没有忽略它。
解决方案叫路由组(Routing Group)。你把多个模型绑成一个 group/<id>,代理只当它是一个模型。
比如你可以创建一个 "Claude 全家桶" 组,把 Claude Pro、Max 和某个 Relay 里的 Sonnet 5 都放进去,代理看到的就是一个组模型。
路由策略有四种,各有明确语义:
smart(默认) 在配额富余的订阅里,谁的额度最先恢复就先用谁
order 顺序顶上,第一个模型不行了才用下一个
rotate 每轮轮换
usage 最少用的优先
03
PART
快速上手
安装
方式一:一键脚本(推荐)
curl -fsSL https://usemagpie.ai/install.sh | sh
macOS 会下载已签名且公证过的 .app,放在 /Applications 下;Windows 和 Linux 会下载二进制到 ~/.local/bin/(或当前目录)。
方式二:源码编译
# 需要 Go 1.23+
go install github.com/yetone/magpie@latest
或者用 Makefile:
make build # 桌面版(需要 cgo + 系统 webview)
make cli # 纯 CLI 版,无 cgo,可跨平台编译
make release # dist/ 下生成所有平台的安装包
Linux 桌面版需要 libgtk-3-dev 和 libwebkit2gtk-4.1-dev。
方式三:Docker
docker build -t magpie .
docker run -d --name magpie
-p 127.0.0.1:3425:3425
-p 127.0.0.1:3430:3430
-v magpie-config:/config
magpie
3425 是网关端口(只映射到 loopback 保证安全),3430 是 Web UI。用浏览器打开 http://localhost:3430/?k=<key> 进入界面。
添加供应商
打开 magpie 后,进入 Providers 页:
magpie provider add deepseek sk-xxxxxxxxx
magpie provider add ollama # 本地 Ollama,不需要 key
magpie provider add "My Relay"
url=https://relay.example.com/v1
key=sk-xxxxxxxxx
models=gpt-5.5,claude-sonnet-5
如果你已经登录了 Claude Code 或 Codex,它们会自动出现在 Providers 列表里,标着 “Signed in as Claude Code” 之类的标签。
切换模型
菜单栏图标 → 点击 → 找到你想改的代理 → 点击当前模型名 → 在弹出的选择器里挑新模型。完成。
或者命令行:
magpie claude deepseek/deepseek-chat # Claude Code 用 DeepSeek
magpie codex claude/claude-sonnet-5 # Codex 用 Claude 订阅
magpie profiles # 查看所有配置快照
magpie profile "Budget Mode" # 一键切换整套配置
改完之后,重开那个Agent的会话就能生效。
///
LAST
写在最后
magpie 的作者 yetone 是 Avante.nvim 的维护者——一个”在 Vim 里实现 Cursor”的项目。
这两个项目放在一起看,你会发现 yetone 的做事风格:把一个具体到骨子里的痛点,用最轻量的方案解决到让你不敢相信它这么简单。
Avante.nvim 证明了 AI 编程不一定需要换 IDE,在 Vim 里就能做到。magpie 证明了多模型多代理的管理,不一定需要一个大而全的聊天平台,菜单栏里的一个小图标就够了。
GitHub:https://github.com/yetone/magpie





评论(0)