mirror of
https://github.com/zhinianboke/xianyu-auto-reply.git
synced 2025-08-02 04:27:36 +08:00
🚀 闲鱼自动回复管理系统
📋 项目概述
闲鱼自动回复管理系统是一个基于 Python + FastAPI 开发的自动化客服系统,专为闲鱼平台设计。系统通过 WebSocket 连接闲鱼服务器,实时接收和处理消息,提供智能化的自动回复服务。
🎯 核心优势
- 🤖 AI智能回复:集成多种AI模型,支持意图识别和智能议价
- 🔄 多账号管理:同时管理多个闲鱼账号,独立配置和监控
- 📦 商品管理:自动收集和管理商品信息,支持批量操作
- 🚚 自动发货:智能匹配发货规则,自动发送卡券信息
- 📊 实时监控:完整的日志系统和状态监控
- 🐳 容器化部署:支持Docker一键部署,简化运维
✨ 功能特性
🤖 AI智能回复
- 多模型支持:支持通义千问、GPT等主流AI模型
- 意图识别:自动识别价格咨询、技术问题、通用咨询
- 智能议价:阶梯式降价策略,可设置最大优惠幅度
- 上下文感知:记住完整对话历史,提供连贯回复
- 自定义提示词:支持针对不同场景自定义AI提示词
- 智能优先级:关键词回复优先,AI回复作为智能补充
👥 多账号管理
- 账号隔离:每个账号独立配置和管理
- 批量操作:支持批量添加、删除、配置账号
- 状态监控:实时监控账号连接状态和消息处理情况
- 权限控制:基于JWT的安全认证系统
📦 商品管理
- 自动收集:消息触发时自动收集商品信息
- 详情获取:通过API获取完整商品详情
- 批量管理:支持查看、编辑、删除商品信息
- 智能匹配:基于商品信息进行关键词匹配
🚚 自动发货
- 规则配置:灵活的发货规则配置系统
- 卡券管理:支持多种卡券类型和批量导入
- 智能匹配:根据商品信息自动匹配发货规则
- 发货记录:完整的发货历史记录和统计
📊 监控与日志
- 实时日志:多级别日志记录和实时查看
- 性能监控:系统资源使用情况监控
- 消息统计:消息处理统计和分析
- 健康检查:完整的系统健康检查机制
🛠️ 技术栈
后端技术
- Python 3.11+:主要开发语言
- FastAPI:现代化的Web框架
- SQLite:轻量级数据库
- WebSocket:实时通信
- AsyncIO:异步编程
前端技术
- HTML5 + CSS3:现代化界面设计
- JavaScript (ES6+):交互逻辑
- Bootstrap:响应式布局
- Chart.js:数据可视化
部署技术
- Docker:容器化部署
- Docker Compose:多容器编排
- Nginx:反向代理和负载均衡
- SSL/TLS:安全传输
🚀 快速开始
💡 推荐使用Docker镜像部署,无需配置环境,一键启动!
🐳 方式一:Docker 镜像部署(推荐)
使用预构建的Docker镜像,一键启动:
docker run -d -p 8080:8080 --name xianyu-auto-reply --privileged=true registry.cn-shanghai.aliyuncs.com/zhinian-software/xianyu-auto-reply:1.0
特点:
- ✅ 零配置:无需安装Python环境和依赖
- ✅ 即开即用:一条命令启动完整系统
- ✅ 稳定可靠:经过测试的稳定版本
- ✅ 自动更新:支持数据持久化和版本升级
访问系统:
- 🌐 Web界面:http://localhost:8080
- 👤 默认账号:admin / admin123
- 📖 API文档:http://localhost:8080/docs
常用管理命令:
# 查看容器状态
docker ps
# 查看容器日志
docker logs xianyu-auto-reply
# 重启容器
docker restart xianyu-auto-reply
# 停止容器
docker stop xianyu-auto-reply
# 删除容器
docker rm xianyu-auto-reply
方式二:Docker 源码部署
-
克隆项目
git clone https://github.com/your-repo/xianyu-auto-reply.git cd xianyu-auto-reply
-
一键部署
./deploy.sh
-
访问系统
- 打开浏览器访问:http://localhost:8080
- 默认账号:admin / admin123
方式三:本地部署
-
安装依赖
pip install -r requirements.txt
-
启动系统
python Start.py
-
访问系统
- 打开浏览器访问:http://localhost:8080
📚 使用文档
基础使用
- 使用说明 - 系统基础使用指南
- Docker部署说明 - Docker部署详细说明
功能文档
- AI回复功能指南 - AI回复功能详细说明
- 商品管理功能说明 - 商品管理功能使用
- 自动发货功能说明 - 自动发货配置和使用
- 日志管理功能说明 - 日志查看和管理
- 获取所有商品功能说明 - 商品批量获取功能
🔧 配置说明
环境变量配置
# 基础配置
TZ=Asia/Shanghai
WEB_PORT=8080
# 管理员账号
ADMIN_USERNAME=admin
ADMIN_PASSWORD=admin123
# AI回复配置
AI_REPLY_ENABLED=true
DEFAULT_AI_MODEL=qwen-plus
DEFAULT_AI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
全局配置文件
主要配置文件为 global_config.yml
,包含:
- API端点配置
- WebSocket连接配置
- 自动回复配置
- 日志配置
- 商品详情获取配置
📡 API文档
认证接口
POST /login
- 用户登录POST /logout
- 用户登出
账号管理
GET /cookies
- 获取所有账号POST /cookies
- 添加新账号DELETE /cookies/{cookie_id}
- 删除账号
AI回复管理
GET /ai-reply/{cookie_id}
- 获取AI配置POST /ai-reply/{cookie_id}
- 保存AI配置POST /ai-reply/{cookie_id}/test
- 测试AI回复
商品管理
GET /items
- 获取所有商品GET /items/cookie/{cookie_id}
- 获取指定账号商品PUT /items/{cookie_id}/{item_id}
- 更新商品详情
系统监控
GET /health
- 健康检查GET /logs
- 获取系统日志GET /logs/stats
- 日志统计信息
完整API文档访问:http://localhost:8080/docs
🏗️ 项目结构
xianyu-auto-reply/
├── Start.py # 项目启动入口
├── XianyuAutoAsync.py # 闲鱼WebSocket客户端
├── reply_server.py # FastAPI Web服务器
├── config.py # 配置管理
├── cookie_manager.py # Cookie账号管理
├── db_manager.py # 数据库管理
├── ai_reply_engine.py # AI回复引擎
├── file_log_collector.py # 文件日志收集器
├── bargain_demo.py # 议价功能演示
├── global_config.yml # 全局配置文件
├── requirements.txt # Python依赖
├── Dockerfile # Docker镜像构建
├── docker-compose.yml # Docker编排配置
├── deploy.sh # 部署脚本
├── static/ # 前端静态文件
│ ├── index.html # 主页面
│ ├── login.html # 登录页面
│ └── xianyu_js_version_2.js # 前端逻辑
├── utils/ # 工具模块
│ ├── xianyu_utils.py # 闲鱼工具函数
│ ├── message_utils.py # 消息处理工具
│ └── ws_utils.py # WebSocket工具
├── nginx/ # Nginx配置
├── docs/ # 文档目录
└── backups/ # 备份目录
🤝 贡献指南
我们欢迎任何形式的贡献!请查看 CONTRIBUTING.md 了解详细的贡献指南。
快速开始贡献
- Fork 项目到你的GitHub账号
- 克隆项目到本地开发环境
- 创建分支进行功能开发或问题修复
- 提交代码并创建Pull Request
贡献类型
- 🐛 问题报告:发现bug或提出改进建议
- 💡 功能建议:提出新功能想法
- 🔧 代码贡献:修复问题或开发新功能
- 📚 文档改进:完善文档和说明
- 🧪 测试用例:添加或改进测试
详细信息请参考:贡献指南
💬 社区交流
加入我们的交流群
微信交流群 | QQ交流群 |
---|---|
扫码加入微信群 | 扫码加入QQ群 |
交流内容
- 💡 功能讨论:新功能建议和讨论
- 🐛 问题求助:使用过程中遇到的问题
- 📚 经验分享:使用技巧和最佳实践
- 🔄 版本更新:最新版本发布通知
- 🤝 合作交流:开发合作和技术交流
群规说明
- 请保持友善和尊重的交流氛围
- 优先使用搜索功能查找已有答案
- 提问时请提供详细的问题描述和环境信息
- 欢迎分享使用经验和改进建议
📄 许可证
本项目采用 MIT 许可证,详情请查看 LICENSE 文件。
📋 更新日志
查看 CHANGELOG.md 了解详细的版本更新历史。
🙏 致谢
感谢所有为这个项目做出贡献的开发者和用户!
特别感谢
- 所有提交代码的贡献者
- 提供问题反馈的用户
- 完善文档的志愿者
- 推广项目的支持者
技术支持
🔧 核心模块说明
Start.py - 项目启动入口
- 初始化文件日志收集器
- 创建和管理 CookieManager
- 启动 FastAPI Web服务器
- 加载配置文件和环境变量中的账号
XianyuAutoAsync.py - 闲鱼WebSocket客户端
- 维持与闲鱼服务器的WebSocket连接
- 处理消息接收和发送
- 自动刷新token和维持心跳
- 商品信息获取和处理
- 自动回复逻辑处理
reply_server.py - FastAPI Web服务器
- 提供Web管理界面
- RESTful API接口
- 用户认证和权限控制
- 文件上传和下载
- 健康检查和监控
ai_reply_engine.py - AI回复引擎
- 多AI模型支持(通义千问、GPT等)
- 意图识别和分类
- 智能议价逻辑
- 对话历史管理
- 自定义提示词处理
db_manager.py - 数据库管理
- SQLite数据库操作
- 数据表结构管理
- 数据备份和恢复
- 事务处理和连接池
🎮 使用场景
个人卖家
- 自动客服:24小时自动回复买家咨询
- 智能议价:自动处理价格谈判,提高成交率
- 快速发货:自动发送卡券和虚拟商品
商家店铺
- 多账号管理:统一管理多个闲鱼账号
- 批量操作:批量设置关键词和回复规则
- 数据分析:查看消息统计和销售数据
代运营服务
- 客户隔离:为不同客户提供独立的账号管理
- 定制化配置:根据客户需求定制回复策略
- 监控报告:提供详细的运营数据报告
🔒 安全特性
数据安全
- 本地存储:所有数据存储在本地,不上传到第三方
- 加密传输:支持HTTPS和WSS加密传输
- 权限控制:基于JWT的用户认证系统
隐私保护
- Cookie加密:敏感信息加密存储
- 日志脱敏:自动过滤敏感信息
- 访问控制:IP白名单和访问频率限制
📈 性能优化
系统性能
- 异步处理:全异步架构,高并发处理能力
- 连接池:数据库连接池,提高数据库操作效率
- 缓存机制:智能缓存,减少重复请求
资源优化
- 内存管理:自动清理过期数据和缓存
- 日志轮转:自动清理过期日志文件
- 资源限制:Docker资源限制,防止资源滥用
🚨 故障排除
常见问题
Q: 系统启动失败? A: 检查以下项目:
- Python版本是否为3.11+
- 依赖包是否正确安装
- 端口8080是否被占用
- 配置文件是否存在
Q: WebSocket连接失败? A: 检查以下方面:
- 网络连接是否正常
- Cookie是否有效
- 防火墙设置
- 代理配置
Q: AI回复不工作? A: 检查以下配置:
- AI API密钥是否正确
- API地址是否可访问
- 账户余额是否充足
- 网络连接是否稳定
日志查看
# 查看实时日志
docker-compose logs -f
# 查看特定服务日志
docker-compose logs xianyu-app
# 查看系统日志文件
tail -f logs/xianyu_$(date +%Y-%m-%d).log
🤝 贡献指南
我们欢迎任何形式的贡献!请查看 CONTRIBUTING.md 了解详细的贡献指南。
快速开始贡献
- Fork 项目到你的GitHub账号
- 克隆项目到本地开发环境
- 创建分支进行功能开发或问题修复
- 提交代码并创建Pull Request
贡献类型
- 🐛 问题报告:发现bug或提出改进建议
- 💡 功能建议:提出新功能想法
- 🔧 代码贡献:修复问题或开发新功能
- 📚 文档改进:完善文档和说明
- 🧪 测试用例:添加或改进测试
开发规范
- 遵循 PEP 8 代码风格
- 使用 Conventional Commits 提交规范
- 为新功能添加相应的测试用例
- 更新相关文档和说明
详细信息请参考:贡献指南
📄 许可证
本项目采用 MIT 许可证,详情请查看 LICENSE 文件。
<EFBFBD> 更新日志
查看 CHANGELOG.md 了解详细的版本更新历史。
<EFBFBD>🙏 致谢
感谢所有为这个项目做出贡献的开发者和用户!
特别感谢
- 所有提交代码的贡献者
- 提供问题反馈的用户
- 完善文档的志愿者
- 推广项目的支持者
技术支持
Description
Languages
Python
54.2%
HTML
42.4%
JavaScript
2.2%
Shell
0.8%
Dockerfile
0.4%