313c4c651b4c8145599f708dc35c8b8643bc26fd
修改翻译功能,不再替换原文而是同时显示原文和翻译内容,方便用户对照 更新 DeepSeek API 配置为官方地址和模型 优化 Discord 适配器的重连逻辑,直接关闭 WebSocket 触发重连 修复 Discord 频道 ID 转换逻辑,简化处理流程
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扩展
- 全局连接复用: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
- 装环境: 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
详细文档去 docs/ 目录看
Description
Languages
Python
86.8%
HTML
13.2%