MaiLauncher启动器后端
MaiLauncher后端是一个使用FastAPI构建的Python应用程序,旨在管理MaiBot实例的部署和生命周期。它提供了一个HTTP API和WebSocket接口,用于与前端或其他服务进行交互。
- 实例管理: 启动、停止、重启和删除MaiBot实例。
- 版本部署: 部署指定版本的MaiBot,包括其依赖的服务(如NapCat, NoneBot-ada)。
- 状态监控: 获取实例的运行状态、统计信息和系统性能指标。
- 实时日志: 通过WebSocket提供实时的安装和实例运行日志。
- 配置管理: 通过
config.toml
文件进行灵活配置。
- 后端框架: FastAPI
- 数据库: SQLite (通过SQLAlchemy进行ORM)
- 异步处理: asyncio
- 服务器: Uvicorn
mailauncher-backend/
├── backend_api.md # API接口文档
├── config.toml # 主配置文件
├── LICENSE # 项目许可证 (GNU General Public License v3)
├── main.py # FastAPI应用入口点
├── README.md # 项目说明文件
├── data/
│ └── MaiLauncher.db # SQLite数据库文件
├── logs/ # 日志文件目录
│ ├── app.log # 应用主日志
│ └── ... # 其他按日期生成的日志文件
├── src/
│ ├── modules/ # 核心功能模块
│ │ ├── deploy_api.py
│ │ ├── instance_api.py
│ │ ├── instance_manager.py
│ │ ├── system.py
│ │ └── websocket_manager.py
│ ├── tools/ # 辅助工具脚本
│ │ └── deploy_version.py
│ └── utils/ # 通用工具和辅助函数
│ ├── config.py
│ ├── database_model.py
│ ├── database.py
│ ├── generate_instance_id.py
│ ├── logger.py
│ └── server.py
└── template/
└── config_template.toml # 配置文件模板
详细的API接口说明请参见 backend_api.md
文件。
主要的API端点包括:
- 实例管理:
/api/v1/instances
,/api/v1/instance/{id}/start
, 等。 - 部署API:
/api/v1/deploy/versions
,/api/v1/deploy/deploy
, 等。 - 系统API:
/api/v1/system/health
,/api/v1/system/metrics
, 等。 - WebSocket接口:
/api/v1/ws/{session_id}
(用于通用WebSocket通信), 以及特定的日志WebSocket端点。
根路径 /
提供一个简单的HTML页面,包含指向API文档的链接。
项目的主要配置在 config.toml
文件中。一个配置模板 template/config_template.toml
可用于初始化配置。
关键配置项包括:
[server]
: 服务器主机 (host
)、端口 (port
) 和API前缀 (api_prefix
)。[debug]
: 日志级别 (level
)。
- 安装依赖:
pip install -r requirements.txt
- 配置: 复制
template/config_template.toml
到项目根目录并重命名为config.toml
,然后根据需要修改配置。 - 启动服务:
服务将在
python main.py
config.toml
中配置的主机和端口上启动 (默认为http://localhost:23456
)。
应用程序日志记录在 logs/
目录下。主应用日志为 app.log
,并且会按日期生成单独的日志文件。
本项目采用 GNU General Public License v3.0 授权。