文档 · 指南

让 CodeBuddy 用任意模型

CodeBuddy 是腾讯的 AI 编程工具:命令行的 CodeBuddy Code(codebuddy、cbc),以及 CodeBuddy IDE。国际版(codebuddy.ai)和国内版(codebuddy.cn)都接受“自定义模型”。magpie 把你在 magpie 里的模型写进它的自定义模型列表,于是 CodeBuddy 能用 DeepSeek、GLM、Kimi、Qwen、OpenAI 或 Anthropic Key,或 ChatGPT、Copilot 订阅,而这些模型不需要登录 CodeBuddy 账号。

CodeBuddy Code 是一个 npm 包 @tencent-ai/codebuddy-code,国际版和国内版共用;国内版用 CODEBUDDY_INTERNET_ENVIRONMENT=internal 区分。两者都从 ~/.codebuddy/models.json(设了 CODEBUDDY_CONFIG_DIR 时在那个目录)读取自定义模型,CodeBuddy IDE 也读同一个文件。所以 magpie 里只有一行 CodeBuddy,CLI 和 IDE 都靠它。

接入 CodeBuddy

  1. 在 magpie 里添加供应商在 供应商 页添加 API Key,或登录一个订阅。
  2. 在 CodeBuddy 那一行选模型在 Agent 页选 magpie 下的一个模型。magpie 把所有模型写进 models.json,并把选中的写进 settings.json 的 model。
  3. 开始新会话CodeBuddy Code 在会话开始时读取模型:重启 codebuddy,或在已打开的会话里运行 /clear。
终端
magpie codebuddy deepseek/deepseek-v4-pro
magpie codebuddy            # 查看当前设置

models.json

magpie 写入的每个模型都指向本机的 magpie 网关,用 magpie 给 CodeBuddy 的 Key 走 Bearer 认证。CodeBuddy 直接请求这个地址,不经过腾讯的服务器,也不需要 CodeBuddy 登录。

终端
{"models": [{
  "id": "deepseek/deepseek-v4-pro", "name": "DeepSeek V4 Pro", "vendor": "magpie",
  "apiKey": "…", "url": "http://127.0.0.1:3425/v1/chat/completions",
  "maxInputTokens": …, "maxOutputTokens": …,
  "supportsToolCall": true, "supportsImages": …, "reasoning": {…}
}, …]}

maxInputTokens 和 maxOutputTokens 来自 magpie 的模型目录;没写 maxOutputTokens 时 CodeBuddy 会用自己的默认值截断回复。支持思考的模型带上它的思考强度(supportedEfforts 和 defaultEffort),能关闭思考的标上 canDisableThinking;上下文超过 200K 的模型在 contextWindow 里给出两个可选长度。CodeBuddy 发现文件改动会自动刷新列表,不用重启。

CodeBuddy Code

命令行里,会话开始时用的模型是 settings.json 的 model:可以是 models.json 里 magpie 的一个模型 id,也可以是 CodeBuddy 自带的模型。CodeBuddy 的请求都带着它自己的 User-Agent,magpie 靠 Key 认出它,所以用量页里记在 CodeBuddy 名下。

CodeBuddy IDE

CodeBuddy.app(codebuddy.ai)和 CodeBuddy CN.app(codebuddy.cn)读取同一个 ~/.codebuddy/models.json:监视这个文件,文件一改就同步模型列表,magpie 的模型出现在 IDE 自己的模型选择器里。IDE 不需要装 CLI;只装了 IDE 时,magpie 照样显示 CodeBuddy 这一行。注意两点:IDE 总是读家目录下的 .codebuddy,不管 CODEBUDDY_CONFIG_DIR;它也不读 settings.json 的 model,模型在 IDE 里选。

你自己的模型

models.json 里你自己加的模型原样保留,magpie 只更新它自己的那些,并放回原来的位置。你在 CodeBuddy 里停用的 magpie 模型保持停用;你给某个模型设的默认思考强度,只要模型还支持,就不会被改回去。如果文件里有 availableModels(要显示的模型列表),magpie 的模型会加进去,你列的其他模型不动。

WSL

Windows 上,装了 CodeBuddy Code 的 WSL 发行版有自己的一行,写入发行版里的 ~/.codebuddy/models.json,地址是发行版能访问到的网关,用发行版那边的 Key。那里不读 CODEBUDDY_CONFIG_DIR。

切回

在那一行选一个 CodeBuddy 自带的模型,magpie 就把它的模型从 models.json 里拿掉,并把 settings.json 的 model 设为你选的那个。也可以在命令行运行:

终端
magpie codebuddy default

常见问题

CodeBuddy 能用 DeepSeek、GLM、Kimi 或 Qwen 吗?

能。magpie 把这些模型作为自定义模型写进 ~/.codebuddy/models.json,CodeBuddy Code 和 CodeBuddy IDE 的模型列表里都能选到。

用 magpie 的模型需要登录 CodeBuddy 吗?

不需要。这些模型直接请求本机的 magpie 网关,用 magpie 给 CodeBuddy 的 Key 认证,不经过 CodeBuddy 的账号。

CodeBuddy 国内版和 CodeBuddy CN IDE 能用吗?

能。国内版和国际版 CLI 是同一个 npm 包,CodeBuddy.app 和 CodeBuddy CN.app 读的也是同一个 models.json,一行设置对它们都生效。

换了模型为什么没生效?

CodeBuddy Code 在会话开始时读取模型。重启 codebuddy,或在会话里运行 /clear。IDE 里的模型要在 IDE 的模型选择器里选。

更多 Agent 用同样的模型:Claude Code 接入其他模型、让 Kimi Code 用任意模型、让 Qwen Code 用任意模型、让 T3 Code 用任意模型。腾讯云的模型见 腾讯云。笔记里用同样的模型:让 Obsidian 用任意模型。遇到报错?见 常见错误排查,或到 Discord 提问。