文档 · 指南

快速上手

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>,一个额度用完时换下一个。

  1. 添加供应商登录你的订阅,粘贴 API 密钥。只需做一次。
  2. 给每个 Agent 选模型点 Agent 的模型,选一个。magpie 改写那个 Agent 的配置。
  3. 开一个新会话Agent 启动时读取配置,下一个会话就用上新模型。

1 · 添加供应商

打开 供应商 标签页,点 + 添加供应商。点选一个卡片,或输入厂商名字查找。

添加供应商面板:订阅、厂商、中转、本机和自定义 URL 添加供应商面板:订阅、厂商、中转、本机和自定义 URL
添加供应商:登录订阅、选厂商,或填任意兼容的 URL。

订阅 · 登录即可,无需密钥

Claude(Pro、Max、Team)、ChatGPT(Plus、Pro、Business)、Copilot、Gemini(Code Assist)和 Antigravity;Cursor、Grok(SuperGrok)、Devin 等在 插件 页添加。点卡片后 magpie 会在浏览器里打开厂商自己的登录页,登录完成后账号立刻出现(Copilot 会给你一个验证码,在 GitHub 页面上输入)。订阅是在 magpie 里添加的,不需要先去别的 Agent 里登录。

供应商(厂商预设)

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 转换。

之前在 Claude Code 或 Codex 里配过供应商?面板顶部的 导入… 会读取 Claude Code 的 settings.json 和 Codex 的 config.toml,不改动它们,把你勾选的供应商导入进来。

密钥保存在 ~/.config/magpie/providers.json,只有你自己可读。magpie 从不读取 shell 环境变量里的密钥:你添加什么,它就用什么。

2 · 给每个 Agent 选模型

Agent 标签页里,本机装了或配置过的每个 Agent 各占一行。magpie 支持 Claude Code、Codex、Gemini CLI、OpenCode、MiMo Code、DevEco Code、Pi、Goose、Cursor CLI、Copilot CLI、Crush、DeepSeek Harness、Command Code、omp、OmO、Devin、Hermes Agent、MiniMax Code、Grok Build、ZCode、OpenHanako 和 Alma。

Agent 页:每个 Agent 一行,显示当前模型,底部是保存的方案 Agent 页:每个 Agent 一行,显示当前模型,底部是保存的方案
每个 Agent 一行,可以选任意供应商的模型;方案一键切换全部设置。

选好的模型会写进 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、MiMo Code、DevEco Code、Pi、Crush一个 magpie 供应商条目,以及 magpie/provider/model
AtomCode~/.atomcode/config.toml:一个 magpie 供应商账号,以及目录中每个模型各自的条目
Snow CLI~/.snow/profiles/magpie.json:一个 magpie 配置文件,并设为当前配置(Snow App 用“同步 Snow CLI API 配置”导入)
QwenPaw~/.qwenpaw.secret/providers/custom/magpie.json 中的 magpie 提供商,以及每个智能体 agent.json 里的 active_model。首次连接后需重启 QwenPaw
Gemini CLIGOOGLE_GEMINI_BASE_URL 指向网关、API 密钥认证,以及模型

已在运行的会话保持它启动时的模型。Agent 启动时读取配置,所以改动从下一个会话生效。Codex 也在启动时生成模型列表:切换后请重启 Codex 应用和已打开的 codex 会话。

Paseo、编辑器插件等替你运行 Claude Code 或 Codex 的前端,启动的是同一个 CLI,读的也是同一份 ~/.claude 或 ~/.codex 配置。在 magpie 里设一次模型,它们从下一个会话起也会用上。
claude-magpie:经 magpie 运行 Claude Code,claude 保持原样。想让平常的 claude 继续用你自己的 Claude 账号、只在需要时才走 magpie,就不要连接 Claude Code,改用 claude-magpie 启动。它启动的是同一个 claude,只在这次会话里把 magpie 的设置(网关、模型和各档位)叠在你的设置之上,~/.claude/settings.json 不会被改写。所有参数都交给 Claude Code:claude-magpie --resume、claude-magpie -p "…"。在 设置 › 命令行 添加 magpie 命令时,magpie 会把它放在旁边;已经添加过的,运行一次 magpie claude launcher add 即可。magpie claude run 效果相同。在其中用 /model 选的模型会留给下一次 claude-magpie,你自己的 claude 保留原来的模型。magpie 需要在运行。

