# Calglau BOT by NEO Bot Framework > **[INTERNAL USE ONLY]** > > 本仓库为 Calglau BOT 的内部开发版本,请遵守相关保密协议。 **Powered by NEO Bot Framework** ## 项目概述 **Calglau BOT** 是一个基于 NEO Bot Framework 构建的高性能 QQ 机器人。 简单来说:扣一 ### 核心特性 * **模块化插件架构**:所有功能都在 `plugins/` 目录,开发者可轻松扩展 * **极致性能优化**: * **Python 3.14 JIT**:运行时热点代码编译成机器码 * **Mypyc AOT编译**:核心模块编译为C扩展 * **Playwright 页面池**:浏览器页面预热池,降低截图延迟 * **全局连接复用**:HTTP 和 Redis 连接池化管理 * **开发者友好**:完整的类型提示,清晰的 API 设计 * **集成 Redis 缓存**:缓存帮助图片、权限数据、会话状态等 * **正向 WebSocket 连接**:仅支持正向WS连接模式(Bot主动连接OneBot) ### 技术栈 * **核心框架**: Python 3.14 JIT & NEO Bot Framework * **编译器**: Mypyc * **异步核心**: `asyncio` + `uvloop` (Linux) / 原生 Loop (Windows) * **网络通信**: `websockets` (OneBot v11), `aiohttp` (Shared Session) * **浏览器引擎**: `Playwright` (Chromium) + Page Pool * **数据序列化**: `orjson` * **缓存**: `Redis` * **日志**: `Loguru` --- ## 项目结构 ``` . ├── plugins/ # 插件目录,业务逻辑都在这 │ ├── admin.py # 权限管理(Admin/User两级权限) │ ├── auto_approve.py # 自动同意好友请求和群邀请 │ ├── bot_status.py # Bot运行状态查询(图片形式) │ ├── broadcast.py # 管理员专用广播功能 │ ├── code_py.py # Python代码沙箱执行 │ ├── echo.py # Echo/点赞功能 │ ├── furry.py # Furry图片获取 │ ├── github_parser.py # GitHub仓库链接解析 │ ├── jrcd.py # 今日人品/长度查询 │ ├── thpic.py # 东方Project随机图片 │ ├── web_parser/ # Web链接解析系统(B站、抖音、GitHub等) │ └── sync_async_test_plugin.py # 异步同步混用测试插件 ├── core/ # 框架核心,非请勿动 │ ├── api/ # OneBot API 封装 │ ├── handlers/ # 事件处理器 │ ├── managers/ # 各种管理器 (指令, 浏览器, 图片, 插件, 权限) │ ├── utils/ # 工具函数 │ ├── ws.py # WebSocket 通信层 (已编译) │ ├── bot.py # Bot 实例 │ ├── config_loader.py # 配置加载 │ └── permission.py # 权限枚举 ├── data/ # 数据存储 │ ├── admin.json # 管理员名单 │ └── permissions.json # 权限配置 ├── models/ # 数据模型 │ ├── events/ # OneBot事件模型 │ ├── message.py # 消息段模型 │ ├── sender.py # 发送者信息 │ └── objects.py # API响应对象 ├── templates/ # Jinja2模板(用于图片生成) ├── docs/ # 开发文档 ├── tests/ # 单元测试 ├── setup_mypyc.py # Mypyc编译脚本 ├── config.toml # 配置文件 └── main.py # 启动入口 ``` ## 快速开始 1 1. **装环境**: Python 3.14,Redis, OneBot 客户端 (推荐 NapCat)。 2. **装依赖**: `pip install -r requirements.txt` 3. **装浏览器**: `playwright install chromium` 4. **编译核心 (可选)**: `python setup_mypyc.py build_ext --inplace` 5. **启动**: `python -X jit main.py` 详细文档去 `docs/` 目录看