magpie:在菜单栏里给每个 AI 编程智能体换模型,一个本地网关让 Codex 用上 DeepSeek

你有没有过这样的场景:早上开了 Claude Code 写后端,中午换成 Codex 跑重构,晚上又想在 Gemini CLI 里试个小模型——结果每个工具的配置文件都不一样,~/.claude/settings.json、~/.codex/config.toml、~/.gemini/settings.json,改来改去,密钥到处复制,最后自己也忘了哪个 agent 现在用的是哪个模型。

magpie 就是来解决这件事的。它是 yetone 在 2026 年 9 月 23 日开源的一个小工具,口号很直接:”每个 agent 的模型,一个地方说了算。”项目两天就冲到 600 多星,用 Go 写的,MIT 许可。

一句话说清它是什么

magpie 是 macOS 菜单栏上的一个小图标。点开,掉下来一个面板,上面列着你机器上装的每一个 AI 编程智能体,以及它们当前用的模型:

  ◉ magpie

  ▸ Claude Code   claude-fable-5-1[1m]                        ~/.claude/settings.json
    Codex         gpt-6-astra   effort medium
    Gemini CLI    gemini-3.1-pro
    OpenCode      anthropic/claude-sonnet-5   small anthropic/claude-haiku-4-5
    Pi            openrouter/z-ai/glm-5.2:batch
    Goose         anthropic/claude-sonnet-5
    Cursor        auto
    Copilot CLI   claude-fable-5

  ↑↓ agent  ·  ←→ field  ·  ↵ change  ·  s save profile  ·  p profiles  ·  q quit

点一个值,选个模型,就完事了。整个应用就这么简单。它同时提供三种入口:菜单栏面板、普通窗口,以及终端里的 magpie tui 和纯 CLI。

三个真正有用的点

一、改配置文件是”外科手术式”的

这是我认为最扎实的一个设计。很多类似工具为了省事,会直接重写整个配置文件,结果你的注释、字段顺序、缩进全没了。magpie 只动你要改的那一个键——你的 settings.json、config.toml、opencode.jsonc、config.yaml 里的其他内容原封不动,而且写入是原子的,不会写一半断电把配置写坏。

它还会把替换前的旧值存进 ~/.config/magpie/stash.json。也就是说你从”原生模型”切到”DeepSeek”,再切回去,magpie 知道该把原来的东西恢复成什么样。

二、所有 agent 共用一个本地网关

这才是重头戏。magpie 在本地跑了一个网关,监听 127.0.0.1:3425,同时会说三种方言:

  • OpenAI Chat Completions(/v1/chat/completions)
  • OpenAI Responses(/v1/responses)
  • Anthropic Messages(/v1/messages,连 count_tokens 都有)
  • 以及 Google Gemini 的 /v1beta/models/{model}:generateContent

所有 agent 都指向它,模型统一写成 provider/model 的形式。Codex 要用 DeepSeek,就写 magpie codex deepseek/deepseek-chat;Claude Code 要用 Kimi,就写 magpie claude moonshot/kimi-k2.5。请求如果本来就是同一种 API,直接透传;不是的话 magpie 负责翻译,流式输出、工具调用、推理过程都保留。

好处是:agent 手里永远不存厂商密钥,也不存厂商 URL。你加一个新 provider,它的模型立刻出现在所有 agent 的选择列表里。

三、让你已经登录的订阅,给别人用

你已经登录过 Claude Code、Codex(ChatGPT 账号)或 Copilot,那这份登录本身就是一种”provider”。magpie 会把它读出来,让其他 agent 也能用它的模型——不复制、不粘贴任何密钥。你退出登录,这个 provider 就自动消失。

这里有个细节值得一提:Anthropic 会把”另一个 agent 的系统提示词”判定为第三方流量,所以 magpie 对 Claude 订阅不是伪造请求,而是老老实实驱动本地真正的 claude 二进制;调用方的工具通过 MCP 桥接进那一轮对话,工具结果会续接到同一个 Claude Code 进程里。Cursor、Grok、Devin 的订阅同理,都走各自的 CLI。

模型列表是真的,不是写死的

手里有密钥时,magpie 直接问厂商”你现在提供哪些模型”,然后把真实列表给你。厂商没提供列表的,用 models.dev 的目录补上名字、推理档位等信息,过期了会自己在后台刷新。这意味着——今天早上刚发布的模型,下一次刷新就会出现在选择器里,不用等软件更新。

内置的预设覆盖了 Anthropic、OpenAI、Gemini、DeepSeek、Kimi、GLM、MiniMax、Qwen、Mistral、Groq、xAI、OpenRouter、Together、Fireworks、SiliconFlow、AiHubMix、302.AI,以及本地的 Ollama、LM Studio 等等。自定义厂商只需要一个名字加一个 base URL。顺带一提,magpie 从不从你的 shell 环境变量里读密钥。

实用的小功能

  • Profiles(配置快照):把当下所有 agent 的模型设置打包存成一个名字,一条命令整体切回来。比如 magpie save work、magpie use work。
  • 加密备份:magpie backup 会生成一个 AES-256-GCM 加密的备份文件(密钥用 PBKDF2-SHA256 从你的口令推导),里面装着 provider、密钥、设置、快照和所有 agent 的模型。--no-keys 可以只备份不含密钥的版本,方便传给别人。
  • 导入链接:厂商或中转站可以给用户一条 magpie://import?preset=deepseek&key=… 链接,点开就是”加了这个会变成什么样”的确认页——要连哪些主机、模型有哪些,全写清楚,你不点”Add”就什么都不保存。
  • 自己更新:应用会在后台下载新版本,下次重启时装上;终端里 magpie update 效果一样。

怎么装

去官网 usemagpie.ai 下载 macOS / Windows / Linux 版本,或者用一行命令:

curl -fsSL https://usemagpie.ai/install.sh | sh

也可以直接 go install:

go install github.com/yetone/magpie@latest

macOS 版本有签名和公证;Windows 和 Linux 目前还没有签名,Windows 上 SmartScreen 可能会拦一下。体积方面,带桌面端的完整版不到 15 MB(走系统 WebView,用 Wails 打包,不塞浏览器内核),纯终端版只有 7 MB。

它自己怎么说

README 里第一句话是这样的:”magpie is a single screen that lists each AI agent on your machine and the model it is set to. Click a value, pick a model. That is the whole app.”(magpie 就是一个屏幕,列出你机器上的每个 AI agent 和它当前用的模型。点一个值,选一个模型。整个应用就这些。)

用 Go 写、MIT 许可、三个平台都能跑,代码结构相当规整(internal/agent、internal/gateway、internal/provider 分工清楚,测试文件密密麻麻)。如果你同时用着两个以上的 AI 编程工具,这个东西大概能省下你不少翻配置文件的时间。

项目地址:https://github.com/yetone/magpie
官网:https://usemagpie.ai

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享