feat:初版
This commit is contained in:
236
docs/项目概览.md
Normal file
236
docs/项目概览.md
Normal file
@@ -0,0 +1,236 @@
|
||||
# WechatHookBot 项目概览
|
||||
|
||||
## 📁 当前项目结构
|
||||
|
||||
```
|
||||
WechatHookBot/
|
||||
├── docs/ # 📚 文档目录
|
||||
│ ├── 项目概览.md # 本文件
|
||||
│ ├── 快速开始.md # 安装和运行指南
|
||||
│ ├── 架构设计.md # 技术架构文档
|
||||
│ ├── 插件开发.md # 插件开发指南
|
||||
│ └── API文档.md # API 接口文档
|
||||
├── main_config.toml # ⚙️ 主配置文件
|
||||
├── requirements.txt # 📦 Python 依赖
|
||||
├── .gitignore # 🚫 Git 忽略文件
|
||||
└── README.md # 📖 项目说明
|
||||
```
|
||||
|
||||
## 📋 已完成的工作
|
||||
|
||||
### ✅ 文档系统
|
||||
- [x] README.md - 项目介绍和快速开始
|
||||
- [x] 架构设计.md - 完整的技术架构设计
|
||||
- [x] 插件开发.md - 详细的插件开发指南
|
||||
- [x] API文档.md - 完整的 API 接口文档
|
||||
- [x] 快速开始.md - 安装和运行教程
|
||||
- [x] 项目概览.md - 项目总览(本文件)
|
||||
|
||||
### ✅ 配置文件
|
||||
- [x] main_config.toml - 主配置文件模板
|
||||
- [x] requirements.txt - Python 依赖列表
|
||||
- [x] .gitignore - Git 忽略规则
|
||||
|
||||
## 🚧 待开发模块
|
||||
|
||||
### 第一阶段:核心框架(优先级:高)
|
||||
|
||||
```
|
||||
WechatHook/ # Hook 层实现
|
||||
├── __init__.py
|
||||
├── loader.py # NoveLoader DLL 封装
|
||||
├── client.py # WechatHookClient API 封装
|
||||
├── message_types.py # 消息类型映射
|
||||
└── callbacks.py # 回调处理器
|
||||
```
|
||||
|
||||
**任务清单:**
|
||||
- [ ] 实现 NoveLoader 类(基于 python_demo.py)
|
||||
- [ ] 实现 WechatHookClient 类(封装所有 API)
|
||||
- [ ] 定义消息类型映射表
|
||||
- [ ] 实现回调处理系统
|
||||
|
||||
### 第二阶段:Bot 核心(优先级:高)
|
||||
|
||||
```
|
||||
utils/ # 工具类(复用 XYBot)
|
||||
├── __init__.py
|
||||
├── plugin_base.py # ✅ 从 XYBot 复制
|
||||
├── plugin_manager.py # ✅ 从 XYBot 复制
|
||||
├── event_manager.py # ✅ 从 XYBot 复制
|
||||
├── decorators.py # ✅ 从 XYBot 复制
|
||||
├── singleton.py # ✅ 从 XYBot 复制
|
||||
└── hookbot.py # ⚠️ 新实现(类似 xybot.py)
|
||||
|
||||
bot.py # 主入口(简化版)
|
||||
```
|
||||
|
||||
**任务清单:**
|
||||
- [ ] 从 XYBot 复制 utils/ 下的文件
|
||||
- [ ] 实现 HookBot 类(消息处理核心)
|
||||
- [ ] 实现 bot.py 主入口
|
||||
- [ ] 适配消息格式(统一为 XYBot 格式)
|
||||
|
||||
### 第三阶段:数据库(优先级:中)
|
||||
|
||||
```
|
||||
database/ # 数据库(复用 XYBot)
|
||||
├── __init__.py
|
||||
├── XYBotDB.py # ✅ 从 XYBot 复制
|
||||
├── keyvalDB.py # ✅ 从 XYBot 复制
|
||||
└── messsagDB.py # ✅ 从 XYBot 复制
|
||||
```
|
||||
|
||||
**任务清单:**
|
||||
- [ ] 从 XYBot 复制数据库文件
|
||||
- [ ] 修改数据库名称(xybot.db → hookbot.db)
|
||||
- [ ] 测试数据库功能
|
||||
|
||||
### 第四阶段:插件系统(优先级:中)
|
||||
|
||||
```
|
||||
plugins/ # 插件目录
|
||||
├── ExamplePlugin/ # 示例插件
|
||||
│ ├── __init__.py
|
||||
│ ├── main.py
|
||||
│ └── config.toml
|
||||
└── Menu/ # 菜单插件(从 XYBot 移植)
|
||||
├── __init__.py
|
||||
├── main.py
|
||||
└── config.toml
|
||||
```
|
||||
|
||||
**任务清单:**
|
||||
- [ ] 创建 ExamplePlugin 示例插件
|
||||
- [ ] 从 XYBot 移植 Menu 插件
|
||||
- [ ] 测试插件兼容性
|
||||
- [ ] 根据需要移植更多插件
|
||||
|
||||
### 第五阶段:WebUI(优先级:低,可选)
|
||||
|
||||
```
|
||||
WebUI/ # Web 管理界面(复用 XYBot)
|
||||
├── __init__.py
|
||||
├── config.py
|
||||
├── routes/ # 路由
|
||||
├── services/ # 服务层
|
||||
├── templates/ # 模板
|
||||
└── static/ # 静态资源
|
||||
|
||||
app.py # WebUI 入口
|
||||
```
|
||||
|
||||
**任务清单:**
|
||||
- [ ] 从 XYBot 复制 WebUI 代码
|
||||
- [ ] 适配 WechatHook API
|
||||
- [ ] 实现 app.py 入口
|
||||
- [ ] 测试 WebUI 功能
|
||||
|
||||
### 第六阶段:辅助功能(优先级:低)
|
||||
|
||||
```
|
||||
libs/ # DLL 文件目录
|
||||
├── Loader.dll # 从个微大客户版复制
|
||||
└── Helper.dll # 从个微大客户版复制
|
||||
|
||||
logs/ # 日志目录(自动创建)
|
||||
resources/ # 资源目录(自动创建)
|
||||
```
|
||||
|
||||
**任务清单:**
|
||||
- [ ] 准备 DLL 文件
|
||||
- [ ] 实现日志系统
|
||||
- [ ] 实现资源管理
|
||||
|
||||
## 📊 开发进度
|
||||
|
||||
| 阶段 | 模块 | 状态 | 进度 |
|
||||
|------|------|------|------|
|
||||
| 0 | 文档系统 | ✅ 完成 | 100% |
|
||||
| 1 | WechatHook 层 | 🚧 待开发 | 0% |
|
||||
| 2 | Bot 核心层 | 🚧 待开发 | 0% |
|
||||
| 3 | 数据库 | 🚧 待开发 | 0% |
|
||||
| 4 | 插件系统 | 🚧 待开发 | 0% |
|
||||
| 5 | WebUI | 🚧 待开发 | 0% |
|
||||
| 6 | 辅助功能 | 🚧 待开发 | 0% |
|
||||
|
||||
**总体进度:** 15% (文档完成)
|
||||
|
||||
## 🎯 下一步行动
|
||||
|
||||
### 立即开始(推荐顺序)
|
||||
|
||||
1. **准备 DLL 文件**
|
||||
- 从个微大客户版复制 `Loader.dll` 和 `Helper.dll` 到 `libs/` 目录
|
||||
|
||||
2. **实现 WechatHook 层**
|
||||
- 参考 `个微大客户版/python4.1.2.17Demo/python_demo.py`
|
||||
- 实现 `WechatHook/loader.py`(NoveLoader 类)
|
||||
- 实现 `WechatHook/client.py`(WechatHookClient 类)
|
||||
|
||||
3. **复用 XYBot 代码**
|
||||
- 复制 `XYBotV2/utils/` 到 `WechatHookBot/utils/`
|
||||
- 复制 `XYBotV2/database/` 到 `WechatHookBot/database/`
|
||||
|
||||
4. **实现 Bot 核心**
|
||||
- 参考 `XYBotV2/utils/xybot.py` 实现 `utils/hookbot.py`
|
||||
- 实现 `bot.py` 主入口
|
||||
|
||||
5. **测试基础功能**
|
||||
- 创建简单的测试插件
|
||||
- 测试消息收发
|
||||
- 验证插件系统
|
||||
|
||||
## 📚 参考资料
|
||||
|
||||
### 内部文档
|
||||
- [快速开始](快速开始.md) - 环境准备和安装
|
||||
- [架构设计](架构设计.md) - 技术架构详解
|
||||
- [插件开发](插件开发.md) - 插件开发指南
|
||||
- [API文档](API文档.md) - API 接口参考
|
||||
|
||||
### 参考项目
|
||||
- `XYBotV2/` - 插件系统、事件管理、数据库
|
||||
- `个微大客户版/python4.1.2.17Demo/python_demo.py` - DLL 调用示例
|
||||
- `个微大客户版/API/` - API 接口文档
|
||||
|
||||
## 💡 开发建议
|
||||
|
||||
### 代码复用策略
|
||||
- ✅ **完全复用**:utils/(插件系统、事件管理、装饰器)
|
||||
- ✅ **完全复用**:database/(数据库层)
|
||||
- ⚠️ **参考实现**:hookbot.py(参考 xybot.py,但需适配)
|
||||
- 🆕 **全新实现**:WechatHook/(Hook 层封装)
|
||||
|
||||
### 开发优先级
|
||||
1. **核心功能优先**:先实现消息收发和插件系统
|
||||
2. **逐步完善**:基础功能稳定后再添加 WebUI
|
||||
3. **测试驱动**:每个模块完成后立即测试
|
||||
|
||||
### 注意事项
|
||||
- 使用 32位 Python 开发和测试
|
||||
- 保持与 XYBot 插件的兼容性
|
||||
- 注意消息格式的统一转换
|
||||
- 做好错误处理和日志记录
|
||||
|
||||
## 🔗 相关链接
|
||||
|
||||
- **XYBotV2 项目**:`D:\project\shrobot\XYBotV2\`
|
||||
- **个微大客户版**:`D:\project\shrobot\个微大客户版\`
|
||||
- **当前项目**:`D:\project\shrobot\WechatHookBot\`
|
||||
|
||||
## 📝 更新日志
|
||||
|
||||
### 2025-01-XX
|
||||
- ✅ 创建项目目录结构
|
||||
- ✅ 完成所有文档编写
|
||||
- ✅ 创建配置文件模板
|
||||
- 🚧 准备开始代码实现
|
||||
|
||||
---
|
||||
|
||||
**项目状态:** 🚧 文档完成,代码开发中
|
||||
|
||||
**预计完成时间:** 2-3 天(基础框架)
|
||||
|
||||
**当前任务:** 实现 WechatHook 层
|
||||
Reference in New Issue
Block a user