社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

开源五天斩获 4K Star!冲进 GitHub 周榜前三,AI 编码 Agent 的模型调度台!

开源星探 • 2 周前 • 336 次点击  

如果你是重度 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 共用的那个痛点。


📦 4 Parts + Conclusion

👉 滑动

PART 01

magpie 是什么?

PART 02

核心亮点

PART 03

快速上手

PART ///

写在最后

01

PART


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/,代理只当它是一个模型。

比如你可以创建一个  "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= 进入界面。

添加供应商

打开 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







如果本文对您有帮助,也请帮忙点个 赞👍 + 在看 哈!❤️

在看你就赞赞我!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/201778