# xbot-wecaht客户端 **Repository Path**: dealy/xbot-client ## Basic Information - **Project Name**: xbot-wecaht客户端 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-22 - **Last Updated**: 2026-03-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # XBot 微信机器人 一个基于接口调用的微信机器人项目,支持插件化消息处理和管理后台。 ## 功能特性 ### 核心功能 - ✅ 二维码登录(安卓Pad绕过验证码) - ✅ 自动心跳保持连接 - ✅ WebSocket消息监听 - ✅ 消息保存到数据库 - ✅ 插件化消息处理系统 - ✅ 基于事件的消息处理架构 ### AI聊天插件 - 🤖 **Dify AI插件** - 对接Dify平台,支持上下文对话 - 🎵 **抖音AI插件** - 对接抖音AI平台,支持智能聊天 - ☁️ **阿里AI插件** - 对接阿里云AI平台,支持上下文对话 - 🔍 **百度AI插件** - 对接百度AI平台,支持智能聊天 ### 管理后台 - 🔐 管理员登录系统 - ⚙️ 系统配置管理 - 🧩 插件管理和配置 - 📱 微信扫码登录功能 - 👥 用户管理 ## 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 配置系统 编辑 `config.properties` 文件: ```properties # 服务器配置 server_url=http://localhost:8080 port=8080 # 日志配置 log_level=INFO log_file=logs/xbot.log # 数据库配置 database_url=sqlite:///data/xbot.db # 心跳配置 heartbeat_interval=30 ``` ### 3. 配置AI插件 #### Dify AI插件 编辑 `plugins/dify_ai_plugin/config.json`: ```json { "settings": { "api_key": "your_dify_api_key", "conversation_id": "your_conversation_id", "keywords": ["dify", "ai", "智能", "聊天"] } } ``` #### 抖音AI插件 编辑 `plugins/douyin_ai_plugin/config.json`: ```json { "settings": { "api_key": "your_douyin_api_key", "app_id": "your_app_id", "app_secret": "your_app_secret", "keywords": ["抖音", "douyin", "ai", "智能", "聊天"] } } ``` #### 阿里AI插件 编辑 `plugins/ali_ai_plugin/config.json`: ```json { "settings": { "api_key": "your_ali_api_key", "model": "qwen-turbo", "keywords": ["阿里", "ali", "ai", "智能", "聊天"] } } ``` #### 百度AI插件 编辑 `plugins/baidu_ai_plugin/config.json`: ```json { "settings": { "api_key": "your_baidu_api_key", "secret_key": "your_secret_key", "model": "ernie-bot-4", "keywords": ["百度", "baidu", "ai", "智能", "聊天"] } } ``` ### 4. 启动系统 #### 方式一:同时启动XBot和管理后台 ```bash python start_all.py ``` #### 方式二:分别启动 ```bash # 启动XBot主程序 python main.py # 启动管理后台(新终端) python start_admin.py ``` ### 5. 访问管理后台 打开浏览器访问:http://localhost:5000 默认账户: - 用户名:admin - 密码:admin123 ## 插件系统 ### 插件结构 ``` plugins/ ├── plugin_name/ │ ├── config.json # 插件配置 │ └── main.py # 插件主文件 ``` ### 插件配置示例 ```json { "name": "插件名称", "version": "1.0.0", "description": "插件描述", "author": "作者", "supported_message_types": [1], "enabled": true, "settings": { "key": "value" } } ``` ### 插件开发 #### 1. 创建插件目录 ```bash mkdir -p plugins/my_plugin ``` #### 2. 创建配置文件 ```json { "name": "我的插件", "version": "1.0.0", "description": "这是一个示例插件", "author": "开发者", "supported_message_types": [1], "enabled": true, "settings": { "keyword": "hello" } } ``` #### 3. 创建插件主文件 ```python #!/usr/bin/env python3 # -*- coding: utf-8 -*- from typing import Dict, Optional, Any from plugins.base_plugin import BasePlugin from plugins.event_system import Event, EventType, on_message class MyPlugin(BasePlugin): def __init__(self, config: Dict[str, Any], event_bus): super().__init__(config, event_bus) self.keyword = self.settings.get("keyword", "hello") @on_message(EventType.MESSAGE_TEXT) async def handle_text_message(self, event: Event) -> Optional[Dict[str, Any]]: data = event.data content = data.get("content", "") if self.keyword in content.lower(): return self.create_text_response(f"你好!我收到了关键词:{self.keyword}") return None # 插件类名必须是Plugin Plugin = MyPlugin ``` ## AI插件使用 ### 关键词触发 所有AI插件都支持关键词触发,当消息包含配置的关键词时,插件会自动响应。 ### 上下文管理 AI插件支持上下文对话,会自动保存用户对话历史,支持以下命令: - `清除上下文` - 清除当前用户的对话历史 - `clear context` - 清除当前用户的对话历史 - `重置对话` - 清除当前用户的对话历史 ### 插件配置 每个AI插件都可以通过管理后台进行配置,包括: - API密钥配置 - 模型参数调整 - 关键词设置 - 上下文长度限制 ## 管理后台功能 ### 系统配置 - 服务器地址和端口配置 - 心跳间隔设置 - 日志级别配置 ### 插件管理 - 插件启用/禁用 - 插件配置编辑 - 插件状态监控 ### 微信登录 - 二维码生成和显示 - 登录状态监控 - 用户信息显示 ### 用户管理 - 管理员账户创建 - 用户权限管理 - 账户安全设置 ## 项目结构 ``` xbot-client/ ├── api/ # API接口模块 │ └── xbot/ ├── common/ # 公共模块 ├── database/ # 数据库模块 ├── plugins/ # 插件目录 │ ├── base_plugin.py # 插件基类 │ ├── event_system.py # 事件系统 │ ├── plugin_manager.py # 插件管理器 │ ├── echo_plugin/ # 回显插件 │ ├── smart_reply_plugin/ # 智能回复插件 │ ├── stats_plugin/ # 统计插件 │ ├── dify_ai_plugin/ # Dify AI插件 │ ├── douyin_ai_plugin/ # 抖音AI插件 │ ├── ali_ai_plugin/ # 阿里AI插件 │ └── baidu_ai_plugin/ # 百度AI插件 ├── admin_web/ # 管理后台 │ ├── app.py # Flask应用 │ ├── templates/ # 模板文件 │ └── static/ # 静态文件 ├── data/ # 数据目录 ├── logs/ # 日志目录 ├── main.py # 主程序 ├── start_admin.py # 管理后台启动脚本 ├── start_all.py # 综合启动脚本 └── requirements.txt # 依赖文件 ``` ## 开发说明 ### 事件系统 项目使用基于事件的消息处理系统,支持以下事件类型: - `MESSAGE_TEXT` - 文本消息 - `MESSAGE_IMAGE` - 图片消息 - `MESSAGE_VOICE` - 语音消息 - `MESSAGE_VIDEO` - 视频消息 - `MESSAGE_FILE` - 文件消息 - `MESSAGE_ANY` - 任意消息 ### 中间件支持 插件可以注册中间件来处理所有消息,用于统计、日志记录等功能。 ### 数据库 使用SQLite异步数据库存储消息和用户数据,支持自动创建表结构。 ## 故障排除 ### 常见问题 1. **插件加载失败** - 检查插件目录结构是否正确 - 确认插件配置文件格式正确 - 查看日志文件获取详细错误信息 2. **AI插件无响应** - 检查API密钥配置是否正确 - 确认网络连接正常 - 验证关键词配置 3. **管理后台无法访问** - 确认Flask应用已启动 - 检查端口是否被占用 - 验证防火墙设置 ### 日志查看 ```bash tail -f logs/xbot.log ``` ## 许可证 MIT License ## 贡献 欢迎提交Issue和Pull Request! ## 更新日志 ### v1.0.0 - 初始版本发布 - 支持基础消息处理 - 插件系统 - 管理后台 - AI插件支持