Files
NeoBot/README.md
K2cr2O1 24af862924 feat: 添加性能优化和架构文档,更新依赖和核心模块
refactor(browser_manager): 实现页面池机制以提升性能
refactor(image_manager): 添加模板缓存并集成页面池
refactor(bili_parser): 迁移到异步HTTP请求并实现会话复用
docs: 新增性能优化、架构设计和最佳实践文档
chore: 更新requirements.txt添加新依赖
2026-01-13 03:56:31 +08:00

77 lines
3.6 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 文件扔进去就行。支持热重载,改完代码直接生效,不用重启,不用中断服务。
* **极致性能优化**
* **Python 3.14 JIT**:我们直接上了最新的 Python 版本,开启 JIT 即时编译,速度起飞。
* **Mypyc 编译**:核心模块直接编译成 C 扩展,拒绝解释器的龟速。
* **Playwright 页面池**:浏览器页面预热池,渲染图片零等待。别再问为什么发图这么快了。
* **全局连接复用**HTTP 和 Redis 连接池化管理,拒绝重复握手浪费时间。
* **开发者友好**:完整的类型提示,清晰的 API 设计。写代码就该是种享受,而不是在屎山里游泳。
* **集成 Redis 缓存**:能缓存的都缓存了。群信息、用户信息、帮助图片,绝不让数据库多喘一口气。
* **正向 WebSocket 连接**:保持最简单的连接方式,只要能上网就能跑,不需要公网 IP不需要内网穿透。
### 技术栈
* **核心框架**: Python 3.14 (JIT Enabled) & NEO Bot Framework
* **编译优化**: Mypyc (C Extension)
* **异步核心**: `asyncio` + `uvloop` (Linux) / 原生 Loop (Windows)
* **网络通信**: `websockets` (OneBot v11), `aiohttp` (Shared Session)
* **浏览器引擎**: `Playwright` (Chromium) + Page Pool
* **数据序列化**: `orjson` (比标准库快 N 倍)
* **缓存**: `Redis`
* **日志**: `Loguru`
---
## 项目结构
```
.
├── plugins/ # 插件目录,业务逻辑都在这
│ ├── admin.py # 管理员指令
│ ├── bili_parser.py # B站解析 (高性能版)
│ ├── code_py.py # 代码沙箱
│ ├── echo.py # 复读机
│ ├── forward_test.py # 合并转发测试
│ ├── jrcd.py # 今日运势
│ └── thpic.py # 东方图片
├── core/ # 框架核心,非请勿动
│ ├── api/ # OneBot API 封装
│ ├── managers/ # 各种管理器 (指令, 浏览器, 图片, 插件)
│ ├── utils/ # 工具函数
│ ├── ws.py # WebSocket 通信层 (已编译)
│ └── bot.py # Bot 实例
├── data/ # 数据存储
│ ├── admin.json # 管理员名单
│ └── permissions.json # 权限配置
├── templates/ # Jinja2 模板
├── setup_mypyc.py # 编译脚本
└── main.py # 启动入口
```
## 快速开始
别废话,直接跑起来。
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/` 目录看,别什么都问我。