diff --git a/README2.md b/README2.md new file mode 100644 index 0000000..211254c --- /dev/null +++ b/README2.md @@ -0,0 +1,270 @@ +# 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"] +``` + +### 9. 插件管理器 (plugin_manager) +```yaml +PluginManager: + enable: true + command: ["插件", "plugin", "插件管理"] + command-format: "插件管理命令格式说明" +``` + +## 启动服务 + +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 new file mode 100644 index 0000000..973b00f --- /dev/null +++ b/使用手册.md @@ -0,0 +1,164 @@ +# 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