# Calglau BOT by NEO Bot Framework > **[INTERNAL USE ONLY]** > > 本仓库为 Calglau BOT 的内部开发版本,请遵守相关保密协议。 **Powered by NEO Bot Framework** ## 项目概述 **Calglau BOT** 是一个基于 NEO Bot Framework 构建的高性能 QQ 机器人。 简单来说:扣一 ### 核心特性 * **模块化插件架构**:所有功能都在 `src/neobot/plugins/` 目录,开发者可轻松扩展 * **性能优化**: * **Python 3.14 JIT**:运行时热点代码编译成机器码 * **Mypyc AOT编译**:核心模块编译为C扩展 * **全局连接复用**: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` --- ## 项目结构 ``` . ├── src/ │ └── neobot/ # 核心包目录 │ ├── core/ # 框架核心,非请勿动 │ │ ├── api/ # OneBot API 封装 │ │ ├── handlers/ # 事件处理器 │ │ ├── managers/ # 各种管理器 (指令, 浏览器, 图片, 插件, 权限) │ │ ├── services/ # 服务层 │ │ ├── utils/ # 工具函数 │ │ ├── bot.py # Bot 实例 │ │ ├── config_loader.py # 配置加载 │ │ ├── config_models.py # 配置模型 │ │ ├── permission.py # 权限枚举 │ │ ├── plugin.py # 插件基类 │ │ └── ws.py # WebSocket 通信层 (已编译) │ ├── models/ # 数据模型 │ │ ├── events/ # OneBot事件模型 │ │ ├── message.py # 消息段模型 │ │ ├── objects.py # API响应对象 │ │ └── sender.py # 发送者信息 │ ├── adapters/ # 平台适配器 │ │ └── discord_adapter.py │ ├── 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等) │ │ └── discord-cross/ # Discord跨平台支持 │ ├── tests/ # 单元测试 │ ├── templates/ # Jinja2模板(用于图片生成) │ ├── docs/ # 开发文档 │ ├── web_static/ # 静态网页文件 │ └── data/ # 数据存储 │ └── vectordb/ # 向量数据库 ├── main.py # 启动入口 ├── config.toml # 配置文件(根目录) ├── pyproject.toml # 项目配置和依赖 ├── requirements.txt # 运行时依赖 ├── requirements-dev.txt # 开发依赖 └── README.md # 项目说明 ``` ### 目录说明 - **src/neobot/**: 核心 Python 包目录,遵循 PEP 621 标准 - **core/**: 框架核心代码,包含事件处理、API封装、管理器等 - **models/**: 数据模型定义,包含事件、消息、发送者等 - **adapters/**: 平台适配器,用于连接不同平台(如 Discord) - **plugins/**: 插件目录,所有业务逻辑都在这里 - **tests/**: 单元测试和集成测试 - **templates/**: Jinja2 模板文件,用于图片生成 - **docs/**: 项目文档 - **web_static/**: 静态网页文件 - **data/**: 数据存储目录(向量数据库等) ## 快速开始 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` 详细文档去 `src/neobot/docs/` 目录看 ## 开发规范 - 所有代码放在 `src/neobot/` 目录下 - 插件开发参考 `src/neobot/docs/plugin-development/` - 核心开发参考 `src/neobot/docs/core-concepts/`