K2Cr2O1 68b25a7d53 fix: 调整昵称和用户名的获取优先级
修改QQ群消息处理中昵称获取顺序,优先使用昵称而非群名片
移除Discord消息转换中global_name的检查,直接使用用户名
2026-03-27 14:29:58 +08:00
2026-02-27 10:47:23 +08:00
2026-03-05 23:01:55 +08:00
2026-03-27 14:22:12 +08:00
2026-03-27 14:22:12 +08:00
2026-03-27 14:22:12 +08:00
2026-01-06 19:46:44 +08:00
2026-03-27 14:22:12 +08:00
2026-03-27 14:22:12 +08:00
2026-03-27 14:22:12 +08:00
2026-03-23 16:52:15 +08:00

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/: 数据存储目录(向量数据库等)

快速开始

  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

详细文档去 src/neobot/docs/ 目录看

开发规范

  • 所有代码放在 src/neobot/ 目录下
  • 插件开发参考 src/neobot/docs/plugin-development/
  • 核心开发参考 src/neobot/docs/core-concepts/
Description
No description provided
Readme 1.6 MiB
Languages
Python 86.8%
HTML 13.2%