nanobot
在 config.json 中配置自定义 Provider 与模型预设,将 nanobot 接入 CoffeeRouter。
接入前准备
- 安装 Python 3.11 或更高版本。
- 在 CoffeeRouter 控制台创建可用令牌,并记录令牌允许使用的模型 ID。
- CoffeeRouter OpenAI 兼容基础地址为
https://www.coffeerouter.ai/v1。
配置步骤
1. 安装并初始化 nanobot
macOS 或 Linux 使用官方安装脚本:
curl -fsSL https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.sh | sh
Windows PowerShell 使用:
irm https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.ps1 | iex
也可以使用 uv 或 pip 安装:
uv tool install nanobot-ai
python -m pip install nanobot-ai
完成后运行引导向导:
nanobot onboard --wizard
2. 设置 CoffeeRouter 令牌
推荐通过环境变量提供令牌。macOS、Linux 或 WSL 使用:
export COFFEEROUTER_API_KEY="sk-your-api-key"
Windows PowerShell 使用:
$env:COFFEEROUTER_API_KEY = "sk-your-api-key"
如果 nanobot 作为后台服务运行,还需要在服务进程的环境中持久设置该变量,不能只在当前终端中设置。
3. 添加 CoffeeRouter 服务商和模型预设
打开 ~/.nanobot/config.json;Windows 中等价路径为 %USERPROFILE%\.nanobot\config.json。将以下字段合并到向导生成的配置中,不要删除已有的渠道或工具设置:
{
"providers": {
"coffeerouter": {
"apiKey": "${COFFEEROUTER_API_KEY}",
"apiBase": "https://www.coffeerouter.ai/v1"
}
},
"modelPresets": {
"coffeerouter-main": {
"label": "CoffeeRouter",
"provider": "coffeerouter",
"model": "your-model-id"
}
},
"agents": {
"defaults": {
"modelPreset": "coffeerouter-main"
}
}
}
把 your-model-id 替换为 CoffeeRouter 令牌可用模型列表中的完整模型 ID。${COFFEEROUTER_API_KEY} 会在 nanobot 启动时从环境变量读取,密钥不会因读取配置而被写回文件。
验证接入
先检查配置状态:
nanobot status
再发送一条测试消息:
nanobot agent -m "Reply with: CoffeeRouter connected"
需要继续交互时运行:
nanobot agent
常见问题
为什么终端找不到 nanobot 命令?
重新打开终端,并执行安装器最后输出的 PATH 设置命令。使用 uv 时,也可先运行 uv tool run --from nanobot-ai nanobot --version 验证安装,不要假设所有系统都使用相同的 .local/bin
路径。
为什么返回 401 或 API Key 无效?
确认当前进程能读取
COFFEEROUTER_API_KEY,并检查令牌是否完整、已启用、未过期且有可用额度。后台服务需要单独配置环境变量。
为什么提示找不到模型?
modelPresets 中的 model 必须与 CoffeeRouter 令牌管理页显示的模型 ID
完全一致,并且当前令牌必须拥有该模型权限。
是否可以直接在配置文件中填写密钥?
apiKey 支持直接填写,但更推荐使用 ${COFFEEROUTER_API_KEY} ,避免密钥进入备份、版本库或配置截图。
安全提示
不要分享 config.json、令牌、终端截图或包含请求头的日志。建议为 nanobot 创建独立令牌,并限制可用模型、额度和 IP;不再使用时及时撤销令牌。