MaiBot全流程配置与工作原理
一 . 概述
MaiBot 是一个高度整合的 AI 机器人系统,它本体负责:
- LLM 回复
- 人格设定
- 记忆系统
- 插件机制
但它 不能直接连接 QQ。
所以需要 Napcat 来作为 QQ 的协议层(负责登录 QQ、接收 QQ 消息、发消息)。
Napcat 不能直接连 MaiBot,于是有 Adapter(适配器) 充当桥接角色。
二 . 系统架构 (核心组件之间的关系)
1 | NapcatQQ(连接 QQ) |
各自负责 :
| 组件 | 作用 |
|---|---|
| NapcatQQ | 负责登录QQ, 接收QQ消息,发消息 |
| Adapter | Napcat格式 <—-> MaiBot格式之间的转换桥梁 |
| MaiBot | 负责人格, 模型, 记忆, 插件, 最终回复 |
三 . 整体通信链路
完整链路如下:
- QQ接收消息
- NapcatQQ监听qq, 收到事件
- NapcatQQ将事件通过反向WebSocket (ws)推给Adapter(端口8095)
- Adapter解析事件,转发给MaiBot(端口8000)
- MaiBot调用模型生成回复
- MaiBot通过ws返回消息给Adapter
- Adapter通过NapcatQQ发回给QQ
关键端口说明:
| 端口 | 组件 | 用途 | 是否对外网开放 |
|---|---|---|---|
| 8000 | MaiBot | MaiBot的WebSocket服务器,专门用来给Adapter连接用 | no |
| 8001 | MaiBot WebUI | MaiBot的配置界面 | yes |
| 8095 | Adapter | Napcat反向WS的输入口 | no |
| 6099 | Napcat WebUI | Napcat的配置界面 | yes |
四 . 一键部署教程(linux)
1. MaiBot + Napcat-Adapter
参考官方文档 :
(MaiBot Linux 一键脚本部署 | MaiBot 文档中心 (mai-mai.org))
关键脚本:
1 | wget -O maibot-install.sh https://raw.githubusercontent.com/Astriora/Antlia/refs/heads/main/Script/MaiBot/MaiBot-install.sh && |
说明:一键部署之后推荐再看一下linux手动部署的步骤,以便知道这个一键部署都干了什么事
这个脚本主要做了:
- 拉取MaiBot主程序和Adapter主程序
- 创建虚拟环境
- 安装依赖
- 创建sreen运行对话(挂在后台不断线运行)
- 生成Web UI(8001)
- 生成.env/配置文件
- 提示使用maibot命令进行控制
这个一键脚本不仅部署了MaiBot,还顺便部署了Adapter和screen会话
2. Napcat
参考官方文档:
选择 NapCat.Installer - Linux 一键使用脚本
1 | curl -o \ |
- 下载完成之后输入命令
1 | napcat |
按照提示输入qq号并且扫码登录
两种配置Websocket客户端方法任选其一
使用终端交互配置界面
打开选项4
名称任意,token任意(注意13位以上) , url填写ws://localhost:8095(Adapter的默认端口),保存即可.
使用WebUI 配置
启用Web UI配置,默认端口6099, 在浏览器直接打开即可,在[网络配置] 里面[新建] [Websocket客户端]
信息填写与终端交互配置界面一致
- 保存之后启动napcat服务
3. 配置Adapter
路径
1 | ~/MaiBot-Napcat-Adapter/config.toml |
关键部分:
- 确认一下端口是不是8095
- 设置一下黑白名单, 简单方法,把初始设置的whitelist改成blacklist, group_list和private_list都留空,方便前期测试,后续根据个人需求更改,配置完保存退出
1 | [chat] # 黑白名单功能 |
4 . 启动服务
输入
1 | maibot |
弹出菜单
按1 启动所有服务(后台启动)
说明 : 5, 6 分别是MaiBot 和Adapter的日志, 打开日志之后想关掉不要直接按ctrl + c,会直接停掉服务,按ctrl + A D 即可
5. 配置api-key
注册一个硅基流动 , 可以使用别人的邀请码,这样双方都能免费得到14块钱的token,(本人邀请码是WwUwVurs, 填填我的把,欧内该😢😢), 把创建好的api密钥保存下来
访问8001端口打开Maibot Web UI
在[麦麦模型提供商配置]中填入刚刚的api-key (注意选择硅基流动)
重启麦麦一下就可以正式开始使用了, 在qq里面给bot发消息,再看看日志正不正常😋😋
五. 后记
- 本人一开始部署的时候不清楚项目架构, 不知道napcat需要独立安装, 以为napcat-adapter就能直接连接qq,卡了很长时间, 🍬得要死.
- 总体不是很复杂,感谢看到这里…..