Files
NeoBot/README.md
2026-03-20 15:49:15 +08:00

3.8 KiB
Raw Blame History

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

  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/ 目录看