最近拿到了一台EasyLink的4H4G云服务器,于是就想AstrBot+Napcat把我的QQ小号接入AI,之前在家里电脑上搭建过一次,但家庭电脑毕竟无法保持24小时运作就放弃了。这次我在云服务器上用宝塔面板11来搭建这个系统,结果发现与Win的部署教程完全不一样,官方文档也有一部分不够详细,只能是自己一步步摸索了。今天写这篇文章详细讲解一下这部分。
本文是特指在宝塔面板11,使用Docker容器部署AstrBot和Napcat以实现接入个人QQ号的教程
您在部署前应该知晓通过NapCatQQ协议方式接入有触发风控机制的风险
介绍
AstrBot 是一个易于上手的多平台聊天机器人及开发框架。通过它,你能够在多种消息平台上部署一个支持大语言模型(LLM)的聊天机器人。并以此实现但不限于 AI 知识库问答、角色扮演、群聊管理、LLM Agent 等功能。它有如下特性
- 松耦合:AstrBot 采用了事件总线和消息事件流水线的架构设计,实现近乎完全的模块化。
- 异步:AstrBot 采用了异步编程模型,使得 AstrBot 在处理多个消息平台的消息时,能够更加高效。
- 多消息平台部署:AstrBot 默认支持接入 QQ、QQ频道、微信。通过插件,还可以接入 Telegram 等任何消息平台。
- 完善的插件系统:AstrBot 提供了完善、及其易于上手的插件系统,你可以通过插件实现自己的功能。开发一个插件,只需要几行代码。
部署
部署 AstrBot
登录你的宝塔面板,进入Docker的应用商店,搜索 AstrBot,点击安装。

部署 NapCat
AstrBot安装完成后,来到容器页面,点击创建容器->命令创建

输入命令:
docker run -d \-e NAPCAT_GID=$(id -g) \-e NAPCAT_UID=$(id -u) \-p 3000:3000 \-p 3001:3001 \-p 6099:6099 \--name napcat \--restart=always \mlikiowa/napcat-docker:latest点击执行命令,等待NapCat安装完毕即可
配置
配置 Napcat
登录QQ
QQ新号不要立刻接入,大概率会秒封
NapCat安装执行成功后,我们需要查看日志以得到登录二维码和管理面板的 URL。
关掉创建容器页面,在此页面找到刚刚部署完成的Napcat容器,在右侧的更多->日志即可打开日志页面。

在Napcat日志的页面是无法扫描它的二维码的,我们需要找到二维码下方的二维码解码URL,复制下来,来到草料二维码这个网站填入你的二维码解码URL,将URL转换成二维码后,用你想要接入AstrBot的QQ号扫码,同意登录请求。

请在浏览器地址栏输入你的服务器IP:6099/webui打开管理面板,token输入napcat即可进入管理页面,如果你刚刚已经在手机端完成扫描登录的话,应该可以直接在基础信息页面看到你的QQ信息。

添加 WebSocket 客户端
此处有天坑,我本人在这一步研究了1个多小时,最后在AstrBot的一个issues里才找到了答案,因为我们是使用了两个Docker容器来分别部署AstrBot及Napcat,但由于从应用商店里安装的astrbot容器与通过命令安装的napcat容器的网络不互通,我们无法直接建立WebSockets连接。
解决方法是将两个容器置于同一个网络内,在宝塔Docke页面的网络->添加网络->网络名里填写123(随便填)

点击添加,随后回到容器页面,点击管理->容器网络->请选择,点击刚刚创建的123,点击加入网络,随后退出原有的网络,只保留刚刚创建的123网络。

在AstrBot容器重复这一过程,使这两个容器都在123这个网络内,同时复制astrbot容器在123这个网络内的IPV4地址。(上图页面显示的是napcat的IPV4地址,不要搞错)
回到Napcat管理面板,点击 网络配置->新建->WebSockets客户端。

在上图的窗口中:
- 勾选
启用 - URL填写
ws://astrbot的IPV4地址:端口/ws - 消息格式:
Array - 心跳间隔:
5000 - 重连间隔:
5000
点击 保存。

这里显示的IPV4地址因人而异,不要直接照抄!
配置 AstrBot
配置 aiocqhttp
- 进入 AstrBot 的管理面板
- 点击左边栏
消息平台 - 然后在右边的界面中,点击
+ 新增适配器 - 选择
aiocqhttp

弹出的配置项填写:
- ID(id):随意填写
- 启用(enable): 勾选
- 反向 WebSocket 主机地址:
astrbot容器的IPV4地址 - 反向 WebSocket 端口:
6199。
点击 保存。
配置管理员
填写完毕后,进入 配置 页,点击 其他配置 选项卡,找到 管理员 ID,填写你的 QQ 号(不是机器人的 QQ 号)。
切记点击右下角 保存,AstrBot 重启并会应用配置。
完成
此时,前往 AstrBot WebUI 控制台,如果出现 aiocqhttp(OneBot v11) 适配器已连接。日志,说明你的 AstrBot 和 NapCatQQ 已经连接成功。
剩下的功能可以自行探索了,也可以访问官方文档,整个过程其实不难,遇到问题通过issue和官方文档都能找到答案,整个社区的氛围还是很不错的,也可以直接在下方留言。