nanobot快速部署:使用docker-compose一键启动nanobot+Chainlit+PostgreSQL

想快速拥有一个能帮你写代码、查资料、甚至管理服务器的个人AI助手吗?今天要介绍的nanobot,就是一个让你在10分钟内就能搭建起来的超轻量级AI伙伴。它基于强大的Qwen3-4B-Instruct模型,通过简单的Docker命令就能跑起来,还能用Chainlit给它做个漂亮的网页聊天界面。

最棒的是,整个过程就像搭积木一样简单,你不需要懂复杂的AI部署,跟着步骤走就行。下面我就带你从零开始,一步步把这个智能助手请到你的电脑里。

1. 认识nanobot:你的轻量级AI伙伴

在开始动手之前,我们先简单了解一下nanobot到底是什么,以及它能为你做什么。

1.1 nanobot是什么?

nanobot是一个受OpenClaw启发而开发的开源项目,但它的代码量只有后者的1%左右。你可以把它理解为一个“精简版”的AI智能体框架。

它的核心特点就是轻量易用

  • 代码极少:整个核心功能大约只有4000行代码,相比动辄几十万行的同类项目,它更加简洁,部署和维护都更简单。
  • 功能聚焦:专注于提供最核心的AI对话和任务执行能力,没有太多花哨但不实用的功能。
  • 易于扩展:虽然本身很轻量,但提供了清晰的接口,方便你根据自己的需求添加新功能。

1.2 它能做什么?

部署好nanobot之后,你就拥有了一个可以对话的AI助手。它内置了通义千问的Qwen3-4B-Instruct模型,这个模型在代码生成、文本理解、逻辑推理等方面都有不错的表现。

你可以用它来:

  • 回答技术问题:比如“Python里怎么处理JSON数据?”
  • 协助编程:让它帮你写一段代码,或者解释某个函数的使用方法
  • 执行系统命令:在授权的情况下,它可以帮你查看服务器状态、检查文件等
  • 日常对话:就像和ChatGPT聊天一样,问它各种问题

而且通过Chainlit,你还能获得一个类似ChatGPT的网页聊天界面,用起来更加直观方便。

2. 环境准备与一键部署

好了,了解完nanobot是什么之后,我们开始动手部署。整个过程只需要几个简单的命令。

2.1 确保你的环境就绪

在开始之前,请确认你的电脑或服务器上已经安装了以下两个工具:

  1. Docker:这是运行容器的基础
  2. Docker Compose:用来管理多个容器的协同工作

如果你还没有安装,可以到Docker官网下载对应版本的安装包。安装完成后,在终端里运行下面这个命令检查是否安装成功:

docker --version
docker-compose --version

如果两个命令都能正常显示版本号,说明环境已经准备好了。

2.2 获取部署配置文件

nanobot的部署非常贴心,作者已经准备好了完整的Docker Compose配置文件。你只需要下载这个文件,然后一键启动就行。

创建一个专门的工作目录,然后下载配置文件:

# 创建一个工作目录
mkdir nanobot-deploy
cd nanobot-deploy

# 下载docker-compose配置文件
# 这里假设配置文件在某个公开的地址,实际使用时请替换为正确的URL
wget https://example.com/docker-compose.yaml

如果你找不到配置文件的具体地址,也可以手动创建一个docker-compose.yaml文件,内容大致如下:

version: '3.8'

services:
  postgres:
    image: postgres:15
    environment:
      POSTGRES_DB: nanobot
      POSTGRES_USER: nanobot_user
      POSTGRES_PASSWORD: your_secure_password
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped

  nanobot:
    image: nanobot:latest
    depends_on:
      - postgres
    environment:
      DATABASE_URL: postgresql://nanobot_user:your_secure_password@postgres:5432/nanobot
      MODEL_NAME: Qwen/Qwen3-4B-Instruct-2507
    volumes:
      - ./config:/root/.nanobot
      - ./logs:/root/workspace
    ports:
      - "8000:8000"
    restart: unless-stopped

  chainlit:
    image: chainlit:latest
    depends_on:
      - nanobot
    environment:
      BACKEND_URL: http://nanobot:8000
    ports:
      - "8501:8501"
    restart: unless-stopped

volumes:
  postgres_data:

重要提示:记得把上面的your_secure_password换成你自己设置的强密码。

2.3 一键启动所有服务

配置文件准备好之后,只需要一个命令就能启动所有服务:

docker-compose up -d

这个命令会做以下几件事情:

  1. 拉取需要的Docker镜像(如果本地没有的话)
  2. 启动PostgreSQL数据库容器
  3. 启动nanobot主服务容器
  4. 启动Chainlit网页界面容器
  5. 把所有服务在后台运行

第一次运行可能会花一些时间下载镜像,特别是Qwen3-4B模型文件比较大,请耐心等待。你可以用下面的命令查看服务启动状态:

docker-compose logs -f

看到所有服务都正常启动没有报错,就说明部署成功了。

3. 验证部署与基本使用

服务启动后,我们来看看怎么确认一切正常,以及怎么开始使用你的AI助手。

3.1 检查模型服务是否正常

nanobot的核心是背后的AI模型服务。我们可以通过查看日志来确认模型是否加载成功:

# 查看nanobot容器的日志
docker-compose logs nanobot

# 或者直接查看日志文件(如果按照上面的配置)
cat ./logs/llm.log

在日志中,你应该能看到类似这样的信息,表示模型加载成功:

Loading model Qwen3-4B-Instruct-2507...
Model loaded successfully, ready for inference.
Starting nanobot service on port 8000...

如果看到“Model loaded successfully”这样的提示,就说明AI模型已经准备好为你服务了。

3.2 访问Chainlit聊天界面

现在打开你的浏览器,访问下面的地址:

http://你的服务器IP:8501

如果你是在本地电脑上部署的,可以直接访问:

http://localhost:8501

你会看到一个简洁的聊天界面,就像下面这样:

Chainlit聊天界面

界面中间有一个输入框,这就是你和AI助手对话的地方。

3.3 开始第一次对话

让我们试试这个AI助手的能力。在输入框里问它一个问题,比如:

你好,请介绍一下你自己。

或者测试一下它的代码能力:

用Python写一个函数,计算斐波那契数列的第n项

稍等几秒钟,你就会看到AI助手的回复。第一次回答可能会稍微慢一点,因为模型需要一些时间“热身”,后续的对话就会快很多。

你也可以测试一些系统相关的功能(前提是你在安全的环境下):

使用nvidia-smi看一下显卡配置

如果一切正常,你应该能看到类似下面的回复:

AI助手回复示例

4. 进阶功能:接入QQ机器人

如果你想让AI助手的能力扩展到QQ上,让它在QQ群里也能回答问题,可以按照下面的步骤配置QQ机器人。

4.1 准备QQ开放平台账号

首先,你需要到QQ开放平台注册一个开发者账号:

  1. 访问QQ开放平台:https://q.qq.com
  2. 点击“注册”按钮,选择个人开发者或企业开发者(个人使用选个人就行)
  3. 按照提示完成注册和实名认证

4.2 创建QQ机器人应用

登录QQ开放平台后:

  1. 在控制台点击“创建应用”
  2. 选择“机器人”类型
  3. 填写应用名称、描述等基本信息
  4. 创建成功后,进入应用管理页面

创建QQ机器人

4.3 获取AppID和AppSecret

在应用的管理页面,找到“开发管理”或“基础信息”部分,你会看到两个重要的信息:

  • AppID:应用的唯一标识
  • AppSecret:应用的密钥,用于身份验证

获取AppID和AppSecret

把这两个值记下来,稍后配置时需要用到。

4.4 配置nanobot支持QQ频道

现在我们需要修改nanobot的配置文件,让它知道怎么连接QQ机器人。

首先进入nanobot的配置目录:

# 如果你按照前面的docker-compose配置
# 配置文件应该在当前目录的config文件夹下
cd nanobot-deploy/config

编辑配置文件:

vim config.json

或者用你喜欢的文本编辑器打开这个文件。在文件中找到或添加channels配置部分:

{
  "channels": {
    "qq": {
      "enabled": true,
      "appId": "你的AppID",
      "secret": "你的AppSecret",
      "allowFrom": []
    }
  }
}

你的AppID你的AppSecret替换成刚才从QQ开放平台获取的真实值。

allowFrom字段可以用来限制哪些QQ群或用户可以使用机器人。如果留空数组[],表示不限制(任何添加到机器人的群都可以使用)。

4.5 启动QQ网关服务

配置完成后,我们需要启动nanobot的网关服务来处理QQ消息:

# 进入nanobot容器
docker-compose exec nanobot bash

# 在容器内启动网关服务
nanobot gateway

如果一切正常,你会看到类似下面的输出,表示网关服务启动成功:

网关服务启动成功

4.6 在QQ上测试机器人

现在回到QQ开放平台,在机器人应用页面:

  1. 找到“机器人设置”或“功能设置”
  2. 开启“消息接收”功能
  3. 根据提示将机器人添加到你的QQ群

添加成功后,在群里@机器人并提问,比如:

@我的AI助手 今天的天气怎么样?

你应该能收到机器人的回复:

QQ机器人回复示例

5. 使用技巧与注意事项

为了让你的nanobot使用体验更好,这里分享一些实用技巧和需要注意的地方。

5.1 让AI回答更准确的小技巧

虽然nanobot已经内置了不错的AI模型,但有时候你可能觉得它的回答不够精准。试试下面这些方法:

1. 问题要具体

  • 不要问:“怎么学编程?”
  • 而是问:“我想学习Python做数据分析,应该按照什么顺序学习?”

2. 提供上下文

  • 如果你在讨论一个技术问题,先简单说明背景
  • 比如:“我在用Django开发一个博客系统,现在遇到了用户登录的问题...”

3. 分步骤提问

  • 复杂问题拆分成几个小问题
  • 先问概念,再问具体实现

4. 明确你想要的格式

  • 如果需要代码,直接说:“请用Python写一个示例”
  • 如果需要列表,就说:“请列出5个方法”

5.2 管理你的nanobot服务

查看服务状态:

# 查看所有容器状态
docker-compose ps

# 查看日志
docker-compose logs nanobot
docker-compose logs chainlit

重启服务:

# 重启所有服务
docker-compose restart

# 重启单个服务
docker-compose restart nanobot

停止服务:

# 停止所有服务但保留数据
docker-compose stop

# 停止并删除所有容器(数据会保留在volume中)
docker-compose down

更新服务:

# 拉取最新镜像
docker-compose pull

# 重新创建并启动容器
docker-compose up -d

5.3 安全注意事项

1. 密码安全

  • 一定要修改docker-compose.yaml中的默认密码
  • 定期更换密码是个好习惯

2. 网络访问控制

  • 如果不希望外部访问,可以修改端口映射
  • 比如只允许本地访问:ports: - "127.0.0.1:8501:8501"

3. QQ机器人权限

  • 仔细设置allowFrom列表,只允许信任的群组使用
  • 定期检查机器人的消息记录

4. 资源监控

  • 注意服务器的内存和磁盘使用情况
  • AI模型运行需要一定资源,确保服务器配置足够

5.4 常见问题解决

问题1:服务启动失败

  • 检查Docker和Docker Compose版本是否兼容
  • 查看日志找具体错误:docker-compose logs
  • 确保端口没有被占用

问题2:模型加载慢

  • 第一次加载需要下载模型文件,请耐心等待
  • 检查网络连接,确保能正常访问模型仓库
  • 可以提前下载模型文件到本地

问题3:QQ机器人不响应

  • 检查QQ开放平台配置是否正确
  • 确认网关服务是否正常运行
  • 查看nanobot日志是否有错误信息

问题4:内存不足

  • Qwen3-4B模型需要一定内存,建议至少8GB RAM
  • 如果内存不足,可以尝试使用更小的模型
  • 调整Docker容器的内存限制

6. 总结

通过上面的步骤,你应该已经成功部署了自己的nanobot AI助手。让我们简单回顾一下今天完成的事情:

你获得了一个完整的AI助手系统,包含:

  1. nanobot核心:基于Qwen3-4B模型的智能对话引擎
  2. Chainlit界面:美观易用的网页聊天界面
  3. PostgreSQL数据库:可靠的数据存储后端
  4. QQ机器人扩展:让AI助手能在QQ群里为你服务

这个方案有几个明显的优点:

  • 部署简单:一个docker-compose命令搞定所有依赖
  • 使用方便:既有网页界面,又支持QQ集成
  • 资源友好:代码轻量,运行效率高
  • 扩展灵活:可以轻松添加新的功能模块

如果你还想进一步探索:

  • 尝试不同的AI模型,看看哪个更适合你的需求
  • 开发自定义插件,让nanobot能处理特定任务
  • 集成到其他平台,比如微信、钉钉等
  • 基于nanobot的代码进行二次开发,打造专属功能

AI技术正在变得越来越平民化,像nanobot这样的项目让每个人都能轻松拥有自己的智能助手。无论是学习编程、处理文档,还是简单的日常问答,它都能成为你得力的数字伙伴。

最重要的是,整个过程都是开源的、可控制的,你的数据掌握在自己手中。现在就开始享受你的个人AI助手带来的便利吧!


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