zhinianboke/xianyu-auto-reply 是一个面向闲鱼场景的自动化管理系统。它不是一个只有几行规则的自动回复脚本,而是把账号管理、消息收发、自动回复、AI 回复、自动发货、商品发布、订单处理和后台管理都放在一起的完整 Web 系统。
如果你只是想给闲鱼消息加几个关键词回复,它可能有点重;如果你同时在做虚拟商品、卡券发货、多账号管理、自动评价和商品发布,它的功能覆盖就比较完整了。
这个项目能做什么
从项目 README 看,主系统主要覆盖这些模块:
- 多账号管理:支持多个闲鱼账号登录、状态切换、Cookie 维护和登录续期;
- 自动回复:支持文本关键词、图片关键词、默认回复和商品专属回复;
- AI 回复:支持接入大模型做上下文对话和智能回复;
- 自动发货:支持卡券、虚拟商品、自动补发和发送记录;
- 在线聊天:提供会话列表、消息收发和聊天联动;
- 商品发布:支持素材库、地址库、单品发布、批量发布和发布日志;
- 订单与评价:支持订单拉取、自动评价、求小红花和状态跟踪;
- 商品采集与分销:包含 Goofish 采集、货源管理和结算链路;
- 通知与风控:包含消息通知、风控日志、系统反馈和公告管理。
项目里还有一个 promotion 返佣子系统,用来管理返佣账号、选品规则、素材库、发布规则、删除规则和补偿任务。不过 README 也说明,根目录的 Docker Compose 默认只覆盖主系统,返佣子系统需要单独启动。
技术栈和系统结构
这个项目的技术栈比较典型:
- 后端:FastAPI、SQLAlchemy 2.0、Loguru;
- 数据库:MySQL 8.0;
- 缓存和任务辅助:Redis 7;
- 浏览器自动化:Playwright、Chromium / Chrome;
- 定时任务:APScheduler;
- 前端:React 18、TypeScript、Vite、TailwindCSS、Zustand、Lucide React;
- 部署:Docker、Docker Compose、Nginx。
服务拆分也比较清楚:
| 服务 | 默认端口 | 作用 |
|---|---|---|
frontend |
9000 |
主系统前端 |
backend-web |
8089 |
主系统 API 网关和业务接口 |
websocket |
8090 |
闲鱼 WebSocket、消息收发、登录和订单联动 |
scheduler |
8091 |
自动发货、评价、订单拉取、Cookie 刷新等定时任务 |
promotion/backend |
8092 |
返佣后端 API |
promotion/frontend |
9001 |
返佣前端 |
主系统的依赖关系大致是:
|
|
也就是说,它不是单容器应用。部署前最好先确认服务器端口、内存、数据库持久化和反向代理都安排好了。
服务器部署方式
项目推荐用 Docker 和 Docker Compose 部署。服务器需要先安装:
- Docker 20.10+
- Docker Compose 2.0+
- 最低 2 核 CPU / 4GB 内存
- 推荐 4 核 CPU / 8GB 内存
README 给出的一键部署命令是:
|
|
更新命令是:
|
|
如果你更想自己看清楚脚本内容,可以先克隆仓库再部署:
|
|
首次运行会自动生成 .env 配置文件和 docker-compose.deploy.yml,并拉取预构建镜像启动服务。部署完成后,默认访问地址通常是:
- 前端:
http://服务器IP:9000 - API 文档:
http://服务器IP:8089/docs - 默认账号:
admin/admin123
这里有个很现实的建议:不要在生产服务器上直接盲跑远程脚本。至少先在测试机跑一遍,或者把脚本下载下来检查清楚。它会创建配置、拉镜像、清理旧容器和启动服务,权限范围不算小。
本地源码构建
如果你想从源码构建,可以在仓库根目录执行:
|
|
常用命令包括:
| 命令 | 说明 |
|---|---|
bash build.sh rebuild |
删除旧容器与镜像,重新构建并启动 |
bash build.sh start |
启动服务 |
bash build.sh stop |
停止服务 |
bash build.sh restart |
重启服务 |
bash build.sh logs |
查看实时日志 |
bash build.sh status |
查看服务状态 |
也可以单独重建某个服务:
|
|
源码开发时还需要准备 Python 3.11+、Node.js 18+、MySQL、Redis 和 Chromium / Chrome。后端服务里用到了 Playwright,如果登录或发布时报浏览器缺失,需要执行:
|
|
部署后必须先改的东西
这个项目默认管理员账号是:
|
|
部署完成后第一件事就是改密码。只要前端端口暴露在公网,默认密码就等于把后台交出去。
还要重点检查这些配置:
CORS_ORIGINS:生产环境不要直接用*;BACKEND_WEB_PUBLIC_URL:用于生成对外文件 URL,反向代理后要填正确;- HTTPS:外网访问最好走 HTTPS;
- MySQL 数据卷:自动发货、商品、订单、账号状态都在里面,必须备份;
- 静态资源目录:涉及图片、素材、文件 URL,也要纳入备份;
- Playwright 浏览器环境:自动登录、Cookie 刷新、发布功能都依赖它。
如果只是自己内网测试,可以先用局域网 IP 访问;如果要公网使用,建议放在反向代理后面,并限制管理后台访问范围。
适合谁用
这个项目更适合这些人:
- 有多个闲鱼账号,需要统一看消息和状态;
- 做虚拟商品或卡券,需要自动发货和补发记录;
- 经常重复回答同类问题,希望用关键词或 AI 回复减轻工作量;
- 有一定服务器和 Docker 使用经验;
- 能接受自己维护 MySQL、Redis、容器日志和备份;
- 明白平台规则风险,不打算拿它做违规刷量或骚扰。
它不太适合完全零基础用户。系统功能多,也意味着部署、配置、排错和风控都要自己负责。
风险和边界
闲鱼自动化这类工具,真正要注意的不是“能不能跑”,而是“跑起来之后会不会出事”。
至少有几个风险要提前想清楚:
- 平台规则风险:自动回复、自动发布、自动发货都可能触碰平台风控;
- 账号风险:Cookie 维护、WebSocket 连接和浏览器自动化都可能导致账号异常;
- 数据风险:账号信息、订单、聊天记录、发货素材都要保护好;
- 安全风险:后台、API 文档、数据库端口不要随便暴露公网;
- 合规风险:README 明确写了项目仅供学习研究使用,并提示不要用于违反平台规则的行为。
另外,这个项目采用 AGPL-3.0 许可证,README 里还特别写了“禁止商业用途”。如果你要二次开发、部署给别人用,或者放进商业流程里,最好先认真看 LICENSE 和 README 的限制,别只看功能列表。
小结
zhinianboke/xianyu-auto-reply 的定位更像一个闲鱼自动化后台,而不是简单自动回复脚本。它的优点是功能覆盖广,主系统包含账号、聊天、回复、发货、发布、订单和风控日志;技术栈也比较现代,Docker 部署路径相对清楚。
但它的门槛也不低。你需要会部署服务、管理数据库、处理 Playwright 环境、修改默认账号、配置反向代理和备份数据。更重要的是,闲鱼自动化本身有平台规则和账号风控风险。
我的建议是:先在测试环境跑通主系统,只接一个低风险账号,确认回复、发货和订单流程稳定后,再考虑是否扩大使用范围。不要一上来就把多个重要账号和真实交易都接进去。