一个轻量级 AI agent CLI。官方仓库:
https://github.com/HKUDS/nanobot
协议:OpenAI 兼容
- Base URL:
https://api.orcarouter.ai/v1(必须包含 /v1)
先安装 uv,然后安装 nanobot 命令:
uv tool install nanobot-ai
编辑 ~/.nanobot/config.json:
{
"agents": {
"defaults": {
"model": "orcarouter/auto",
"provider": "custom",
"maxTokens": 4096,
"temperature": 0.1
}
},
"providers": {
"custom": {
"apiKey": "sk-orca-...",
"apiBase": "https://api.orcarouter.ai/v1"
}
}
}
nanobot agent -m "Reply with exactly: OK" --no-logs --no-markdown
期待回复 OK。
注意事项
- 使用预定义的
custom provider——不要自创 provider 名称。自定义名称会被忽略,你会得到 provider 'None' 错误。
- 不要给
custom provider 添加 apiType 字段。只有内置的 openai provider 支持 apiType;把它加到 custom 上会导致校验失败。
- base URL 保留尾部的
/v1,且 agents.defaults.provider 必须设为 custom。
- 模型名称使用
vendor/model 格式。把 orcarouter/auto 换成具体模型,例如 anthropic/claude-opus-4.8 或 google/gemini-2.5-flash。
启用思考 / 推理
在 agents.defaults(或 modelPresets 条目)下设置 reasoningEffort。有效取值:none / low / medium / high / max。省略它(或设为 null)会遵循模型的默认行为。
{
"agents": {
"defaults": {
"model": "anthropic/claude-sonnet-4.6",
"provider": "custom",
"maxTokens": 16000,
"reasoningEffort": "high"
}
},
"providers": { "custom": { "apiKey": "sk-orca-...", "apiBase": "https://api.orcarouter.ai/v1" } }
}
maxTokens 必须大于思考预算。 nanobot 会把
reasoningEffort: high 转换成 Anthropic 的 thinking.budget_tokens;如果
maxTokens(例如默认的 4096)更小,上游会返回
400 max_tokens must be greater than thinking.budget_tokens。把
maxTokens 提高到 ~16000 即可解决。(已验证:返回 ✻ 391。)