3 · 可选:路由组

每个供应商只有一个账号时可以跳过这一步。等你有了多个——比如两个 ChatGPT 账号,或者同一个模型既有订阅又有密钥——再来设置。

路由页:四个 Agent 同时经三个路由组发请求,被限流的供应商暂时让开 路由页:四个 Agent 同时经三个路由组发请求,被限流的供应商暂时让开
路由组:多个模型或账号合成一个名字,按智能或顺序切换。

一个供应商里的多个账号或密钥

展开供应商那一行,勾选要用的每个账号或密钥。路由 决定请求怎么分给它们:智能(默认)、按顺序、用完再换(一个用完再换下一个,前面的恢复了也不切回去)、轮流、用量少的优先、到期前用完、按权重(每个账号或密钥按旁边设的权重分得请求,比如 Max 账号设 5、Pro 账号设 1)或 速度优先(最近回答最快的密钥先用)。备用 里列出这个供应商额度用完、被限流或不可用时改用的模型。

跨供应商的同一个模型

路由组是几个模型(来自一个或多个供应商),Agent 把它当作一个来选:group/<id>,在选择列表的 路由组 下面。两个供应商用同一个名字提供的模型会自动成组;在 路由 标签页点 新建组 可以把任意模型组到一起。排第一的模型决定这个组对外的能力。

不用手动建的组。再加一个供应商,只要它提供的模型和已有的同名(比如 Claude 订阅和 Copilot 都有 Claude Opus,DeepSeek 官方 API 和 OpenRouter 都有 DeepSeek),magpie 就会自动把它们组成一个路由组:auto/<模型>(模型自己的 id,比如 auto/claude-opus-4.6;以前的 group/auto-… 也照样能用),包含所有提供这个模型的供应商。名字按各家不同的写法匹配(deepseek/deepseek-chat 和 deepseek-chat 算同一个)。给 Agent 选这个组,请求就会分摊到这些供应商上;不想要的可以用 magpie group rm 隐藏。
给供应商的怪名字起个自己的 id。有的供应商用自己的 id 提供模型,比如 deepseek-v4.1-flash-1017、grok-4.6@500k。在供应商编辑页的 模型设置 里,等同于 旁边的 列为 填上你想要的 id,再点 保存;或者运行 magpie model id relay/grok-4.6@500k grok-4.6。之后 magpie 列出、路由、把它和其他供应商的 grok-4.6 合进 auto/grok-4.6 组、限制网关密钥、记录用量,都用 grok-4.6,向供应商请求时仍然发 grok-4.6@500k。一个供应商里一个 id 只对应一个模型:最后设上的那个生效,期间供应商自己叫这个 id 的模型不再列出。magpie model id relay/grok-4.6 --reset 改回来,magpie model ids 列出全部。登录的订阅和插件的供应商也一样(magpie model id cursor/deepseek-v41-flash-1017 deepseek-v4.1-flash):账号或插件收到的仍是它自己的 id。
路由谁排在前面
智能 smart默认。把成员的账号和 Key 放在一起排(组里的路由组算一个,见下文):还有余量的订阅里,额度最先重置的排第一。看周额度的重置时间;只有 5 小时额度、没有周额度的账号(如 Claude Enterprise)看它的 5 小时重置,所以排在所有更晚重置的周额度前面。没有重置时间的积分(WorkBuddy 的积分包,各自到期)按剩余积分最早过期的时间算,所以积分最先过期的 WorkBuddy 账号排第一;同时重置的账号(免费账号都在月底)再看剩余积分哪个先过期。失败后在休息的排最后。
按顺序 order先用第一个模型,它答不了再换下一个。
用完再换 drain一个账号或 Key 用到额度用完,再换下一个,并一直用它:前面的额度恢复了也不会切回去。被限流或出错的只在休息期间跳过。
轮流 rotate会话的每一轮交给下一个成员的账号或 Key,均摊负载。
最少使用 usage剩余额度最多的账号或 Key 排第一。
到期前用完 pace每周剩余额度除以距重置的小时数,最高的账号排第一——重置时损失最多的那个——少让成员的周额度到重置时作废;只有 5 小时额度、没有周额度的账号(如 Claude Enterprise)按 5 小时窗口的剩余额度除以距它重置的小时数算,所以几乎总排第一。账号里有比重置更早过期的积分时(如 WorkBuddy 签到得的积分),按最先过期的那部分除以距过期的小时数算,比周额度的更高就按它排。用到 90% 以上的等其他账号都答不了时才用。Key 按最近发给它的 token 数排。
按权重 weight每个模型按群组编辑器里它旁边设的权重(1 到 1000,不设为 1)分得请求:权重 3 的模型每拿三个,权重 1 的拿一个,均匀穿插而不是成批。每个模型按它自己提供方的路由用自己的账号或 Key,群组里的群组算一个成员。失败后歇着的那个退出这一轮;一个失败时,下一个模型接上。
速度优先 fast最近回答这个模型最快的成员、账号或 Key 先用:看首字时间和输出速度,越新的回答算得越重。相差不到一成的保持原来的顺序。一小时内没测过的每五个请求分到一个,慢过一次的渠道还会再试;失败后歇着的排最后。只测流式回复,重启后重新测。
最便宜优先 cheap仅限路由组。此刻模型最便宜的成员先用,按 Usage 计费的方式算这个时段每百万输入、输出 token 的价格:你自己设的价格,否则用标价,再乘以提供方的价格倍率和分时倍率。DeepSeek 官方 API、Command Code 和 OpenCode Go 的 DeepSeek 模型在高峰时段(工作日 UTC 01:00–04:00 和 06:00–10:00)双倍计价,Ollama Cloud 的 DeepSeek V4.1 Flash 和 V4 Pro 则按它自己的高峰时段(工作日 UTC 12:00–18:00,其余时间半价),所以同一个 DeepSeek 模型挂在两个提供方上时,会交给这个时段更便宜的那个。价格相同的保持原来的顺序;不知道价格的排最后。
会话保持会话在回答过它的账号或 Key 上留多久
自动 auto默认。一轮之内总是保持,跨轮则在厂商缓存还值得保留时保持。
整个会话 session整个会话,只要它还能回答。路由为智能、最少使用或到期前用完时,新会话交给当前会话最少的账号或 Key,同时开的几个会话各占一个。
一轮之内 turnAgent 回传工具结果时不换;你再次发言时,路由重新决定。
关闭 off每个请求都重新路由。
严格 strict绝不换到别的账号或密钥,即使超过其用量上限也一样:它被限流或额度用完时,错误直接交给 Agent。新会话像“整个会话”一样分开。

