Files
WechatHookBot/docs/项目概览.md
2025-12-03 15:48:44 +08:00

237 lines
7.5 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.
# 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 层