文档 · 指南

让 WorkBuddy 用任意模型

WorkBuddy 是腾讯 CodeBuddy 的桌面应用。它从 ~/.workbuddy/models.json(设置了 $WORKBUDDY_CONFIG_DIR 时在那个目录)读取你自己的模型,格式是 OpenAI chat completions。magpie 把自己的模型写进这个文件,WorkBuddy 的模型选择器里就有了 DeepSeek、GLM、Kimi、Qwen、Claude 或 ChatGPT 订阅等 magpie 里的模型。

接入 WorkBuddy

  1. 在 magpie 里添加供应商在 供应商 页添加 API Key,或登录一个订阅。
  2. 在 Agent 页把 WorkBuddy 的供应商设为 magpieWorkBuddy 的模型选择器里就会列出 magpie 为它选的模型。
  3. 在 WorkBuddy 里按任务选模型模型在 WorkBuddy 窗口里每个任务单独选,magpie 的模型显示为 custom-local:<id>。没看到的话重启 WorkBuddy,magpie 的 Agent 页会提供重启。

为什么有时要重启:WorkBuddy 5.6 只在启动时文件已经存在的情况下才监视 models.json,而且监视的是文件本身,所以文件被重写后可能要到重启才会被读到。

models.json

这个文件可以是一个模型列表,也可以是 CodeBuddy Code 命令行写的 {"models":[…],"availableModels":[…]},两种 magpie 都能读写。WorkBuddy 自己的本地模型也在同一个列表里(local: true),magpie 不碰它们。magpie 的每个模型都指向网关的 /v1/chat/completions,打开工具调用,并带上 magpie 给 WorkBuddy 的 Key:

终端
// ~/.workbuddy/models.json (one of magpie's entries)
{
  "id": "deepseek/deepseek-v4-pro",
  "name": "…",
  "vendor": "magpie",
  "apiKey": "",
  "url": "http://127.0.0.1:3425/v1/chat/completions",
  "maxInputTokens": …,
  "maxOutputTokens": …,
  "contextWindow": { "supportedLengths": [200000, …], "defaultLength": … },
  "supportsToolCall": true,
  "supportsImages": …,
  "supportsReasoning": true,
  "reasoning": { "supportedEfforts": […], "canDisableThinking": …, "defaultEffort": "…" }
}

WorkBuddy 按 url 发请求,带上 reasoning_effort,用 apiKey 作 Bearer。它的请求头写的是 CLI/<版本> WorkBuddy/<版本>,所以 magpie 靠 Key 认出 WorkBuddy 的请求。你在 WorkBuddy 里编辑过的条目会被存成 vendor Custom,magpie 仍然按 Key 认得它们。

上下文和回复长度

只有 contextWindow 列出两个或更多大小时,WorkBuddy 才在模型菜单里提供上下文选择。magpie 在完整窗口旁边加一个较小的 200K,defaultLength 是完整窗口。没有 maxOutputTokens 时 WorkBuddy 会把每次回复都限制在它自己的默认长度,所以 magpie 会写上它。

你的设置保持不变

WorkBuddy 每次启动后几秒会自己重写 models.json:清掉这台电脑跑不了的本地模型,还可能加密 apiKey。magpie 不把这次重写当成改动。文件里其他条目和字段都保持 WorkBuddy 写下的样子:

WorkBuddy AI 国际版

国际版 WorkBuddy AI(www.workbuddy.ai,com.workbuddy.workbuddy-ai)是同一个应用,数据在 ~/.workbuddy-ai。magpie 把它当成一个单独的 Agent,用它自己的 Key 接入。在 Mac 上 magpie 按应用本身识别它,而不是按这个文件夹。WSL 里的 WorkBuddy 也能接入,magpie 写入从 WSL 能访问到的网关地址。

切回

在 magpie 里关掉 WorkBuddy 时,magpie 从 models.json 里拿掉自己的模型,其他条目保持不动。

常见问题

WorkBuddy 能用 DeepSeek 或 GLM 吗?

能。magpie 把模型写进 ~/.workbuddy/models.json,在 WorkBuddy 的模型选择器里选 custom-local 开头的 magpie 模型即可。

为什么 WorkBuddy 里看不到 magpie 的模型?

WorkBuddy 可能没注意到文件被重写。重启 WorkBuddy,magpie 的 Agent 页会提供重启。

magpie 会改掉我在 WorkBuddy 里的设置吗?

不会。关掉的模型、指向 NAS 的模型、你填的回复上限和默认思考强度都保持不变。

国际版 WorkBuddy AI 能用吗?

能。它的数据在 ~/.workbuddy-ai,magpie 把它当成单独的 Agent 接入。

更多 Agent 用同样的模型:让 VS Code 用任意模型、让 CodeBuddy 用任意模型、让 Claude Science 用任意模型、让 Pencil 用任意模型。遇到报错?见 常见错误排查,或到 Discord 提问。