规则 · 把某类对话交给指定模型

路由组的 规则 把符合条件的一轮对话交给组里指定的模型:够长(tokens ≥ N)、带图片、要求推理(开启,或不低于某个强度)、来自某些 Agent,用户想做的事符合你描述的意图、Agent 正在压缩上下文,或者 Agent 在某些文件夹(项目)里工作。一条规则的条件要同时满足,所以可以写“在 ~/work/acme 里,并且够长”。每次你发新消息时从上往下检查,第一条命中的规则把它的模型排在最前,其余成员排在后面做故障转移。没有命中任何规则的一轮照组本来的方式路由,并保持在原来的账号上。

路由组里放路由组

路由组的成员也可以是另一个路由组:在 添加模型 的 路由组 分类里选它,或者在终端里用 models+=group/<id>。子组占据它在顺序里的位置,在自己的模型之间按自己的路由方式和规则分配。比如 Coder 可以是 deepseek-v4-pro,然后是 Fast,而 Fast 是几个便宜模型的顺序。Coder 的规则可以把一轮对话交给 group/fast,再由 Fast 自己的规则决定它里面哪个模型排第一。

路由标签页里的嵌套路由组:Coder 包含 deepseek-v4-pro 和路由组 Fast,Fast 的 deepseek-v4-flash 与 kimi-k2.5 列在它下面;Kimi 回答了请求 路由标签页里的嵌套路由组:Coder 包含 deepseek-v4-pro 和路由组 Fast,Fast 的 deepseek-v4-flash 与 kimi-k2.5 列在它下面;Kimi 回答了请求
Coder 的规则把一个简单问题交给路由组 Fast,Fast 自己的规则又把 Kimi 排在组内第一。路由记录会写明每一层的规则和意图判断模型分别做了什么决定。

路由 标签页实时显示网关的决定:每个请求由谁回答、为什么。在终端里也能管理路由组:

