Skip to content

Repository files navigation

ManyNapCat Multi

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

启动服务器后访问 WebUI 前端:

pnpm dev:webui

API 文档

租户管理

  • GET /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 认证 Token
  • MANYNAPCAT_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)

Docker 部署(推荐 - Linux 服务器)

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 保持一致。

About

一个napcat的延申项目

Resources

Code of conduct

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages