95694071d10fab69818497c677095bf4f9785fbd
refactor(config): 更新配置文件的网络和认证信息 feat(cross-platform): 为跨平台消息处理添加异常捕获和日志
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/: 数据存储目录(向量数据库等)
快速开始
- 装环境: Python 3.14,Redis, OneBot 客户端 (推荐 NapCat)。
- 装依赖:
pip install -r requirements.txt - 装浏览器:
playwright install chromium - 编译核心 (可选):
python setup_mypyc.py build_ext --inplace - 启动:
python -X jit main.py
详细文档去 src/neobot/docs/ 目录看
开发规范
- 所有代码放在
src/neobot/目录下 - 插件开发参考
src/neobot/docs/plugin-development/ - 核心开发参考
src/neobot/docs/core-concepts/
Description
Languages
Python
86.8%
HTML
13.2%