文档 · 指南

让 Droid 用任意模型

Droid 是 Factory 的编程 Agent,可以用你自己的自定义模型。magpie 把你在 magpie 里的模型作为自定义模型加进 Droid,于是 droid 能用 DeepSeek、Kimi、GLM、Qwen、OpenAI Key,或 ChatGPT、Copilot 订阅,不用往 Droid 里贴 Key。

Droid 的设置在 ~/.factory/settings.json(设置了 $FACTORY_HOME_OVERRIDE 时在其下)。magpie 为 magpie 里的每个模型在 customModels 里加一项,带上网关地址和一个 Droid 专用的 Key,并设置 sessionDefaultSettings.model,即会话开始时用的模型。每个模型走它供应商原生的 API:Anthropic Messages、OpenAI Responses 或 Chat Completions,网关原样转发。WSL 里的 droid 也一样设置,用发行版能访问到的网关地址。

接入 Droid

  1. 在 magpie 里添加供应商在 供应商 页添加 API Key,或登录一个订阅。
  2. 在 Droid 那一行选模型在 Agent 页,给 Droid 一行选一个模型。
  3. 重启 droidDroid 在启动时读取设置:已打开的会话保留原样,重新启动 droid 即可。
终端
magpie droid deepseek/deepseek-v4-pro    # Droid 用 DeepSeek
magpie droid                             # 查看 Droid 当前的模型

模型和思考强度

magpie 的模型也在 droid 的 /model 选择器里,位于 Custom models 下,可以在会话中切换。会推理的模型会带上起始强度,于是选择器会给出它的档位(off、low、medium、high);如果它就是 Droid 内置的某个模型,则用 Droid 自己的档位和默认值。名字被 Droid 认作 OpenAI 或 Claude 的模型,会写在 Droid 期望的 API 上,这样每次会话开始时 Droid 不会发出警告。

你自己的模型

你自己添加的自定义模型保持原样,排在 magpie 的前面,id 不会变。如果你在 settings.json 里改了 magpie 某一项的字段,比如名字或强度,magpie 会保留你的值;每次同步只恢复地址和 Key。较早的 ~/.factory/config.json 不会被改动。

切回

把 Droid 那一行从 magpie 移除,或运行 magpie droid default。magpie 会删除它的自定义模型,恢复你原来的默认模型。

常见问题

Droid 能用我的 ChatGPT 订阅吗?

能。在 magpie 里登录 ChatGPT,在 Droid 那一行选一个 GPT 模型。droid 把请求发给 magpie,由 magpie 使用订阅。

改了模型,droid 还在用旧的。

Droid 在启动时读取设置。重启 droid,或在会话里用 /model 切换。

为什么 /model 里某个模型没有思考档位?

这个模型不推理。会推理的模型,magpie 会给它起始强度,droid 就会给出档位。

magpie 会动我自己的 BYOK 模型吗?

不会。你的自定义模型保持原样,排在 magpie 的前面。

更多 Agent 用同样的模型:OpenCode 接入其他模型、Claude Code 接入其他模型、让 Goose 用任意模型。遇到报错?见 常见错误排查,或到 Discord 提问。