koishi-plugin-mai-bridge
mai-bridge 是一个 Koishi 插件,他让 maibot 作为 Docker 托管的消息回复后端运行。并桥接koishi和maibot,支持启动maibot的webui
插件本身不重写 maibot 的对话链、记忆系统和插件机制。它负责在 Koishi 侧启动 maibot 容器、桥接消息收发,并把运行状态和必要日志接入 Koishi 控制台。
适合已经在用 Koishi,同时希望复用 maibot 对话能力的场景。
功能
- 自动拉取
Mai-with-u/MaiBot源码。 - 自动应用 Koishi 适配补丁。
- 自动构建并启动
maimai-koDocker 容器。 - 将 Koishi 收到的私聊、群聊消息转发给 maibot。
- 将 maibot 回复发回原 Koishi 会话。
- 支持 maibot WebUI 独立端口访问。
- 支持在 Koishi 控制台查看 mai-bridge 状态、WebUI 入口和 maibot 日志。
- 支持重连、重启、手动准备和 Docker 容器控制命令。
效果演示
安装
在 Koishi 插件市场搜索:
mai-bridge
插件包名:
koishi-plugin-mai-bridge
也可以在 Koishi 项目目录中手动安装:
npm install koishi-plugin-mai-bridge
本插件依赖 Koishi 的 HTTP 服务,请同时启用:
@koishijs/plugin-http
运行要求
默认运行模式是 Docker。
Koishi 所在环境需要满足:
- 可以执行
docker命令。 - 可以访问 Docker socket:
/var/run/docker.sock。 - 可以执行
git和patch。 - Koishi 容器需要能通过 Docker 网络访问
maimai-ko容器。
如果 Koishi 本身也运行在 Docker 内,需要把 Docker socket 挂载进 Koishi 容器,并确保容器内有 docker、git、patch 命令。
基础配置
插件市场安装后,进入插件配置页。
常用配置示例:
processMode: docker
autoPrepareMaibot: true
acceptMaibotAgreements: true
dockerContainerName: maimai-ko
dockerImageName: maimai-ko:latest
apiHost: maimai-ko
apiPort: 8090
webuiEnabled: true
webuiHost: 0.0.0.0
webuiPort: 8002
messageMode: coexist
说明:
processMode保持docker,插件会自动准备 MaiBot 并启动容器。autoPrepareMaibot开启后,首次启动会 clone MaiBot、应用补丁、构建镜像。acceptMaibotAgreements默认关闭。确认接受 MaiBot 的 EULA 和隐私条款后再开启。apiKey可以留空。插件会生成并复用运行期密钥。dockerNetwork需要按实际 Koishi Docker 网络填写。webuiPublicUrl可以填写反代或宿主机映射后的 WebUI 地址,用于 Koishi 控制台显示入口。
消息模式
messageMode: coexist
可选值:
coexist:消息转发给 maibot 后,继续交给其他 Koishi 插件处理。exclusive:消息转发给 maibot 后,不再交给后续插件。command:只有命中指定前缀时才转发。
常用命令
mai.ko.status
mai.ko.prepare
mai.ko.docker.start
mai.ko.docker.stop
mai.ko.docker.restart
mai.ko.reconnect
首次启动时会做什么
启用插件后,默认流程是:
clone MaiBot 源码
应用 bundled patch
构建 maimai-ko:latest 镜像
启动 maimai-ko 容器
连接 maibot API WebSocket
开始桥接 Koishi 消息
如果补丁因为 MaiBot 上游更新而无法应用,插件会进入 blocked 状态,并在 Koishi 日志和状态页给出原因。并在issue页反馈
注意事项
- 插件只桥接和托管 maibot,不提供模型服务
- maibot 的模型、人格、记忆、插件等配置仍按 maibot 自身方式处理。
- 默认
messageMode: coexist,消息转发给 maibot 后仍会继续交给其他 Koishi 插件处理,不会接管或阻断其他插件运行 - WebUI 不走 Koishi 反代,默认通过独立端口访问
- Docker 模式下建议固定容器名为
maimai-ko - 如果 Koishi 控制台无法连接 WebUI,请检查端口映射、反代地址和
webuiPublicUrl



