基于 Playwright + FastAPI 的闲鱼商品监控与采集系统,支持多任务调度、Web 管理界面、结果存储与查询,可选接入 AI 评估与多种通知方式。
./
├── src/ # Python 后端
├── webui/ # Vue 3 前端UI
├── resources/ # 前端构建产物
├── tests/ # Python unittest
├── dev.py # 一键开发
└── docker-compose.yml # Docker Compose
说明:webui/ 是子模块。首次拉取建议使用 --recurse-submodules,或执行 git submodule update --init --recursive。
- 多任务并行监控与定时调度
- 支持关键词、页数、价格区间、个人闲置等筛选条件
- 采集商品信息与卖家资料
- FastAPI 提供任务/结果/系统/AI/通知配置等管理接口
- Web 管理界面:任务管理、运行状态、结果查看
- AI 商品评估器:分步评估 + 阈值提前结束(减少 Token)+ 支持所有AI配置
- 通知:ntfy / gotify / 企业微信 webhook
- Docker 一键部署
商品评估器会对每个新抓取到的商品进行分步评估。
- 分步评估流程:标题过滤 → 商品详情(可信度/符合度)→ 卖家画像(可信度)→(可选)图片一致性/风险信号 → 汇总结论
- 支持“提前结束”:任一步骤低于阈值即终止后续评估,减少无效 AI 调用
- 可通过 webui 配置步骤阈值
flowchart LR
A[抓取到新商品] --> B{"Step1 标题过滤<br/>建议度 >= step1.threshold?"}
B -->|否| X["提前结束<br/>输出最终结论"]
B -->|是| C{"Step2 商品详情评估<br/>建议度 >= step2.threshold?"}
C -->|否| X
C -->|是| D{"Step3 卖家评估<br/>建议度 >= step3.threshold?"}
D -->|否| X
D -->|是| E{"Step4 图片评估<br/>imageAI 已配置且未禁用?"}
E -->|否| F[Step5 汇总/总结]
E -->|是| G{"建议度 >= step4.threshold?"}
G -->|否| X
G -->|是| F
F --> H[输出: 推荐度/建议/原因]
X --> H
{
"evaluator": {
"enabled": true,
"textAI": "openai-gpt-4",
"imageAI": null,
"steps": {
"step1": { "threshold": 30 },
"step2": { "threshold": 50 },
"step3": { "threshold": 50 },
"step4": { "threshold": 50, "disabled": false }
}
}
}- 可通过 WebUI 的
系统设置→商品评估器设置配置开关、文本/图像模型、每一步阈值与禁用开关
- 评估器是“多步多次调用 AI”的流水线:每多跑一步,就会额外产生该步的输入/输出 token
- 通过
threshold做 gate(低于阈值就提前结束),可以跳过后续步骤的 AI 调用,从而减少整体 token、成本与延迟
更完整的一键开发说明见 QUICKSTART.md。
# 部署
docker run -d -p 8000:8000 -v ~/config/ai-goofish:/app/data --name ai-goofish justads/ai-goofish:latest
# 更新
docker pull justads/ai-goofish:latest \
&& docker stop ai-goofish \
&& docker rm ai-goofish \
&& docker run -d -p 8000:8000 \
-v ~/config/ai-goofish:/app/data \
--name ai-goofish \
justads/ai-goofish:latest- 拉取代码
git clone https://github.com/just-ads/ai-goofish.git
cd ai-goofish- (可选)创建
.env
cp .env.example data/.env- 启动
docker compose up --build -d访问:http://127.0.0.1:8000
使用一键脚本启动前后端开发服务器:
python dev.py- 后端:
http://127.0.0.1:8000 - 前端:
http://127.0.0.1:5173
- 安装后端依赖
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/macOS
# source .venv/bin/activate
pip install -r requirements.txt
playwright install- 启动后端
python start.py- 前端开发
cd webui
npm install
npm run dev- 构建前端到
resources/
cd webui
npm run build配置文件目录为 data/
示例见 .env.example,主要用于基础服务配置:
SERVER_PORT:服务端口(默认 8000)WEB_USERNAME/WEB_PASSWORD:Web 登录用户名/密码(默认 admin/admin)
注意:生产环境务必修改默认密码。
可用示例:
cp app.example.config data/app.config可用示例:
cp ai.example.config data/ai.config可用示例:
cp notifier.example.config data/notifier.configpython -m unittest discover tests/以下文件/目录通常包含运行时数据或敏感信息,不建议提交到版本库:
data/*
本系统/平台/软件(以下简称“本服务”)所提供的内容、资料及相关信息,仅供参考与学习使用。使用者在使用本服务时,应自行判断其适用性与风险。
本服务尽力确保所提供的信息完整、准确,但不对其及时性、可靠性或适用性作出任何保证。使用者应在依赖前进行独立验证。
因使用或无法使用本服务所导致的任何直接或间接损失、数据丢失、系统故障或其他后果,本服务提供方均不承担任何责任。
本服务可能包含第三方提供的链接、接口或资源,本服务对其内容或使用结果不作任何保证或承诺。
使用者在使用本服务时,应遵守所在地相关法律法规,若因使用不当而违反法律规定,责任由使用者自行承担。
本服务有权随时修改或更新本免责声明,修改后的内容一经公布即刻生效。




