文档 · 指南
让 Shelley 用任意模型
Shelley(boldsoftware/shelley)是 exe.dev 的编程 Agent,一个由 shelley serve 运行的 Web 应用。它的模型存在自己的数据库里,不在 magpie 能改的文件里,所以 magpie 通过 Shelley 自己的模型页和 Profile 页用的同一套 API 告诉它:加一个指向 magpie 网关的自定义模型,并设为默认。这样 Shelley 的新对话就能用 DeepSeek、GLM、Kimi、Qwen、GPT 或 ChatGPT 订阅等 magpie 里的任意模型。
接入 Shelley
- 先启动 Shelleymagpie 要连上正在运行的 Shelley。没运行时 magpie 会提示:先
shelley serve再试。 - 在 magpie 的 Agent 页选模型Shelley 一行的列表里有 Shelley 自己能用的模型,也有 via magpie 的模型。选后者。
- 开一个新对话新对话从默认 profile 的模型开始,也就是你刚选的模型。
shelley serve # Shelley must be running magpie shelley deepseek/deepseek-v4-pro
magpie 怎么告诉 Shelley
Shelley 给自己的命令行开了一个 Unix socket:$SHELLEY_SOCKET,否则是 $XDG_CONFIG_HOME/shelley/shelley.sock(默认 ~/.config/shelley,Mac 上也是);第二个服务器占了它时是 shelley-2.sock 等。magpie 按 Shelley 命令行的顺序找这些 socket,然后调用 /api/custom-models 和 /api/profiles:
POST /api/custom-models (over ~/.config/shelley/shelley.sock)
{
"display_name": "deepseek/deepseek-v4-pro (magpie)",
"provider_type": "openai",
"endpoint": "http://127.0.0.1:3425/v1",
"api_key": "…",
"model_name": "deepseek/deepseek-v4-pro",
"reasoning_support": "yes",
"image_support": "no",
"max_tokens": …
}每个你在 magpie 里选过的模型是一个 openai 类型的自定义模型,指向网关的 /v1(Shelley 自己补上 /chat/completions),密钥是 magpie 给 Shelley 单独发的。Shelley 平时按端点和模型名从 models.dev 判断是否支持推理和图片,magpie 的模型查不到,所以 magpie 直接告诉它。然后 magpie 把默认 profile 的 model 设成这个模型;不支持推理的模型会清空 thinking_level,免得 Shelley 拒绝。
magpie 记下自己建的模型 id,所以你在 Shelley 里手动指向网关建的模型仍然是你的。网关地址变了,magpie 会更新自己的模型。
哪些对话会换模型
新对话用新模型;已经打开的对话保留原来的模型,直到你在它的模型菜单里换一个。magpie 接入后会提示这一点。
切回
切回默认时,magpie 把默认 profile 的模型和 thinking level 还原成接入前的值(原来的模型已经不能用时,交给 Shelley 服务器的默认值),再删掉 magpie 建的所有自定义模型。也可以在 magpie 里直接选 Shelley 自己的某个模型。Shelley 已卸载时,magpie 记下待删,Shelley 再运行时删掉。
magpie shelley default
常见问题
Shelley 怎么用 DeepSeek、GLM 或 ChatGPT 订阅?
先运行 shelley serve,再在 magpie 的 Agent 页给 Shelley 选一个 via magpie 的模型。magpie 在 Shelley 里加一个指向 magpie 网关的 openai 自定义模型,并设为默认 profile 的模型。
为什么提示 Shelley isn't running?
Shelley 的模型在它的数据库里,magpie 只能通过正在运行的 Shelley 的 socket 修改。先 shelley serve 再试。
打开的对话为什么还是旧模型?
默认 profile 只影响新对话。已打开的对话在它自己的模型菜单里换。
会删掉我自己建的自定义模型吗?
不会。magpie 只删自己建的模型 id,即使你也手动建了一个指向网关的模型,它也是你的。
更多 Agent 用同样的模型:让 AtomCode 用任意模型、让 Reasonix Studio 用任意模型、让 jcode 用任意模型。遇到报错?见 常见错误排查,或到 Discord 提问。