From c320fa57584baa11bbaa7c754acd9fa2dbe6c07c Mon Sep 17 00:00:00 2001 From: liuwei Date: Tue, 3 Jun 2025 17:09:14 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B498=E5=A0=82=E5=8F=91=E9=80=81?= =?UTF-8?q?=E7=9A=84=E5=86=85=E5=AE=B9=EF=BC=8C=E5=85=88=E5=8F=91=E6=96=87?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.MD | 185 +++++++++++++++++++++++++++---------- README2.md | 262 ---------------------------------------------------- 使用手册.md | 164 -------------------------------- 使用说明.md | 5 + 4 files changed, 143 insertions(+), 473 deletions(-) delete mode 100644 README2.md delete mode 100644 使用手册.md diff --git a/README.MD b/README.MD index 07b57ac..4f313ed 100644 --- a/README.MD +++ b/README.MD @@ -1,6 +1,6 @@ # A-BOT 智能助手 -A-BOT是一个功能丰富的微信机器人助手,集成了多种实用功能,包括AI聊天、群智闯关、积分系统、新闻推送等。 +A-BOT是一个功能丰富的微信机器人助手,集成了多种实用功能,包括AI聊天、群智闯关、积分系统、新闻推送等。支持多种AI模型集成,提供消息自动回复、群管理等功能。 ## 📋 功能清单 @@ -23,7 +23,8 @@ A-BOT是一个功能丰富的微信机器人助手,集成了多种实用功能 ### 4. AI聊天 - 智能对话 -- 多模型支持(支持多种AI模型) +- 多模型支持(Claude、DeepSeek、豆包等) +- 自定义提示词模板 ### 5. 媒体内容 - 秀人图片 @@ -36,25 +37,29 @@ A-BOT是一个功能丰富的微信机器人助手,集成了多种实用功能 - 群自动邀请 - 插件管理系统 - 消息智能总结 +- 数据库消息存档 -### 7. 其他功能 +### 7. 系统功能 - 每日签到系统 - 系统更新 - 视频分享 +- 邮件通知系统 +- 系统监控集成 ## 🚀 安装说明 ### 环境要求 -- Python 3.8+ +- Python 3.10+ - MySQL 数据库 - Redis 服务 - Git(用于系统更新) +- 支持的操作系统:Windows/Linux/MacOS ### 依赖安装 ```bash # 克隆项目 -git clone https://github.com/your-username/WeChatRobot.git -cd WeChatRobot +git clone https://github.com/your-username/abot.git +cd abot # 创建虚拟环境 python -m venv .venv @@ -94,7 +99,7 @@ pip install -r requirements.txt - 抖音解析服务:用于视频解析功能 ### 系统依赖 -- Python 3.8+ +- Python 3.10+ - Git:用于系统更新 - 文件系统存储空间:用于存储媒体文件 - 网络代理支持(可选):用于访问特定服务 @@ -181,51 +186,143 @@ pip install -r requirements.txt ## ⚙️ 配置说明 -1. 配置文件位于 `config.yaml` - - 数据库配置 - - API密钥配置 - - 插件开关设置 - - 代理设置 +### 1. 配置文件 +配置文件位于 `config.yaml`,包含以下主要配置项: -2. 数据库配置在 `configuration.py` - - MySQL连接信息 - - Redis连接信息 - - 其他数据库设置 +#### AI模型配置 +```yaml +claude: + key: "your-api-key" + api: "http://127.0.0.1:8080/v1/chat/completions" + model: "windsurf/gpt4o" + prompt: "your-prompt-template" -3. 日志文件: - - wx_debug.log:调试日志 - - wx_info.log:信息日志 - - wx_error.log:错误日志 +deepseek: + key: "your-api-key" + api: "https://api.deepseek.com/chat/completions" + model: "deepseek-chat" + prompt: "your-prompt-template" + +doubao: + key: "your-api-key" + api: "https://ark.cn-beijing.volces.com/api/v3/chat/completions" + model: "doubao-1-5-lite-32k-250115" + prompt: "your-prompt-template" +``` + +#### 数据库配置 +```yaml +db_config: + pool_name: "wechat_boot_pool" + pool_size: 10 + host: "your-db-host" + user: "your-db-user" + password: "your-db-password" + database: "message_archive" + charset: "utf8mb4" +``` + +#### Redis配置 +```yaml +redis_config: + host: "your-redis-host" + port: 6379 + db: 0 + decode_responses: true +``` + +### 2. 插件配置 + +#### AI聊天插件 (dify) +```yaml +Dify: + enable: true + commands: ["ai", "dify", "聊天", "AI"] + command-tip: "聊天 请求内容" + api-key: "your-dify-api-key" + base-url: "your-dify-base-url" +``` + +#### 音乐插件 (music) +```yaml +Music: + enable: true + command: ["点歌", "音乐"] + command-format: "点歌 歌曲名" +``` + +#### 群智闯关插件 (game_task) +```yaml +GameTask: + enable: true + command: ["/s", "/t", "/a", "/r", "/l", "/h"] + command-format: "游戏命令格式说明" +``` + +## 📁 项目结构 +``` +abot/ +├── admin/ # 管理后台相关代码 +├── base/ # 基础功能模块 +├── db/ # 数据库相关代码 +├── plugins/ # 插件目录 +├── resource/ # 资源文件 +├── static/ # 静态文件 +├── utils/ # 工具函数 +├── wechat_ipad/ # 微信相关核心代码 +├── config.yaml # 配置文件 +├── main.py # 主程序入口 +├── requirements.txt # 依赖列表 +└── restart.sh # 重启脚本 +``` ## 🔧 开发说明 -项目结构: -``` -├── admin/ # 管理后台 -├── base/ # 基础功能 -├── event_system/ # 事件系统 -├── plugins/ # 插件目录 -├── utils/ # 工具函数 -├── wechat_ipad/ # 微信接口 -├── main.py # 主程序 -└── robot.py # 机器人核心 -``` - ### 插件开发 1. 在 `plugins` 目录下创建新的插件目录 2. 实现 `MessagePluginInterface` 接口 3. 在 `config.toml` 中添加插件配置 -4. 在插件管理器中注册插件 -启动时自动注册 +4. 在插件管理器中注册插件 -## 📝 注意事项 +### 开发规范 +- 遵循PEP 8编码规范 +- 添加适当的注释 +- 编写单元测试 +- 更新文档 -1. 首次使用需要配置相关API密钥 -2. 部分功能需要管理员权限 -3. 建议定期备份数据库 -4. 请遵守相关法律法规使用 -5. 注意API调用频率限制 -6. 定期检查日志文件 -7. 保持系统更新 +## ⚠️ 注意事项 + +1. 确保所有API密钥配置正确 +2. 数据库和Redis服务必须正常运行 +3. 建议使用虚拟环境运行项目 +4. 定期检查日志文件(wx_debug.log, wx_info.log, wx_error.log) +5. 部分功能需要消耗积分 +6. 部分功能需要管理员权限 +7. 建议定期备份数据库 +8. 请遵守相关法律法规使用 +9. 注意API调用频率限制 + +## ❓ 常见问题 + +1. 依赖安装问题 +```bash +python -m pip install --upgrade pip +``` + +2. 数据库连接问题 +- 检查数据库服务是否运行 +- 验证配置信息是否正确 +- 确认数据库用户权限是否足够 + +3. Redis连接问题 +- 检查Redis服务是否运行 +- 验证配置信息是否正确 +- 检查Redis服务器防火墙设置 + +4. API调用问题 +- 确认API密钥是否正确 +- 检查API服务是否可用 +- 验证网络连接是否正常 ## 🔄 更新日志 @@ -242,12 +339,6 @@ pip install -r requirements.txt 4. 推送到分支 5. 创建 Pull Request -### 开发规范 -- 遵循PEP 8编码规范 -- 添加适当的注释 -- 编写单元测试 -- 更新文档 - ## 📄 许可证 本项目采用 MIT 许可证,详见 LICENSE 文件。 diff --git a/README2.md b/README2.md deleted file mode 100644 index 0ca9b27..0000000 --- a/README2.md +++ /dev/null @@ -1,262 +0,0 @@ -# WeChatRobot - -一个基于Python的微信机器人项目,支持多种AI模型集成,提供消息自动回复、群管理等功能。 - -## 功能特点 - -- 支持多种AI模型集成(Claude、DeepSeek、豆包等) -- 自动消息回复和处理 -- 群管理功能 -- 数据库消息存档 -- 邮件通知系统 -- 系统监控集成 - -## 系统要求 - -- Python 3.8+ -- MySQL 数据库 -- Redis 服务器 -- 支持的操作系统:Windows/Linux/MacOS - -## 环境配置 - -1. 克隆项目到本地: -```bash -git clone [项目地址] -cd WeChatRobot -``` - -2. 创建并激活虚拟环境: -```bash -python -m venv .venv -# Windows -.venv\Scripts\activate -# Linux/MacOS -source .venv/bin/activate -``` - -3. 安装依赖: -```bash -pip install -r requirements.txt -``` - -4. 配置数据库: -- 确保MySQL服务已启动 -- 创建数据库:message_archive -- 配置数据库连接信息(config.yaml) - -5. 配置Redis: -- 确保Redis服务已启动 -- 配置Redis连接信息(config.yaml) - -## 配置文件说明 - -在 `config.yaml` 中配置以下内容: - -### 1. AI模型配置 - -#### Claude AI -```yaml -claude: - key: "your-api-key" - api: "http://127.0.0.1:8080/v1/chat/completions" - model: "windsurf/gpt4o" - prompt: "your-prompt-template" -``` - -#### DeepSeek AI -```yaml -deepseek: - key: "your-api-key" - api: "https://api.deepseek.com/chat/completions" - model: "deepseek-chat" - prompt: "your-prompt-template" -``` - -#### 豆包AI -```yaml -doubao: - key: "your-api-key" - api: "https://ark.cn-beijing.volces.com/api/v3/chat/completions" - model: "doubao-1-5-lite-32k-250115" - prompt: "your-prompt-template" -``` - -### 2. 数据库配置 -```yaml -db_config: - pool_name: "wechat_boot_pool" - pool_size: 10 - host: "your-db-host" - user: "your-db-user" - password: "your-db-password" - database: "message_archive" - charset: "utf8mb4" - use_unicode: true - get_warnings: true - pool_reset_session: true -``` - -### 3. Redis配置 -```yaml -redis_config: - host: "your-redis-host" - port: 6379 - db: 0 - decode_responses: true -``` - -### 4. 邮件配置 -```yaml -email_config: - smtp_server: "smtp.163.com" - smtp_port: 465 - sender_email: "your-email@163.com" - sender_password: "your-email-password" - alert_recipient: "alert-recipient@example.com" -``` - -### 5. 系统监控配置 -```yaml -glances: - host: "your-glances-host" - port: 61208 -``` - -## 插件配置说明 - -### 1. AI聊天插件 (dify) -```yaml -Dify: - enable: true - commands: ["ai", "dify", "聊天", "AI"] - command-tip: "聊天 请求内容" - api-key: "your-dify-api-key" - base-url: "your-dify-base-url" - price: 0 - admin_ignore: false - whitelist_ignore: false - http-proxy: "" -``` - -### 2. 音乐插件 (music) -```yaml -Music: - enable: true - command: ["点歌", "音乐"] - command-format: "点歌 歌曲名" -``` - -### 3. 视频插件 (video_man) -```yaml -VideoMan: - enable: true - command: ["猛男", "肌肉", "帅哥"] - command-format: "猛男" -``` - -### 4. 群智闯关插件 (game_task) -```yaml -GameTask: - enable: true - command: ["/s", "/t", "/a", "/r", "/l", "/h"] - command-format: "游戏命令格式说明" -``` - -### 5. 积分交易插件 (point_trade) -```yaml -PointTrade: - enable: true - command: ["积分转账", "我的积分", "积分排行", "打劫", "保释"] - command-format: "积分相关命令格式" -``` - -### 6. 全球新闻插件 (global_news) -```yaml -GlobalNews: - enable: true - command: ["全球新闻", "国际新闻", "环球新闻", "政经新闻"] - command-format: "全球新闻 - 获取最新的全球政治经济新闻" -``` - -### 7. 自动加群插件 (group_auto_invite) -```yaml -GroupAutoInvite: - enable: true - command: ["#加群配置|", "#加群"] - command-format: "加群命令格式说明" -``` - -### 8. 系统更新插件 (system_updater) -```yaml -SystemUpdater: - enable: true - commands: ["更新系统", "系统更新"] - wait_time: 5 - admin_wxids: ["admin-wxid1", "admin-wxid2"] -``` - -## 启动服务 - -1. 启动主程序: -```bash -python main.py -``` - -2. 使用重启脚本(Linux/MacOS): -```bash -./restart.sh -``` - -## 目录结构 - -``` -WeChatRobot/ -├── admin/ # 管理后台相关代码 -├── base/ # 基础功能模块 -├── db/ # 数据库相关代码 -├── plugins/ # 插件目录 -├── resource/ # 资源文件 -├── static/ # 静态文件 -├── utils/ # 工具函数 -├── wechat_ipad/ # 微信相关核心代码 -├── config.yaml # 配置文件 -├── main.py # 主程序入口 -├── requirements.txt # 依赖列表 -└── restart.sh # 重启脚本 -``` - -## 注意事项 - -1. 确保所有API密钥配置正确 -2. 数据库和Redis服务必须正常运行 -3. 建议使用虚拟环境运行项目 -4. 定期检查日志文件(wx_debug.log, wx_info.log, wx_error.log) -5. 部分功能需要消耗积分 -6. 部分功能需要管理员权限 - -## 常见问题 - -1. 如果遇到依赖安装问题,请确保pip版本最新: -```bash -python -m pip install --upgrade pip -``` - -2. 如果遇到数据库连接问题,检查: - - 数据库服务是否运行 - - 配置信息是否正确 - - 数据库用户权限是否足够 - -3. 如果遇到Redis连接问题,检查: - - Redis服务是否运行 - - 配置信息是否正确 - - Redis服务器防火墙设置 - -4. 如果遇到API调用问题,检查: - - API密钥是否正确 - - API服务是否可用 - - 网络连接是否正常 - -## 许可证 - -本项目采用 MIT 许可证,详见 [LICENSE](LICENSE) 文件。 \ No newline at end of file diff --git a/使用手册.md b/使用手册.md deleted file mode 100644 index 973b00f..0000000 --- a/使用手册.md +++ /dev/null @@ -1,164 +0,0 @@ -# WeChatRobot 使用手册 - -## 目录 -1. [基础命令](#基础命令) -2. [AI聊天功能](#ai聊天功能) -3. [群管理功能](#群管理功能) -4. [游戏功能](#游戏功能) -5. [媒体功能](#媒体功能) -6. [系统功能](#系统功能) -7. [插件管理](#插件管理) - -## 基础命令 - -### 帮助命令 -- `帮助` - 显示所有可用命令 -- `帮助 [命令名]` - 显示特定命令的详细说明 - -## AI聊天功能 - -### Dify AI聊天 -- `ai [问题]` - 使用AI回答问题 -- `dify [问题]` - 使用AI回答问题 -- `聊天 [问题]` - 使用AI回答问题 -- `AI [问题]` - 使用AI回答问题 -- 在群聊中@机器人也可以触发AI对话 - -### AI自动对话 -- 在群聊中自动介入对话 -- 支持上下文理解 -- 自动识别需要AI介入的场景 - -## 群管理功能 - -### 群设置 -- `群设置` - 显示当前群设置 -- `群设置 修改 [设置项] [值]` - 修改群设置 -- `群设置 重置` - 重置群设置为默认值 - -### 自动加群 -- `#加群配置|add key group_id` - 添加群组ID -- `#加群配置|del key group_id` - 删除群组ID -- `#加群配置|get key` - 获取所有群组ID -- `#加群配置|get_first key` - 获取第一个群组ID -- `#加群 key` - 请求加入关键词对应的群聊 - -### 跨群聊天 -- 自动将多个微信群组合成虚拟聊天组 -- 实现群组间消息的自动转发 - -## 游戏功能 - -### 群智闯关 -- `/s` - 加入答题游戏 -- `/t` - 获取新问题 -- `/a [任务ID] [答案]` - 回答问题 -- `/r` - 查看排行榜 -- `/l` - 查看活跃问题 -- `/h` - 查看未解决问题 - -### 猜歌名游戏 -- `猜歌名 [歌手名]` - 指定歌手猜歌名 -- `猜歌名 [歌名]` - 直接猜歌名 - -## 媒体功能 - -### 音乐功能 -- `点歌 [歌名]` - 搜索并发送音乐 -- `音乐 [歌名]` - 搜索并发送音乐 - -### 视频功能 -- `猛男` - 获取猛男视频 -- `肌肉` - 获取肌肉视频 -- `帅哥` - 获取帅哥视频 - -### 图片功能 -- `秀人` - 获取秀人网图片 -- `美腿` - 获取美腿图片 - -### 抖音解析 -- 直接发送抖音链接可自动解析 - -## 系统功能 - -### 系统更新 -- `更新系统` - 更新系统 -- `系统更新` - 更新系统 -- 支持自定义等待时间:`更新系统 [秒数]` - -### 积分系统 -- `我的积分` - 查询积分 -- `积分排行` - 查看排行榜 -- `打劫 @用户` - 打劫积分 -- `保释 @用户` - 保释用户 - -### 全球新闻 -- `全球新闻` - 获取国际新闻 -- `国际新闻` - 获取国际新闻 -- `环球新闻` - 获取环球新闻 -- `政经新闻` - 获取政经新闻 - -## 插件管理 - -### 插件操作 -- `插件 列表` - 显示所有已安装的插件 -- `插件 启用 [插件名]` - 启用指定插件 -- `插件 禁用 [插件名]` - 禁用指定插件 -- `插件 重载 [插件名]` - 重新加载插件 -- `插件 卸载 [插件名]` - 卸载插件 -- `插件 加载 [插件名]` - 加载插件 -- `插件 信息 [插件名]` - 查看插件详情 - -## 注意事项 - -1. 所有命令都可以在群聊或私聊中使用 -2. 部分命令需要管理员权限 -3. 命令不区分大小写 -4. 使用 `@机器人` 可以确保命令被正确识别 -5. 部分功能可能需要相应的API密钥配置 -6. 部分功能需要消耗积分 - -## 常见问题 - -1. 命令无响应 - - 检查机器人是否在线 - - 确认命令格式是否正确 - - 验证是否有使用权限 - - 检查积分是否足够 - -2. 功能无法使用 - - 检查相关插件是否已启用 - - 确认API密钥是否配置正确 - - 查看系统日志了解详细错误信息 - - 检查群权限设置 - -3. 响应速度慢 - - 检查网络连接状态 - - 确认服务器负载情况 - - 查看系统资源使用情况 - - 检查API调用限制 - -## 联系支持 - -如果遇到问题或需要帮助,请通过以下方式联系: - -1. 提交Issue到项目仓库 -2. 发送邮件到:bovine.liu@gmail.com -3. 在项目讨论区发帖 - -## 更新日志 - -### v1.0.0 -- 初始版本发布 -- 基础功能实现 -- 插件系统支持 - -### v1.1.0 -- 新增多个AI模型支持 -- 优化群管理功能 -- 改进媒体处理功能 - -### v1.2.0 -- 新增系统监控功能 -- 优化插件管理系统 -- 改进错误处理机制 \ No newline at end of file diff --git a/使用说明.md b/使用说明.md index 856c28c..8db52a8 100644 --- a/使用说明.md +++ b/使用说明.md @@ -64,6 +64,11 @@ - `点歌 歌曲名` - 想听什么歌?直接点播 - 例如:`点歌 周杰伦 稻香` +## 🎵 猜歌名游戏 +- `猜歌名 [歌手名]` - 指定歌手猜歌名 +- `猜歌名 [歌名]` - 直接猜歌名 +- `猜歌名 下一首` - 直接跳过当前题目 + ## 📝 每日签到 **使用方法:**