终端
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 set opus-anywhere routing=weight weight=claude/claude-opus-5-5=3  # 每四个请求有三个给它
magpie group rule add opus-anywhere use=openrouter/anthropic/claude-opus-5.5 tokens=150k  # 长对话优先发给它
magpie group rule add opus-anywhere use=copilot/claude-opus-5.5 intent="一个简单问题" classifier=groq/llama-3.1-8b-instant
magpie group rule add opus-anywhere use=deepseek/deepseek-v4-flash compact  # /compact 的总结交给便宜的模型
magpie group rule add opus-anywhere use=kimi/kimi-k2.6 folders=~/oss,"~/My Project"  # 这些项目里的对话先发给它
magpie group rule add opus-anywhere pause=copilot/claude-opus-5.5 time=14:00-18:00 days=mon-fri  # 这段时间不用它
magpie group rule add opus-anywhere pause=claude/claude-opus-5-5 except-folders=~/big-task  # 只留给 ~/big-task 里的任务:其他文件夹不用它
magpie group set coder models+=group/opus-anywhere  # 路由组里放路由组
magpie group rule opus-anywhere      # 查看规则;rule rm|mv <n>,rule classifier <组> <模型> 换判断模型
magpie group copy opus-anywhere "Opus test"  # 复制一份:模型、路由方式和规则都一样,可单独修改
magpie group rm opus-anywhere        # 自动发现的组会被隐藏;magpie group restore <id> 恢复
magpie claude group/opus-anywhere    # 使用它

用量与方案

用量。用量 标签页按 Agent 和模型统计每次经过网关的调用的 token、缓存命中和费用,可选 今天、7 天、30 天 或 全部;最上面是各订阅已用的额度和重置时间。Agent 直接发给自己厂商的请求不经过 magpie,不会计入。

用量页:剩余余额、token 与费用汇总,以及 30 天趋势图 用量页:剩余余额、token 与费用汇总,以及 30 天趋势图
经过网关的每次调用的余额、token、缓存命中和费用。

上下文。用量 里的 上下文 标签页显示每个 Agent 的提示词里装了什么,在请求经过网关时读出:系统提示词、工具定义(一个 MCP 服务器的工具算作一项)、指令文件与 skills、工具读入的文件、工具的其他输出和对话,各占模型上下文窗口的多少。每个 Agent 有一个百分制得分——缓存读到了多少提示词、起步多轻、上下文涨得多快、失败多不多——以及「起步轻」「MCP 偏重」之类的标签,说明得分从何而来。打开一个会话,可以一格一格地看它最近一次请求的窗口;在 路由 页点选任意请求也能看到。点一个部分、一格或一项,可以看到 magpie 发出去的原文,开着遮盖时是遮盖后的。原文只为最近 10 次请求留在内存里,magpie 退出就没了;存下来的只有名称,不保存提示词的文字,也不会发往任何地方。

方案。在 Agent 标签页底部点 + 保存当前,把所有 Agent 的设置存成一个方案;之后点这个方案就能一键全部切回。正在使用的方案带 ✓,托盘面板的 方案 按钮也显示它的名字;之后手动改过设置,✓ 就会消失。

命令行

magpie tui 是终端里的完整界面,上面每一步也都有对应命令。magpie help 列出全部命令。

命令作用
magpie ls列出找到的每个 Agent 及其设置
magpie presetsmagpie 内置的厂商预设
magpie provider add deepseek sk-…用密钥添加一个预设
magpie accounts add codex再登录一个 Claude 或 ChatGPT 订阅
magpie accounts switch claude next把 Claude Code(或 codex)切到下一个还有额度的账号;都已过切换线时,切到剩得最多的那个
magpie accounts discovery off不读取智能体的登录信息(Claude Code 和 Codex 的文件、钥匙串);on 重新读取
magpie providers你的供应商:地址、密钥、模型、谁在用
magpie modelsAgent 能选的所有模型,写作 provider/model
magpie claude codex/gpt-5.5设置 Agent 的模型
claude-magpie这一次会话经 magpie 运行 Claude Code,平常的 claude 仍用你的账号(magpie claude run;magpie claude launcher add 放到 PATH 上)
magpie codex effort high设置其他字段
magpie codex default恢复 Agent 自己的默认值,移除 magpie 的接入
magpie save work · use work保存、应用方案
magpie usage 7d按 Agent 和模型统计 token 与费用
magpie tools · magpie tool generate_image "…" -o hero.png列出并直接调用 magpie 通过 MCP 给 Agent 的工具(生图、识图、联网搜索、插件的工具);生成的图片保存到文件
magpie tray只启动菜单栏图标
magpie log · magpie log -fmagpie 的日志在哪里,报告问题时附上;-n 200 打印应用日志的最后几行,-f 持续跟随

