Files
NeoBot/docs/project-structure.md
K2cr2O1 3cbf5328bb refactor(core): 优化权限管理和事件模型
- 重构 AdminManager 和 PermissionManager 以 Redis 为主要数据源
- 为所有事件模型添加 slots=True 提升性能
- 更新文档说明 Mypyc 编译注意事项
- 清理测试和调试文件
- 移动静态资源到 web_static 目录
2026-01-13 08:35:54 +08:00

49 lines
2.0 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.
# 项目结构
了解项目里每个文件夹是干嘛的,能让你更快找到代码。
```
.
├── core/ # 核心代码,别乱动
│ ├── handlers/ # 底层事件处理器
│ ├── managers/ # 全局单例管理器
│ ├── utils/ # 工具函数
│ └── ws.py # WebSocket 连接实现
├── data/ # 存放持久化数据
│ ├── admin.json # 管理员列表
│ └── permissions.json # 用户权限列表
├── docs/ # 开发文档
├── logs/ # 日志文件
├── models/ # 数据模型
│ └── events/ # OneBot 事件模型
├── plugins/ # 你的插件都放这
├── templates/ # 图片渲染用的网页模板
├── venv/ # Python 虚拟环境
├── .gitignore # Git 忽略配置
├── main.py # 主入口文件
├── requirements.txt # Python 依赖列表
└── setup_mypyc.py # [可选] Mypyc 编译脚本,用于将核心模块编译为 C 扩展以提升性能
```
## 重点目录说明
### `core/`
这是框架的心脏。除非你知道自己在干嘛,否则别碰这里面的东西。大部分功能都由 `managers` 里的管理器提供,你只需要 `import` 它们就行。
### `data/`
存放一些 JSON 格式的数据。管理员和用户权限默认存在这里。如果你用 Redis这些文件会作为备份。
### `plugins/`
**这是你最常待的地方**。你写的所有插件(`.py` 文件都扔在这个目录里。Bot 启动时会自动加载这里的所有插件。
### `templates/`
如果你要用 `ImageManager` 画图,就需要把 HTML 模板文件放在这里。
### `main.py`
程序的入口。负责加载配置、初始化管理器、启动 WebSocket 连接和 FastAPI 服务。