文档 · 指南
让 nanobot 用任意模型
nanobot(HKUDS/nanobot,pip install nanobot-ai)是一个个人 AI 助手,在聊天应用、命令行和 WebUI 里回答你。它的模型来自 ~/.nanobot/config.json,providers 下任何不是它内置的键都是一个 OpenAI 兼容端点。magpie 在这里加一个 magpie 供应商并把默认模型设成 magpie 的模型,于是 nanobot 能用你在 magpie 里的任何模型:DeepSeek、GLM、Kimi、Qwen、OpenAI 或 Anthropic Key,或 ChatGPT、Copilot 订阅。
接入 nanobot
- 先运行一次 nanobot
nanobot onboard或第一次运行会建好~/.nanobot。 - 在 magpie 里添加供应商在 供应商 页添加 API Key,或登录一个订阅。
- 在 nanobot 那一行选模型在 Agent 页给 nanobot 选一个 magpie 模型。nanobot 装在 WSL 里时,magpie 也会接好那里的 nanobot。
pip install nanobot-ai && nanobot onboard # nanobot makes ~/.nanobot magpie nanobot deepseek/deepseek-v4-pro
config.json 里写了什么
magpie 加 providers.magpie,指向网关的 /v1,带上网关的 Key 和 User-Agent nanobot(不然发的是 OpenAI SDK 的 User-Agent,分不出是谁),并把 agents.defaults 设为 provider magpie、model magpie/<模型 id>,以及 magpie 知道的这个模型的上下文窗口。nanobot 把 magpie/ 前缀去掉再发给端点。
// ~/.nanobot/config.json
{
"providers": {
…,
"magpie": {"apiBase": "http://127.0.0.1:3425/v1", "apiKey": "…",
"extraHeaders": {"User-Agent": "nanobot"}}
},
"agents": {"defaults": {
"provider": "magpie",
"model": "magpie/deepseek/deepseek-v4-pro",
"contextWindowTokens": …
}}
}nanobot 的 pydantic 模型同时认 camelCase 和 snake_case 键,magpie 用 nanobot 自己写的 camelCase,同时也会拿掉 snake_case 写法的同名键,不会留下两份互相冲突的设置。
modelPreset
agents.defaults.modelPreset 指向 modelPresets 里的一项时,它会覆盖 provider 和 model。所以 magpie 接管时会把它记下并拿掉,切回时放回去;你的 modelPresets 本身不动。
什么时候生效
nanobot 的 gateway(nanobot gateway,WebUI 用的就是它)监视这个文件,在下一次回复时用上新设置。nanobot agent 只在启动时读一次,所以已经打开的 nanobot agent 对话要重开。nanobot 运行时 magpie 也会提示这一点。
你自己的设置
你在 agents.defaults 原来的 provider、model、上下文窗口和 modelPreset 都会被记下,切回时放回去。你的其他供应商、预设和 Key 都不动。如果 config.json 是 magpie 新建的,magpie 退出后文件里什么都不剩时,也会把它删掉。在 nanobot 里删了 magpie 供应商的话,magpie 的检查会提示它已经不再走 magpie。
切回
在 magpie 里把那一行切回默认,magpie 拿掉 providers.magpie,并还原 agents.defaults。也可以直接选一个你自己的模型,magpie 先还原再把它设为 model。
magpie nanobot default
常见问题
nanobot 能用 DeepSeek、GLM、Kimi 或 Qwen 吗?
能。magpie 在 ~/.nanobot/config.json 里加一个 OpenAI 兼容的 magpie 供应商,把默认模型设成你在 magpie 里选的模型。
为什么换了模型 nanobot 还在用旧的?
nanobot gateway 和 WebUI 在下一次回复时生效;nanobot agent 只在启动时读配置,重开对话即可。
我的 modelPreset 会丢吗?
不会。magpie 接管时先记下 agents.defaults.modelPreset 再拿掉(否则它会盖过 magpie 的模型),切回时放回去;modelPresets 不动。
WSL 里的 nanobot 也能用吗?
能。magpie 也会接好 WSL 发行版里的 nanobot。
更多 Agent 用同样的模型:让 OpenClaw 用任意模型、让 Hermes Agent 用任意模型、让 OpenChamber 用任意模型、让 AstrBot 用任意模型。遇到报错?见 常见错误排查,或到 Discord 提问。