ManyNapCat Multi 是基于 NapCatQQ 的多租户版本,支持同时管理多个 QQ 账号/租户。
- 多租户架构:每个租户拥有独立的 QQ 账号、配置、数据目录
- 统一管理:通过 RESTful API 管理租户生命周期
- WebUI 管理界面:可视化查看和操作所有租户
- 协议适配器:每个租户独立运行 OneBot11 等协议适配器
- 数据隔离:日志、配置、缓存完全隔离
pnpm install# 方式1: 使用 CLI
pnpm exec manynapcat server --port 3000 --auto-start
# 方式2: 使用 Shell 包
pnpm --filter napcat-shell start
# 方式3: 使用 tsx
npx tsx packages/napcat-shell/src/index.ts# 创建租户
pnpm tenant:create --name "我的机器人"
# 列出所有租户
pnpm tenant:list
# 启动租户
pnpm tenant:start --id <tenant-id>
# 停止租户
pnpm tenant:stop --id <tenant-id>启动服务器后访问 WebUI 前端:
pnpm dev:webuiGET /api/v1/health- 健康检查GET /api/v1/tenants- 列出所有租户状态POST /api/v1/tenants- 创建租户GET /api/v1/tenants/:id- 获取租户配置PATCH /api/v1/tenants/:id- 更新租户DELETE /api/v1/tenants/:id- 删除租户POST /api/v1/tenants/:id/start- 启动租户POST /api/v1/tenants/:id/stop- 停止租户POST /api/v1/tenants/:id/restart- 重启租户GET /api/v1/tenants/:id/status- 获取租户状态GET /api/v1/tenants/:id/adapters- 获取租户适配器
packages/
├── tenant/
│ ├── core/ # 租户核心类型、注册表、运行时
│ ├── manager/ # 租户生命周期管理
│ ├── api/ # 租户管理 REST API
│ └── cli/ # 命令行工具
├── napcat-core/ # NapCat 核心(适配多租户)
├── napcat-adapter/ # 协议适配器管理
├── napcat-onebot/ # OneBot11 协议实现
├── napcat-webui-backend/ # WebUI 后端
├── napcat-webui-frontend/ # WebUI 前端
├── napcat-framework/ # 多租户框架入口
└── napcat-shell/ # Shell 启动入口
MANYNAPCAT_DATA_PATH- 全局数据目录MANYNAPCAT_API_PORT- 管理 API 端口(默认 3000)MANYNAPCAT_API_HOST- 管理 API 主机(默认 0.0.0.0)MANYNAPCAT_API_TOKEN- 管理 API 认证 TokenMANYNAPCAT_WEBUI_PORT- WebUI API 端口(默认 3001)MANYNAPCAT_WEBUI_HOST- WebUI API 主机(默认 0.0.0.0)MANYNAPCAT_AUTO_START- 启动时自动启动已启用租户(true/false)QQ_PATH- QQ 可执行文件路径QQ_VERSION- QQ 版本号NAPCAT_SHELL_PATH- NapCat Shell 目录(含 napcat.mjs;Windows 下还含 NapCatWinBootMain.exe)
git clone https://github.com/moyangzhuo/ManyNapCat.git
cd ManyNapCat
docker compose up -d --build容器会自动构建:Linux QQNT 3.2.30-50969 + NapCat Shell v4.15.0,启动后访问 http://<服务器 IP>:3000,用 admin / admin123 登录。
需在云服务器安全组放行端口:3000(管理 API)、7000-7099(各租户 NapCat WebUI 自动分配)。
与原项目 NapCatQQ 保持一致。