Files
NeoBot/README.md

94 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.14Redis 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/` 目录看