重构MaiBot适配器为官方API Server长连接采集模式并补全Dashboard说明

This commit is contained in:
liuwei
2026-04-29 09:58:50 +08:00
parent d22e380c4e
commit a6f3eb9688
4 changed files with 871 additions and 513 deletions
+38 -23
View File
@@ -1,35 +1,50 @@
# MaiBot Adapter 插件
这个插件用于把外部独立部署的 `MaiBot WebUI` 对接到 `abot` 的插件体系里
这个插件现在已经改成对接 `MaiBot 官方 API Server`,不再依赖 `WebUI 聊天页` 那套 token + ws-token + `/api/webui/ws` 流程
## 当前能力
1. 支持命令触发:
- `麦麦 你好`
- `maibot 你是谁`
2. 支持群聊里 `@机器人` 后把文本转发给 MaiBot。
3. 插件内部会自动执行:
- `POST /api/webui/auth/verify`
- `GET /api/webui/ws-token`
- `WS /ws?token=...`
4. 每次消息会走一个独立的 WebSocket 逻辑会话,并等待 `bot_message` 事件作为最终回复。
1. 默认把 abot 收到的群聊/私聊消息旁路发送给 MaiBot,作为上下文与记忆输入。
2. 默认不阻断其它插件链路,`ai_auto_response``Dify`、命令插件仍可继续照常处理。
3. 是否真的把 MaiBot 的回复发回微信,由 `enable_reply_output``reply_group_messages``reply_private_messages` 以及群功能开关共同控制。
4. 使用官方 API Server 协议:
- WebSocket 握手头:`x-uuid` / `x-apikey` / `x-platform`
- 消息包类型:`sys_std`
- 负载结构:`APIMessageBase`
5. 支持把图片、语音、视频、位置、应用消息转换成文本占位符发给 MaiBot,方便它做长期上下文理解。
## 配置说明
## 推荐定位
这套插件更适合做两件事:
1. 让 MaiBot 成为 `ai_auto_response` 之外的一条“长期对话与记忆”能力链路。
2. 先把全量消息采集给 MaiBot,等效果稳定后,再逐步提高它的主动参与度。
## 配置重点
`config.toml`
1. `server_url`
- MaiBot WebUI 地址,例如 `http://192.168.2.240:8001`
2. `access_token`
- MaiBot WebUI 登录 token
3. `session_scope`
- `room`:同群共享语境
- `sender`:同群内每个用户独立语境
1. `api_server_ws_url`
- 例如 `ws://192.168.2.240:18009/ws`
2. `api_key`
- 用于官方 API Server 路由
3. `enable_reply_output`
- 控制“MaiBot 能不能实际开口说话”
4. `respect_group_feature_switch`
- 控制群里是否还要继续受 abot 功能权限开关约束
## 部署建议
## 现阶段建议
如果你后面要让 `ai_auto_response` 也改走 MaiBot,建议顺序如下
如果你打算逐步替代 `ai_auto_response`,建议按这个顺序推进
1.用这个插件验证 MaiBot 对话质量与延迟
2. 确认稳定后,再把 `ai_auto_response` 的“决策/生成”改成调用同一套桥接逻辑
3. 最后再决定是否完全下线 `ai_auto_response` 原本的 LLM 直连链路
1.保持 `collect_group_messages=true``enable_reply_output=false`,只观察 MaiBot 记忆与理解效果
2. 然后打开 `enable_reply_output=true`,但先让少量测试群开启 `MAIBOT_CHAT` 功能权限
3. 确认稳定后,再决定是让 MaiBot 成为独立对话插件,还是进一步吸收进 `ai_auto_response` 主流程
## Dashboard / WebUI
当前远端 `192.168.2.240` 已经补好官方 dashboard 静态资源,访问地址如下:
1. WebUI 首页:`http://192.168.2.240:18001/`
2. 健康检查:`http://192.168.2.240:18001/api/webui/health`
3. 官方 API Server WebSocket`ws://192.168.2.240:18009/ws`