nanobot-ai 搭建
其实按照官网的说明一步步照着做就可以,这里记录一些官方说明未涉及的内容。
安装方法有两个方法:
- 直接通过 uv 安装
- 通过 docker 安装
第一个方法非常简单,可以快速跑起来看看效果。建议使用虚拟环境安装,避免影响其他包。
文本详细说一下在 Linux 系统下使用 docker 安装。
介绍一下我的环境:
- 硬件:ROCK64
- 软件:Armbian Linux v26.2; Docker (Version 29.3.0)
详细步骤
先确定目录
- nanobot-ai 配置目录:~/.nanobot/
- nanobot-ai 源码目录:~/nanobot/
mkdir ~/.nanobot
mkdir ~/nanobot
克隆源码
从 github 克隆源码到 ~/nanobot 目录:
cd ~/nanobot
git clone https://github.com/HKUDS/nanobot.git
构建 Docker Image
docker build -t nanobot .
等待命令结束。
Tip #1:
不知道什么原因,构建镜像时,居然连接不上 debian 的软件源,不得已启用了网路代理。我修改了 git 仓库的 Dockerfile 文件的前几行:
FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim
# 创建目录并复制文件(COPY 会自动创建父目录)
COPY 00proxy /etc/apt/apt.conf.d/00proxy
# Install Node.js 20 for the WhatsApp bridge
RUN apt-get update && \
apt-get install -y --no-install-recommends curl ca-certificates gnupg git && \
mkdir -p /etc/apt/keyrings && \
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && \
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" > /etc/apt/sources.list.d/nodesource.list && \
apt-get update && \
apt-get install -y --no-install-recommends nodejs && \
apt-get purge -y gnupg && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/*
# ...
也就是复制了 00proxy 文件到 /etc/apt/apt.conf.d/ 目录下,00proxy 的内容是:
Acquire::http::Proxy "http://代理主机IP:端口/";
Acquire::https::Proxy "http://代理主机IP:端口/";
如果代理主机是局域网的机器,构建命令也要相应的调整为:
docker build --network host -t nanobot .
配置
配置部分就可以按 github 上的进行。先初始化,主要是初始化配置文件(或者称为工作空间)。
docker run -v ~/.nanobot:/root/.nanobot --rm nanobot onboard
然后修改宿主机 ~/.nanobot/config.json 文件,主要是填写模型服务商的信息,IM 工具等 apikey 等信息。这里不再赘述。
如果你已经有了配置文件,这一步可以省略,但要注意挂载宿主机的目录到容器的 /root/.nanobot 目录。
试一试
配置完成后,可以试一试:
docker run -v ~/.nanobot:/root/.nanobot --rm nanobot agent -m "Hello!"
正常的话,会看到类似如下输出:
🐈 nanobot
Hello! 👋 I'm nanobot, your personal AI assistant. How can I help you today?
创建系统服务
使用 systemd 创建服务。首先创建文件 /etc/systemd/system/nanobot.service ,注意替换其中的 【用户名】。
# /etc/systemd/system/nanobot.service
[Unit]
Description=Nanobot Service
After=docker.service network.target
[Service]
TimeoutStartSec=0
Restart=always
RestartSec=5
# 清理旧容器
ExecStartPre=-/usr/bin/docker rm -f nanobot
# 主服务
ExecStart=/usr/bin/docker run \
--name nanobot \
--rm \
--network host \
-v /home/【用户名】/.nanobot:/root/.nanobot \
nanobot gateway
# 停止处理
ExecStop=/usr/bin/docker stop -t 30 nanobot
ExecStopPost=-/usr/bin/docker rm -f nanobot
[Install]
WantedBy=multi-user.target
启用 & 启动服务
sudo systemctl daemon-reload
sudo systemctl enable --now nanobot
查看日志:
journalctl -u nanobot -f
IM 工具集成
目前看来,国内也就是飞书开放些,集成起来非常方便。在 nanobot-ai 中已经集成,只要在修改 ~/.nanobot/config.json,在 channels 下修改 feishu 一节的内容就可以:
"feishu": {
"enabled": true,
"appId": "<APP_ID>",
"appSecret": "<APP-Secret>",
"encryptKey": "",
"verificationToken": "",
"allowFrom": ["*"],
"reactEmoji": "THUMBSUP"
}
enabled 为 true,appId、appSecret 分别填写飞书开放平台上对应的信息,allowFrom 改为 ["*"] 就可以了。
至于飞书开放平台的配置,可以参考很对 openclaw 接入飞书的教程~
最后
我试了 openclaw 和 nanobot-ai 两个项目,都是只设置好系统,连接到飞书机器人。感觉 nanobot-ai 的响应要快很多。当然了两个系统运行的系统也不一样,所谓快慢也只是个人的直观感受而已。
本文完~