Skip to content

Repository files navigation

Xianyu AutoAgent - 闲鱼智能客服管理系统

专为闲鱼平台打造的 AI 值守解决方案,实现闲鱼平台 7x24 小时自动化值守,支持多专家协同决策、智能议价和上下文感知对话,并提供完整的 Web 管理后台。

项目结构

├── main.py                 # 闲鱼机器人核心(WebSocket 连接闲鱼 IM)
├── api_server.py           # Web 管理后台 API 服务器(Flask + WebSocket)
├── XianyuAgent.py          # AI 客服核心引擎(意图识别 + 多专家路由)
├── XianyuApis.py           # 闲鱼平台 API 封装
├── context_manager.py      # 会话上下文管理器
├── utils/                  # 工具函数
│   └── xianyu_utils.py     # 加密、Cookie 解析等工具
├── prompts/                # 提示词模板
│   ├── classify_prompt_example.txt   # 意图分类
│   ├── price_prompt_example.txt      # 价格专家
│   ├── tech_prompt_example.txt       # 技术专家
│   └── default_prompt_example.txt    # 默认回复
├── web-admin/              # Web 管理后台(Vue3 + Element Plus)
│   ├── src/
│   │   ├── views/          # 页面组件
│   │   │   ├── Dashboard.vue   # 数据概览
│   │   │   ├── Chat.vue        # 对话监控
│   │   │   ├── Accounts.vue    # 账号管理(含扫码登录)
│   │   │   ├── Config.vue      # 系统配置
│   │   │   ├── Prompts.vue     # 提示词管理
│   │   │   ├── Logs.vue        # 日志查看
│   │   │   ├── Users.vue       # 用户管理
│   │   │   ├── Layout.vue      # 布局框架
│   │   │   └── Login.vue       # 登录页
│   │   ├── api/            # API 接口封装
│   │   ├── router/         # 路由配置
│   │   ├── store/          # Pinia 状态管理
│   │   └── components/     # 公共组件
│   ├── package.json
│   └── vite.config.js
├── .env.example            # 环境变量示例
├── Dockerfile              # Docker 构建配置(单容器)
├── docker-compose.yml      # Docker Compose 配置
├── nginx.conf              # Nginx 配置(前端 8100 + API 反向代理)
├── start.sh                # 容器启动脚本
├── requirements.txt        # Python 依赖
└── LICENSE

核心特性

智能对话引擎

功能模块 技术实现 关键特性
上下文感知 会话历史存储 轻量级对话记忆管理,完整对话历史作为 LLM 上下文输入
专家路由 LLM Prompt + 规则路由 基于提示工程的意图识别 -> 专家 Agent 动态分发,支持议价/技术/客服多场景切换
防爆破 意图过滤 自动识别并忽略提示词注入、角色假设等攻击行为

业务功能矩阵

模块 已实现 说明
AI 自动回复 基于 DeepSeek 大模型,支持多专家协同
阶梯议价 价格专家自动处理砍价,梯度让步策略
技术咨询 技术专家解答商品参数和功能问题
人工接管 发送句号切换人工/AI 模式,支持超时自动恢复
模拟人工 可配置的输入延迟,模拟真人打字节奏
扫码登录 Web 端扫码获取 Cookie,自动填充
多账号管理 支持多个闲鱼账号同时值守
Web 管理后台 完整的管理界面,数据可视化
实时日志 WebSocket 推送,实时监控机器人运行状态
实时对话 WebSocket 推送,实时查看买家对话

Web 管理后台

模块 功能
数据概览 统计卡片、消息趋势图、类型分布饼图、实时会话、系统状态
对话监控 实时会话列表、聊天记录、人工/AI 接管切换
账号管理 多账号 CRUD、Cookie 管理、扫码登录、运行状态控制
系统配置 模型配置(DeepSeek)、行为设置、通知设置、安全设置
提示词管理 4 类提示词在线编辑,与后端模板文件完全对齐
日志查看 WebSocket 实时日志流、级别筛选、日期筛选、导出
用户管理 管理员/普通用户角色、密码重置、状态控制

快速开始

环境要求

  • Python 3.10+
  • Node.js 20+(仅开发 Web 管理后台需要)
  • Docker & Docker Compose(推荐部署方式)

方式一:Docker 部署(推荐)

单容器部署,同时运行闲鱼机器人、API 服务器和前端管理后台。

