Usagi-org/ai-goofish-monitor
效率与系统工具用 Playwright 抓取闲鱼商品,再由多模态模型按自定义标准筛选并通过 Web 界面管理监控任务。
项目介绍
这个项目定时或实时监控闲鱼商品:Playwright 驱动浏览器搜索商品、抓取详情和卖家信息、下载商品图片,再调用支持图片输入的 OpenAI 兼容模型,按用户设定的标准判断是否值得推荐,命中后通过通知渠道推送。后端是 FastAPI,前端是带任务管理、账号管理、提示词编辑、日志和结果浏览的 Web 界面,适合想持续跟踪某类闲鱼商品、又不想手动刷 App 的用户。
任务支持价格区间、发布时间、包邮、省/市/区三级区域等筛选条件;多个任务可并发运行,各自绑定关键词、筛选条件、账号和 AI Prompt。除 AI 判断外,也可以只用关键词规则。调度使用 Cron,通知可选 ntfy.sh、企业微信、Bark、Telegram、Gotify 或 Webhook。账号和代理都支持轮换,任务连续失败达到阈值后会暂停。
快速使用
推荐用 Docker 部署。克隆仓库、复制环境变量文件、填好必填项后启动:
git clone https://github.com/Usagi-org/ai-goofish-monitor && cd ai-goofish-monitor
cp .env.example .env
vim .env
docker compose up -d
docker compose logs -f app
最少需要配置 OPENAI_API_KEY、OPENAI_BASE_URL 和 OPENAI_MODEL_NAME,模型必须支持图片输入。WEB_USERNAME 和 WEB_PASSWORD 默认是 admin/admin123,对外暴露前应修改。如果拉取 ghcr.io 镜像缓慢,README 提供了改用镜像仓库标签的替代命令。
打开 http://127.0.0.1:8000 登录,进入闲鱼账号管理,用 Chrome 扩展导出闲鱼登录态 JSON 并粘贴,文件会保存到 state/(如 state/acc_1.json)。随后在任务管理中创建任务、绑定账号并运行。AI 模式填写详细需求后,系统在后台生成分析标准并显示进度弹窗;关键词模式直接创建任务,不经过 AI 生成。区域筛选会大幅缩小结果集,初次验证市场时建议留空。
本地开发需要 Python 3.10+、Node.js/npm 以及 Playwright 和 Chromium;./start.sh 会先检查这些前置条件,再安装依赖、构建前端并启动后端。API 文档位于 http://localhost:8000/docs。
使用约束
AI 分析依赖可用的 OpenAI 兼容接口和支持视觉输入的模型,没有有效的 Key 和模型名就无法运行。Docker 镜像已内置 Chromium,宿主机无需另装浏览器;本地运行则需要安装 Playwright 浏览器以及 Chrome/Edge/Chromium。容器内 RUN_HEADLESS 应保持 true,且镜像未内置 Edge,LOGIN_IS_EDGE 不会生效。
数据主要存放在 SQLite 的 data/app.sqlite3,state/、prompts/、logs/、images/ 仍保留在文件系统中。启动时会自动建库建表,并尝试从旧的 config.json、jsonl/、price_history/ 导入一次历史数据。若修改 .env 中的 SERVER_PORT,需要同步调整 docker-compose.yaml 的端口映射。
抓取依赖有效的闲鱼登录态,登录态过期、平台风控或 AI 调用失败都会导致任务异常,日志页可用于排查这些问题。项目要求遵守闲鱼用户协议和 robots 规则,不要过高频请求;代码以 MIT 许可证发布,并附带单独的免责声明,定位为学习和研究用途。
HotRepo 点评
在 2026-11-03 的 GitHub 全部语言日榜上,该项目最高排到第 9,当日新增 204 Star,总 Star 约 1.6 万、Fork 约 2,800。目前只有单次榜单记录,能说明当天热度较高,不足以判断长期趋势。README 展示的完整 Web 管理界面、内置 Chromium 的 Docker 部署、多账号与代理轮换、用自然语言生成 AI 判断标准,确实比裸爬虫降低了配置门槛;但系统能否发挥作用仍取决于闲鱼登录态是否有效、视觉模型接口是否可用,而抓取的稳定性又受平台策略影响。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。