docs: 更新文档内容并优化语言风格

重构所有文档内容,使用更简洁直接的语言风格
更新架构、插件开发、部署等核心文档
优化代码示例和图表说明
统一术语和格式规范
This commit is contained in:
2026-01-13 04:09:13 +08:00
parent a6704a55ff
commit 7880f0f928
7 changed files with 361 additions and 421 deletions

View File

@@ -1,70 +1,48 @@
# 项目结构解析
# 项目结构
理解 NEO Bot Framework 的项目结构是高效开发的第一步。本节将详细介绍每个主要目录和文件的用途
了解项目里每个文件夹是干嘛的,能让你更快找到代码
```
.
├── core/ # 框架核心代码
│ ├── api/ # OneBot v11 API 的 Mixin 封装
│ ├── data/ # 核心模块的数据存储 (admin, permissions)
│ ├── handlers/ # 底层事件处理器 (message, notice, request)
── managers/ # 核心单例管理器 (command, permission, etc.)
│ ├── utils/ # 通用工具 (logger, singleton, etc.)
│ ├── bot.py # Bot 核心类,提供 API 调用接口
── config_loader.py # TOML 配置文件加载器
│ └── ws.py # WebSocket 底层通信模块
├── core/ # 核心代码,别乱动
│ ├── handlers/ # 底层事件处理器
│ ├── managers/ # 全局单例管理器
│ ├── utils/ # 工具函数
── ws.py # WebSocket 连接实现
├── data/ # 存放持久化数据
│ ├── admin.json # 管理员列表
── permissions.json # 用户权限列表
├── docs/ # 开发文档
├── html/ # 静态网页文件 (用于 Web 仪表盘等)
├── models/ # 数据模型 (事件, 消息段)
── events/ # OneBot v11 事件的 Python 对象封装
│ ├── message.py # 消息段 (MessageSegment) 的定义
│ └── ...
├── plugins/ # 功能插件目录
├── venv/ # Python 虚拟环境 (推荐)
├── .gitignore # Git 忽略文件配置
├── config.toml # 主配置文件
── main.py # 项目启动入口
└── requirements.txt # Python 依赖列表
├── logs/ # 日志文件
├── models/ # 数据模型
── events/ # OneBot 事件模型
├── plugins/ # 你的插件都放这
├── templates/ # 图片渲染用的网页模板
├── venv/ # Python 虚拟环境
├── .gitignore # Git 忽略配置
├── main.py # 主入口文件
├── requirements.txt # Python 依赖列表
── setup_mypyc.py # Mypyc 编译脚本
```
## 顶层目录
## 重点目录说明
### `core/`
这是框架的心脏,包含了所有核心逻辑。**通常情况下,您不需要修改此目录下的代码**,只需了解其工作原理即可
这是框架的心脏。除非你知道自己在干嘛,否则别碰这里面的东西。大部分功能都由 `managers` 里的管理器提供,你只需要 `import` 它们就行
* `api/`: 将 OneBot v11 的 API 按功能(如 `message`, `group`)拆分为多个 `Mixin` 类,最终由 `bot.py` 继承,提供了清晰的 API 结构。
* `data/`: 存放核心模块所需的数据文件,例如 `admin.json``permissions.json`
* `handlers/`: 定义了最底层的事件处理器,如 `MessageHandler`,负责从 `ws.py` 接收原始事件并进行初步处理和分发。
* `managers/`: 包含一系列全局单例管理器,是框架功能的核心实现。例如,`CommandManager` 负责指令注册与匹配,`PermissionManager` 负责权限控制。
* `utils/`: 提供被广泛使用的工具类,如 `logger` (日志)、`singleton` (单例模式基类)。
* `bot.py`: 定义了 `Bot` 类,这是插件开发者最常与之交互的对象,用于调用所有 OneBot API。
* `config_loader.py`: 负责解析 `config.toml` 文件,并提供一个全局的 `global_config` 对象。
* `config_models.py`: 使用 Pydantic 定义了配置文件的结构和类型验证。
* `ws.py`: 实现了与 OneBot v11 实现端的 WebSocket 连接、心跳、重连和消息收发。
### `data/`
### `docs/`
存放项目的所有开发文档。
### `html/`
用于存放未来 Web 仪表盘或其他 Web 功能所需的静态资源HTML, CSS, JavaScript
### `models/`
定义了将 OneBot v11 的 JSON 数据转换为易于使用的 Python 对象。
* `events/`: 将所有上报的事件(如 `MessageEvent`, `GroupIncreaseNoticeEvent`)封装为带有类型提示的类。
* `message.py`: 提供了 `MessageSegment` 类,用于构建复杂的消息内容(如 @某人、发送图片)。
存放一些 JSON 格式的数据。管理员和用户权限默认存在这里。如果你用 Redis这些文件会作为备份。
### `plugins/`
这是**插件开发者最关心的目录**。所有机器人的功能都以独立的 `.py` 文件形式存放在这里。框架会自动加载此目录下的所有插件,并支持热重载
**这是你最常待的地方**。你写的所有插件(`.py` 文件都扔在这个目录里。Bot 启动时会自动加载这里的所有插件。
## 顶层文件
### `templates/`
* `.gitignore`: 配置 Git 应忽略的文件和目录,如 `__pycache__``venv`
* `config.toml`: 项目的主配置文件用于设置机器人、数据库、API 等所有可变参数。
* `main.py`: 项目的启动入口脚本。它负责初始化日志、加载插件、启动 WebSocket 连接和文件监控(用于热重载)。
* `requirements.txt`: 列出了项目运行所需的所有 Python 第三方库及其版本。
如果你要用 `ImageManager` 画图,就需要把 HTML 模板文件放在这里
### `main.py`
程序的入口。负责加载配置、初始化管理器、启动 WebSocket 连接和 FastAPI 服务。