# 克隆仓库
git clone https://github.com/ddonggit/xianyu-bot.git
cd xianyu-bot

# 配置环境变量
cp .env.example .env
vim .env

编辑 .env 文件,填写必填项:

# ========== 必填配置 ==========
API_KEY=sk-your_deepseek_api_key_here
COOKIES_STR=cookie2=xxx; _tb_token_=xxx; sgcookie=xxx

# ========== 可选配置 ==========
MODEL_BASE_URL=https://api.deepseek.com
MODEL_NAME=deepseek-chat

获取 Cookie:在闲鱼网页端按 F12 打开开发者工具,选择 Network,点击任意请求,从 Headers 中复制 Cookie。

获取 API Key:前往 DeepSeek 开放平台 注册并创建 API Key。

# 构建并启动(默认端口 8100/8150)
docker compose up -d --build

# 或使用自定义端口
FRONTEND_PORT=8080 API_PORT=8081 docker compose up -d --build

访问地址:

方式二:本地开发部署

1. 启动后端 API 服务器

# 安装 Python 依赖
pip install -r requirements.txt

# 配置环境变量
cp .env.example .env
# 编辑 .env 填写 API_KEY 和 COOKIES_STR

# 启动 API 服务器(端口 8150)
python api_server.py

2. 启动闲鱼机器人(可选)

# 在另一个终端启动机器人
python main.py

3. 启动前端开发服务器

cd web-admin

# 安装依赖
npm install

# 开发模式(端口 3000,自动代理 API 到 8150)
npm run dev

访问 http://localhost:3000

端口说明

服务 默认端口 说明
前端 (Nginx) 8100 Web 管理后台页面
API 服务器 8150 REST API + WebSocket
前端开发服务器 3000 Vite 开发模式

自定义提示词

可以通过编辑 prompts/ 目录下的文件来自定义各个专家的提示词:

文件 用途 说明
classify_prompt.txt 意图分类 识别买家消息的意图类型(price/tech/default/no_reply)
price_prompt.txt 价格专家 处理价格咨询和议价谈判
tech_prompt.txt 技术专家 解答商品技术参数和功能问题
default_prompt.txt 默认回复 通用客服回复模板

也可以通过 Web 管理后台的「提示词管理」页面在线编辑。

技术栈

后端

  • Python 3.10+ - 核心运行时
  • Flask - Web 框架
  • Flask-SocketIO - WebSocket 实时通信
  • Flask-JWT-Extended - JWT 认证
  • OpenAI SDK - LLM 调用(兼容 DeepSeek API)
  • WebSockets - 闲鱼实时消息通信
  • Loguru - 日志管理
  • python-dotenv - 环境变量管理

前端(Web 管理后台)

  • Vue 3 - 渐进式 JavaScript 框架
  • Vite - 下一代前端构建工具
  • Element Plus - Vue 3 UI 组件库
  • Pinia - 状态管理
  • Vue Router - 路由管理
  • ECharts - 数据可视化图表
  • Socket.IO Client - WebSocket 实时通信
  • qrcode.vue - 二维码生成组件
  • Axios - HTTP 请求库

配置说明

模型配置

配置项 环境变量 默认值 说明
API Key API_KEY - DeepSeek API 密钥
模型地址 MODEL_BASE_URL https://api.deepseek.com API 服务地址
模型名称 MODEL_NAME deepseek-chat 使用的模型名称

行为配置

配置项 环境变量 默认值 说明
接管关键词 TOGGLE_KEYWORDS 发送该关键词切换人工/AI 模式
模拟人工输入 SIMULATE_HUMAN_TYPING False 是否模拟真人打字延迟
心跳间隔 HEARTBEAT_INTERVAL 15 WebSocket 心跳间隔(秒)
消息过期时间 MESSAGE_EXPIRE_TIME 300000 过期消息丢弃时间(毫秒)
人工接管超时 MANUAL_MODE_TIMEOUT 3600 人工接管自动恢复时间(秒)

Docker 配置

配置项 环境变量 默认值 说明
前端端口 FRONTEND_PORT 8100 Nginx 对外端口
API 端口 API_PORT 8150 API 服务器对外端口

致谢

本项目基于 shaxiu/XianyuAutoAgent 开发,感谢原作者的开源贡献。

许可证

GPL-3.0 License

About

闲鱼智能客服管理系统

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages