nanobot快速部署:使用docker-compose一键启动nanobot+Chainlit+PostgreSQL
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 确保你的环境就绪
在开始之前,请确认你的电脑或服务器上已经安装了以下两个工具:
- Docker:这是运行容器的基础
- 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
这个命令会做以下几件事情:
- 拉取需要的Docker镜像(如果本地没有的话)
- 启动PostgreSQL数据库容器
- 启动nanobot主服务容器
- 启动Chainlit网页界面容器
- 把所有服务在后台运行
第一次运行可能会花一些时间下载镜像,特别是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
你会看到一个简洁的聊天界面,就像下面这样:
界面中间有一个输入框,这就是你和AI助手对话的地方。
3.3 开始第一次对话
让我们试试这个AI助手的能力。在输入框里问它一个问题,比如:
你好,请介绍一下你自己。
或者测试一下它的代码能力:
用Python写一个函数,计算斐波那契数列的第n项
稍等几秒钟,你就会看到AI助手的回复。第一次回答可能会稍微慢一点,因为模型需要一些时间“热身”,后续的对话就会快很多。
你也可以测试一些系统相关的功能(前提是你在安全的环境下):
使用nvidia-smi看一下显卡配置
如果一切正常,你应该能看到类似下面的回复:
4. 进阶功能:接入QQ机器人
如果你想让AI助手的能力扩展到QQ上,让它在QQ群里也能回答问题,可以按照下面的步骤配置QQ机器人。
4.1 准备QQ开放平台账号
首先,你需要到QQ开放平台注册一个开发者账号:
- 访问QQ开放平台:https://q.qq.com
- 点击“注册”按钮,选择个人开发者或企业开发者(个人使用选个人就行)
- 按照提示完成注册和实名认证
4.2 创建QQ机器人应用
登录QQ开放平台后:
- 在控制台点击“创建应用”
- 选择“机器人”类型
- 填写应用名称、描述等基本信息
- 创建成功后,进入应用管理页面
4.3 获取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开放平台,在机器人应用页面:
- 找到“机器人设置”或“功能设置”
- 开启“消息接收”功能
- 根据提示将机器人添加到你的QQ群
添加成功后,在群里@机器人并提问,比如:
@我的AI助手 今天的天气怎么样?
你应该能收到机器人的回复:
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助手系统,包含:
- nanobot核心:基于Qwen3-4B模型的智能对话引擎
- Chainlit界面:美观易用的网页聊天界面
- PostgreSQL数据库:可靠的数据存储后端
- QQ机器人扩展:让AI助手能在QQ群里为你服务
这个方案有几个明显的优点:
- 部署简单:一个docker-compose命令搞定所有依赖
- 使用方便:既有网页界面,又支持QQ集成
- 资源友好:代码轻量,运行效率高
- 扩展灵活:可以轻松添加新的功能模块
如果你还想进一步探索:
- 尝试不同的AI模型,看看哪个更适合你的需求
- 开发自定义插件,让nanobot能处理特定任务
- 集成到其他平台,比如微信、钉钉等
- 基于nanobot的代码进行二次开发,打造专属功能
AI技术正在变得越来越平民化,像nanobot这样的项目让每个人都能轻松拥有自己的智能助手。无论是学习编程、处理文档,还是简单的日常问答,它都能成为你得力的数字伙伴。
最重要的是,整个过程都是开源的、可控制的,你的数据掌握在自己手中。现在就开始享受你的个人AI助手带来的便利吧!
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。
更多推荐



所有评论(0)