常见问题

需要自己 export OPENAI_BASE_URL 或 ANTHROPIC_BASE_URL 吗?

不需要。对 magpie 列出的 Agent,它会把网关地址和令牌直接写进 Agent 自己的配置文件。这些环境变量只用于 magpie 不管理的、带 base URL 设置的其他工具:网关 标签页的 接入 部分有一键复制和示例代码。

magpie 必须一直开着吗?

通过 magpie 使用的模型需要:网关随应用一起运行。关掉窗口后它仍留在菜单栏或托盘里;magpie tray 只启动图标(可以放进登录项),magpie serve 只运行网关,magpie daemon install 把它装成服务(Linux 上是 systemd,Mac 上是 launchd),登录或开机就启动,不需要窗口;magpie daemon install --web 让服务同时提供浏览器页面,magpie daemon status 会打印页面的链接。Agent 用它自己的模型和自己的登录时,不经过 magpie。

怎么把 Agent 恢复原样?

在选择列表里选 Agent 自带的模型,或运行 magpie <agent> default。magpie 会删掉它写入的内容,并恢复被它替换掉的值,比如你原来的 ANTHROPIC_BASE_URL。

换了模型,Agent 还在用旧的?

已在运行的会话保持启动时的模型。开一个新会话;如果是 Codex,也请重启 Codex 应用。

手动改 Agent 的配置会冲突吗?

不会。magpie 每次都重新读取文件,只动它设置的那几个键,你的其他设置和注释都会保留。用 导入… 带进来的供应商是一份拷贝:之后在 Agent 里的改动不会再同步过来。

没有梯子,安装或更新连不上 GitHub 怎么办?

给安装脚本和 magpie update 加代理:curl -fsSL https://usemagpie.ai/install.sh | sh -s -- --proxy http://127.0.0.1:7890,或 magpie update --proxy socks5://127.0.0.1:1080(支持 http、https、socks5、socks5h;环境变量 HTTPS_PROXY、ALL_PROXY 同样生效)。发布文件从 usemagpie.ai(Cloudflare R2)下载,失败时改从 github.com 下载。--mirror <前缀> 在站点下载失败时从你指定的 GitHub 下载镜像取发布文件,即 <前缀>https://github.com/…;magpie update mirror <前缀> 让之后每次更新(包括应用自己的更新)都用它,magpie update mirror off 取消。不指定就不用任何镜像;文件的 SHA-256 始终来自 usemagpie.ai,而不是镜像,镜像改过的文件会被拒绝安装。应用自己的更新走 设置 → 代理。

Linux 上安装脚本装的是哪个版本?

装了 GTK 3 和 WebKitGTK 4.1 时装桌面版(窗口、托盘图标和应用菜单项)。有桌面但缺这两个库时,脚本会用系统的包管理器(apt、dnf、pacman 或 zypper)通过 sudo 装上 WebKitGTK 4.1(sudo 会要你的密码),再装桌面版;要密码之前会先说要装什么。没有终端(CI、Dockerfile)、没有 sudo、发行版不认识或者装库失败时,先装终端版(magpie tui、magpie web 和命令行),最后给出装库的命令,比如 Debian、Ubuntu 上是 sudo apt install libwebkit2gtk-4.1-0,Fedora 上是 sudo dnf install webkit2gtk4.1;装好后再运行一次安装脚本就换成桌面版。在桌面上运行还是 ssh 进去运行都算有桌面:有图形会话、你登录着图形界面,或者装了可登录的桌面环境。没有桌面的服务器装终端版。想自己选,加 --gui(库现在装不上也装桌面版)或 --tui(装终端版,不装任何系统包):curl -fsSL https://usemagpie.ai/install.sh | sh -s -- --tui。

怎么卸载 magpie?

用安装脚本装的:curl -fsSL https://usemagpie.ai/install.sh | sh -s -- --uninstall 会先让 magpie 断开每个 Agent 并恢复它原来的配置,再拿掉脚本装上的东西:magpie 命令,macOS 上的应用,Linux 上的菜单项、图标和 magpie:// 链接处理,以及 Linux 上会去启动一个已不存在的 magpie 的后台服务和开机启动。~/.config/magpie 里的设置、provider 和用量都保留,重新安装就回来。加上 --purge 会把它们也删掉(magpie uninstall --yes)。用其他方式装的,magpie uninstall 或 设置 → 卸载 magpie 做的就是 --purge 那些事,程序本身留给你删除。

已经把 magpie 删了(应用拖进了废纸篓、文件夹删掉了),Agent 还是连不上?macOS 和 Linux 上运行同一行 --uninstall:找不到 magpie 时它会把最新版下载到临时文件夹(和安装一样校验),由它趁 ~/.config/magpie 里还记着每个 Agent 原来的配置时把它们恢复。Windows 上重新下载 magpie,用 设置 → 卸载 magpie。手动恢复 Codex:先退出 Codex,在 ~/.codex/config.toml 里删掉每条 # magpie: 注释下面的那一行(openai_base_url、model_provider = "magpie"、model_catalog_json),把 model 改回 Codex 自己的模型;没有要保留的、在 magpie 上开的对话时,[model_providers.magpie] 整段也可以删。再删掉 ~/.codex/magpie-models.json,重新打开 Codex。

magpie 的文件能放到另一块磁盘上,重装系统也不丢吗?

安装版的 magpie 把设置、provider、用量和库放在 ~/.config/magpie(Windows 上是 C:\Users\<你>\.config\magpie)。它每天自动备份一次,备份放在同一个文件夹的 auto-backups 里,所以重装系统时备份也会一起丢;设置 → 同步与备份 的 备份文件夹 下面会提示这一点。在那里点 更改…,选另一块磁盘上的文件夹(如 D:\magpie-backups)或网盘同步的文件夹。重装后装好 magpie,在同一处选回这个文件夹,再对最新的版本点 恢复…。备份里没有 API Key;打开 备份登录信息 会把订阅账号和插件登录也放进去,用口令加密。要连 Key 一起带走,在同一处设置同步到 WebDAV 文件夹、S3 存储桶或 GitHub 仓库,用口令加密。

想把所有东西都放在那块磁盘上,就用便携模式:把 magpie.exe 放进那里的一个文件夹,旁边建一个名为 data 的空文件夹(D:\magpie\magpie.exe 和 D:\magpie\data)。这样 magpie 的一切,包括缓存和日志,都放在 data 里,不在你的用户文件夹里写任何自己的文件;设置 → 关于 → 配置目录 会显示便携模式。打开它,按上面的方法恢复一个备份。重装系统后,再打开 D:\magpie\magpie.exe 即可。各 Agent 自己的配置(~/.claude、~/.codex…)仍留在各自读取的位置。

magpie 的日志在哪里?

应用(窗口、菜单栏或托盘图标、快捷面板,不论怎样打开)写入 app.log:macOS 上是 ~/Library/Logs/magpie/app.log,Windows 上是 %LOCALAPPDATA%\magpie\logs\app.log,Linux 上是 ~/.local/state/magpie/app.log(设置了 $XDG_STATE_HOME 时是 $XDG_STATE_HOME/magpie),便携版则在数据文件夹的 logs 里。设置 → 关于 → 日志里有它的路径,打开会显示它所在的文件夹;magpie log 打印路径,magpie log -f 持续跟随。满 5 MiB 后它变成旁边的 app.old.log,最多保留两个文件。它记的是 magpie 做了什么、遇到了哪些错误(服务商拒绝请求、重试、插件没能启动),不含你的密钥、提示词或回复;看起来像密钥或令牌的内容也会被遮掉。作为服务运行的 magpie serve 日志在别处:macOS 上是 ~/Library/Logs/magpie/serve.log,Linux 上是 journalctl --user -u magpie;magpie log 也会列出它。

magpie 会发送我的哪些信息?

你的提示词、回复、密钥和账号只发给你用的供应商,中间没有 magpie 自己的服务器。正式发布的 magpie 每天告诉我们一次它在用,好让我们知道有多少人在用、该先照顾哪些:本机随机生成的 ID、magpie 版本和系统,以及用了哪些 agent、供应商和模型,只用 magpie 自己的 ID(claude、deepseek、deepseek/deepseek-v4)和各自的数量。你自己添加的供应商及其上的模型只记作 custom。添加供应商页里排在最前的合作伙伴,每天被展示、打开和添加的次数也一并发送,只有次数。不发送名称、Base URL、账号、密钥、提示词和用量。设置 → 隐私 → 分享我用的 agent、provider 和模型 可以去掉 agent、供应商、模型和合作伙伴次数这部分;计入用户数、DO_NOT_TRACK=1 或 MAGPIE_NO_STATS=1 全部关闭。从源码构建的版本从不发送。合作伙伴的官网和「获取 Key」链接经 usemagpie.ai/go/… 跳转,跳转前记一次点击(哪个合作伙伴、哪个链接、哪个国家),usemagpie.ai 也会统计合作伙伴列表被拉取的次数。这部分是服务器本身看到的,和任何网站统计访问一样,不受上面的设置影响;不记录 ID、IP 和账号。插件、导入链接和库里的图标经 usemagpie.ai/api/icon 获取,图标所在的服务器只看到 Cloudflare 的地址,看不到你的 IP;这台服务器只转发图片,不计数也不记录。隐私页列出了 magpie 自己发出的所有内容,附每日计数的示例、它在本机留下的文件和每个开关。

Agent 报 502 或连不上,magpie 的路由标签页里却什么都没有?

代理软件(Surge、Clash、mihomo 等,开了系统代理、TUN 或增强模式)把 Agent 发往 http://127.0.0.1:3425 的请求接走、转去了别处,请求根本没到 magpie。只在跳过列表(skip-proxy、「绕过」)里写 127.0.0.1 不一定够:有些 Agent(比如 Codex)照样会走代理。在代理软件里加两条本地地址直连的规则,放在其他规则前面:

Surge
IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
IP-CIDR6,::1/128,DIRECT,no-resolve

Clash / mihomo 的配置里把这两行写在 rules: 下,每行前面加 - 。改完让 Agent 重新发一次请求即可。

DeepSeek Harness 能保留自己的 DeepSeek 行,同时走 magpie 吗?

可以,手动配置。连接 dsh 时 magpie 只加自己的路由,dsh 的 DeepSeek 行(llm-deepseek)留给 dsh。这一行在会话中途改提示词或工具时能保住 DeepSeek 的缓存。要让它经过 magpie,在 ~/.dsh/profiles/<profile>/cordis.patch.yml 里加上:

cordis.patch.yml
- id: llm-deepseek
  config:
    baseURL: http://127.0.0.1:3425
    apiKeyEnv: MAGPIE_DS_KEY
    maxInlineRequestImageBytes: 67108864
    models:
      - id: deepseek/deepseek-flash
        name: DeepSeek V4.1 Flash (magpie)
        contextWindow: 1000000
        inputModalities: [text, image]
        systemPromptUpdate: in-history
        toolUpdate: addition-only
      - id: deepseek/deepseek-v4-pro
        name: DeepSeek V4 Pro (magpie)
        contextWindow: 1000000

baseURL 不带 /anthropic。模型 id 用 magpie 的(magpie models);写了 models 就会替换 dsh 的默认列表,所以两行更新方式要保留。MAGPIE_DS_KEY 里放网关密钥(本机是 magpie),不是你的 DeepSeek 密钥:export、写进 ~/.dsh/.env,或在 dsh 模型页的 DeepSeek 行填入都行。模型在 dsh 里选;在 magpie 里断开不会动这一项。magpie 没有 Files API,dsh 会把图片按 base64 每轮内联发送,上限是 maxInlineRequestImageBytes(默认 20 MiB,上面设成 64 MiB)。这一行只用 DeepSeek 自己的模型。详见参考文档。

Trae / Trae CN 能用 magpie 的模型吗?

有用户反馈这样可以用。Trae 把自定义模型存在你的 Trae 账号里(在它的服务器上),所以 magpie 没法一键帮你配好,而且 Trae 不一定连得到 127.0.0.1。做法是:

  1. 在 magpie 里打开 设置 → 网络与共享 → 局域网共享,记下它显示的 地址。
  2. 准备一个网关密钥(网关 → 网关密钥,或 magpie gateway-key add "Trae")。
  3. 在 Trae 的自定义模型设置里,地址填这个地址,API 密钥填这个网关密钥。

模型 id 用 magpie 的(magpie models)。打开共享后,局域网里的其他电脑凭网关密钥也能连入;见 远程 magpie。

遇到问题,或者有值得分享的配置?来 Discord 聊。想给自己的用户一键添加供应商的厂商,请看 Add to magpie。