Loading

nanobot 安装教程

1. 什么是 nanobot

nanobot 是一个超轻量级的个人 AI 助手,灵感来源于 OpenClaw。它在仅约 4,000 行代码中提供核心代理功能,比 Clawdbot 的 43 万+行代码小 99%。

主要特性

  • 超轻量级:仅约 4,000 行核心代理代码
  • 研究就绪:干净、可读的代码,易于理解、修改和扩展
  • 闪电般快速:最小的占用空间意味着更快的启动、更低的资源使用和更快的迭代
  • 易于使用:一键部署,随时可用

2. 安装方法

nanobot 提供多种安装方式,你可以根据自己的需求选择:

方式一:从源码安装(推荐用于开发,包含最新特性)

  1. 打开终端或命令提示符

  2. 执行以下命令:

    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(推荐)

  1. 创建机器人

    • 打开 Telegram,搜索 @BotFather
    • 发送 /newbot,按照提示操作
    • 复制令牌
  2. 配置

    {
      "channels": {
        "telegram": {
          "enabled": true,
          "token": "YOUR_BOT_TOKEN",
          "allowFrom": ["YOUR_USER_ID"]
        }
      }
    }
    
  3. 运行

    nanobot gateway
    

4.2 Discord

  1. 创建机器人

  2. 启用意图

    • 在 Bot 设置中,启用 MESSAGE CONTENT INTENT
    • (可选)如果计划使用基于成员数据的允许列表,启用 SERVER MEMBERS INTENT
  3. 获取用户 ID

    • Discord 设置 → 高级 → 启用开发者模式
    • 右键点击你的头像 → 复制用户 ID
  4. 配置

    {
      "channels": {
        "discord": {
          "enabled": true,
          "token": "YOUR_BOT_TOKEN",
          "allowFrom": ["YOUR_USER_ID"]
        }
      }
    }
    
  5. 邀请机器人

    • OAuth2 → URL Generator
    • Scopes: bot
    • Bot Permissions: Send Messages, Read Message History
    • 打开生成的邀请链接,将机器人添加到你的服务器
  6. 运行

    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 用户服务运行,使其自动启动并在失败时重启:

  1. 找到 nanobot 二进制路径

    which nanobot   # 例如 /home/user/.local/bin/nanobot
    
  2. 创建服务文件 ~/.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
    
  3. 启用并启动

    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. 参考资源

posted @ 2026-02-26 20:24  ghimi  阅读(9)  评论(0)    收藏  举报