nanobot 安装教程
1. 什么是 nanobot
nanobot 是一个超轻量级的个人 AI 助手,灵感来源于 OpenClaw。它在仅约 4,000 行代码中提供核心代理功能,比 Clawdbot 的 43 万+行代码小 99%。
主要特性
- 超轻量级:仅约 4,000 行核心代理代码
- 研究就绪:干净、可读的代码,易于理解、修改和扩展
- 闪电般快速:最小的占用空间意味着更快的启动、更低的资源使用和更快的迭代
- 易于使用:一键部署,随时可用
2. 安装方法
nanobot 提供多种安装方式,你可以根据自己的需求选择:
方式一:从源码安装(推荐用于开发,包含最新特性)
-
打开终端或命令提示符
-
执行以下命令:
git clone https://github.com/HKUDS/nanobot cd nanobot pip install -e .
方式二:使用 uv 安装(稳定,快速)
uv tool install nanobot-ai
方式三:从 PyPI 安装(稳定)
pip install nanobot-ai
3. 快速开始
3.1 初始化
首先,运行初始化命令:
nanobot onboard
3.2 配置
编辑 ~/.nanobot/config.json 文件,添加以下配置:
设置 MiniMax API Token(如果API密钥来自 mainland China 平台,需要配置 apiBase 为 https://api.minimaxi.com/v1):
{
"providers": {
"minimax": {
"apiKey": "${MINIMAX_API_KEY}",
"apiBase": "https://api.minimaxi.com/v1"
}
},
"agents": {
"defaults": {
"model": "MiniMax-M2.5",
"provider": "minimax"
}
}
}
3.3 开始聊天
打开 tui 界面:
nanobot agent
这样,你就拥有了一个工作中的 AI 助手!
4. 聊天应用集成
nanobot 支持多种聊天平台,你可以根据需要进行配置:
4.1 Telegram(推荐)
-
创建机器人:
- 打开 Telegram,搜索 @BotFather
- 发送 /newbot,按照提示操作
- 复制令牌
-
配置:
{ "channels": { "telegram": { "enabled": true, "token": "YOUR_BOT_TOKEN", "allowFrom": ["YOUR_USER_ID"] } } } -
运行:
nanobot gateway
4.2 Discord
-
创建机器人:
- 访问 https://discord.com/developers/applications
- 创建应用 → Bot → Add Bot
- 复制机器人令牌
-
启用意图:
- 在 Bot 设置中,启用 MESSAGE CONTENT INTENT
- (可选)如果计划使用基于成员数据的允许列表,启用 SERVER MEMBERS INTENT
-
获取用户 ID:
- Discord 设置 → 高级 → 启用开发者模式
- 右键点击你的头像 → 复制用户 ID
-
配置:
{ "channels": { "discord": { "enabled": true, "token": "YOUR_BOT_TOKEN", "allowFrom": ["YOUR_USER_ID"] } } } -
邀请机器人:
- OAuth2 → URL Generator
- Scopes: bot
- Bot Permissions: Send Messages, Read Message History
- 打开生成的邀请链接,将机器人添加到你的服务器
-
运行:
nanobot gateway
4.3 其他平台
nanobot 还支持 WhatsApp、Feishu(飞书)、Mochat、DingTalk(钉钉)、Slack、Email、QQ 等平台。详细配置方法请参考官方文档。
5. 配置选项
5.1 提供商配置
nanobot 支持多种 LLM 提供商,包括:
- openrouter(推荐,访问所有模型)
- anthropic(Claude 直接)
- openai(GPT 直接)
- deepseek(DeepSeek 直接)
- groq(LLM + 语音转录)
- gemini(Gemini 直接)
- minimax(MiniMax 直接)
- aihubmix(API 网关,访问所有模型)
- siliconflow(SiliconFlow/硅基流动)
- volcengine(VolcEngine/火山引擎)
- dashscope(Qwen)
- moonshot(Moonshot/Kimi)
- zhipu(Zhipu GLM)
- vllm(本地,任何 OpenAI 兼容服务器)
- openai_codex(Codex,OAuth)
- github_copilot(GitHub Copilot,OAuth)
5.2 安全配置
对于生产部署,建议设置:
{
"tools": {
"restrictToWorkspace": true
}
}
这将限制所有代理工具(shell、文件读写编辑、列表)到工作区目录,防止路径遍历和超出范围的访问。
6. 部署方法
6.1 Docker
Docker Compose
docker compose run --rm nanobot-cli onboard # 首次设置
vim ~/.nanobot/config.json # 添加 API 密钥
docker compose up -d nanobot-gateway # 启动网关
docker compose run --rm nanobot-cli agent -m "Hello!" # 运行 CLI
docker compose logs -f nanobot-gateway # 查看日志
docker compose down # 停止
直接使用 Docker
# 构建镜像
docker build -t nanobot .
# 初始化配置(仅首次)
docker run -v ~/.nanobot:/root/.nanobot --rm nanobot onboard
# 在主机上编辑配置添加 API 密钥
vim ~/.nanobot/config.json
# 运行网关(连接到已启用的通道)
docker run -v ~/.nanobot:/root/.nanobot -p 18790:18790 nanobot gateway
# 或运行单个命令
docker run -v ~/.nanobot:/root/.nanobot --rm nanobot agent -m "Hello!"
docker run -v ~/.nanobot:/root/.nanobot --rm nanobot status
6.2 Linux 服务
将网关作为 systemd 用户服务运行,使其自动启动并在失败时重启:
-
找到 nanobot 二进制路径:
which nanobot # 例如 /home/user/.local/bin/nanobot -
创建服务文件
~/.config/systemd/user/nanobot-gateway.service:[Unit] Description=Nanobot Gateway After=network.target [Service] Type=simple ExecStart=%h/.local/bin/nanobot gateway Restart=always RestartSec=10 NoNewPrivileges=yes ProtectSystem=strict ReadWritePaths=%h [Install] WantedBy=default.target -
启用并启动:
systemctl --user daemon-reload systemctl --user enable --now nanobot-gateway
7. 项目结构
nanobot/
├── agent/ # 🧠 核心代理逻辑
│ ├── loop.py # 代理循环(LLM ↔ 工具执行)
│ ├── context.py # 提示构建器
│ ├── memory.py # 持久内存
│ ├── skills.py # 技能加载器
│ ├── subagent.py # 后台任务执行
│ └── tools/ # 内置工具(包括生成)
├── skills/ # 🎯 捆绑技能(github, weather, tmux...)
├── channels/ # 📱 聊天通道集成
├── bus/ # 🚌 消息路由
├── cron/ # ⏰ 定时任务
├── heartbeat/ # 💓 主动唤醒
├── providers/ # 🤖 LLM 提供商(OpenRouter 等)
├── session/ # 💬 会话
├── config/ # ⚙️ 配置
└── cli/ # 🖥️ 命令
8. 参考资源
本文来自博客园,作者:ghimi,转载请注明原文链接:https://www.cnblogs.com/ghimi/p/19643992

浙公网安备 33010602011771号