闲鱼智能监控机器人:开源 AI 闲鱼多任务实时监控工具,可视化管理与精准筛选

原创 发布日期:
4

一、闲鱼智能监控机器人是什么?

闲鱼智能监控机器人(ai-goofish-monitor)是一款基于Playwright和多模态AI模型开发的开源工具,专为闲鱼平台二手商品检索设计。它通过可视化Web界面实现多任务实时监控,支持自然语言创建复杂筛选规则,结合商品图文与卖家画像进行深度AI分析,精准筛选符合需求的商品,并通过多渠道即时推送通知。工具支持本地部署与Docker一键部署,具备高度可定制性、健壮的反爬策略和完善的任务管理功能,有效解决闲鱼平台商品信息杂乱、筛选效率低的痛点,适用于个人采购、商家货源挖掘等多种场景,全程无需复杂命令行操作,新手也能快速上手。

在闲鱼平台中,用户寻找二手商品时常常面临三大痛点:一是商品信息更新快,手动刷新易错过优质货源;二是筛选条件有限,难以通过平台自带功能实现“95新以上+无拆修+卖家信用极好”等复杂需求;三是信息杂乱,需花费大量时间甄别商品真实性与性价比。闲鱼智能监控机器人正是针对这些痛点设计,通过自动化爬虫实时抓取商品数据,利用AI模型解析商品图文、评估卖家可信度,最终只将符合用户需求的优质商品推送给用户,大幅提升二手商品检索效率,降低时间成本。

该项目采用MIT开源许可证发布,代码完全公开,支持用户根据自身需求二次开发,同时提供本地部署和Docker容器化部署两种方式,兼容Windows、Linux、MacOS等多种操作系统,既满足个人用户的轻量使用需求,也适配开发者的定制化场景。

闲鱼智能监控机器人:开源 AI 闲鱼多任务实时监控工具,可视化管理与精准筛选

二、功能特色

闲鱼智能监控机器人的核心优势在于“AI驱动+可视化+高灵活性”,其功能特色覆盖从任务创建到结果接收的全流程,具体如下:

1. 可视化Web管理界面,零命令行门槛

工具提供完整的Web UI操作界面,无需直接编辑配置文件或执行命令行,所有操作均可通过浏览器完成,新手友好度极高。界面主要包含四大核心模块:

  • 任务管理:支持任务的创建、编辑、启动/停止、删除,可直观查看每个任务的关键词、价格范围、运行状态等核心信息;

  • 结果查看:以图文卡片形式展示筛选后的商品,支持“仅看AI推荐”筛选、按爬取时间/价格排序,点击可查看商品完整数据与AI分析详情;

  • 运行日志:实时展示爬虫运行状态、AI分析结果、通知发送记录等,支持自动刷新、手动刷新和一键清空,方便问题排查;

  • 系统设置:包含环境配置检查、登录状态更新、AI分析指令(Prompt)在线编辑等功能,无需修改代码即可调整工具核心逻辑。

2. AI驱动的任务创建,自然语言转复杂规则

无需学习复杂的筛选语法,只需用自然语言描述购买需求,AI即可自动生成对应的监控规则和分析标准。例如:

  • 用户输入:“我想买一台95新以上的索尼A7M4相机,预算1万3以内,快门数低于5000,卖家信用极好且支持邮寄”;

  • AI自动转化为:关键词“索尼A7M4”、价格范围“0-13000”、筛选条件“95新、无拆修、快门数<5000”、AI分析标准“卖家信用极好、支持邮寄”。

同时,用户也可在AI生成的基础上手动调整参数,实现“AI辅助+人工微调”的灵活配置。

3. 多任务并发监控,独立运行互不干扰

支持通过配置文件或Web界面创建多个监控任务,每个任务可设置独立的关键词、价格范围、筛选条件、AI分析规则和定时计划,任务之间完全隔离,互不影响。例如:

  • 任务1:监控“MacBook Air M1”,价格3000-5000元,筛选“个人闲置”;

  • 任务2:监控“DJI Mini 3 Pro”,价格3500-4500元,筛选“无维修记录”;

  • 任务3:监控“babycare婴儿车”,价格500-1000元,筛选“9成新以上”。

所有任务可同时运行,也可单独启停,满足用户多维度的采购需求。

4. 实时流式处理+深度AI分析,筛选精准度高

工具采用实时流式处理机制,爬虫发现新商品后立即触发分析流程,无批处理延迟,确保用户第一时间获取优质货源。AI分析模块具备三大核心能力:

  • 多模态解析:同时处理商品标题、描述文本和商品图片,避免单一文本分析的局限性(如识别图片中的设备磨损、配件完整性);

  • 卖家画像评估:分析卖家信用等级、历史交易记录、发布内容风格,判断是否为个人闲置卖家或专业商家,规避诈骗风险;

  • 自定义筛选规则:支持用户编辑AI分析指令(Prompt),例如设置“一票否决条件”(如卖家信用未达“极好”则直接不推荐)、“优先推荐条件”(如电池健康度100%则重点推荐)。

AI分析后会给出“推荐”“有条件推荐”“不推荐”三种结果,并附上详细理由,方便用户快速决策。例如:

  • 推荐理由:“卖家画像为顶级个人玩家,设备状况极佳,电池健康度100%,无维修历史,支持邮寄,信用极好”;

  • 有条件推荐理由:“卖家声明无拆修,商品参数符合需求,需购买前确认电池健康度”;

  • 不推荐理由:“卖家信用等级为‘优秀’,未达到‘极好’的硬性要求”。

5. 多渠道即时通知,不错过优质货源

支持通过多种渠道推送AI推荐的商品信息,用户可根据自身习惯选择配置:

  • 手机端:Bark推送(iOS/Android)、企业微信群机器人;

  • 桌面端:ntfy.sh通知、Gotify推送;

  • 自定义渠道:通用Webhook(支持GET/POST请求,可对接自有系统)。

通知内容包含商品标题、价格、核心参数、AI推荐理由和商品链接,点击链接可直接跳转闲鱼查看详情,实现“即时提醒+快速下单”的闭环。

6. 定时任务调度,灵活控制监控频率

支持通过Cron表达式为每个任务设置独立的定时执行计划,无需24小时持续运行,节省资源的同时确保监控覆盖关键时段。例如:

  • 配置“0 9-21 * * *”:每天9:00-21:00每小时监控一次;

  • 配置“*/30 * * * *”:每30分钟监控一次;

  • 配置“0 10,16 * * *”:每天10点和16点各监控一次。

对于需要实时监控的场景,也可设置为“无定时规则”,任务持续运行并实时抓取新商品。

7. Docker一键部署,跨平台兼容性强

提供完善的Docker和docker-compose配置,无需手动安装依赖、配置环境,只需执行一条命令即可完成部署,避免版本冲突问题。Docker部署支持:

  • 自动拉取适配的Python 3.11环境(无需担心本地Python版本兼容);

  • 打包所有依赖组件(Playwright浏览器、AI客户端、Web服务);

  • 支持后台运行、日志查看、容器启停等便捷操作。

同时,工具也支持本地部署(Python 3.10+),满足开发者调试或定制化需求。

8. 健壮的反爬策略,运行稳定可靠

针对闲鱼平台的反爬机制,工具设计了多重优化策略,确保爬虫长期稳定运行:

  • 模拟真人操作:随机设置页面加载延迟、点击间隔,避免固定行为被识别;

  • 无头模式可选:默认以无头模式运行浏览器,减少资源占用,调试时可切换为有头模式手动处理验证码;

  • 登录状态持久化:通过登录脚本或浏览器扩展提取登录状态,生成xianyu_state.json文件,无需频繁登录;

  • 错误重试机制:遇到网络波动或临时封禁时,自动重试任务,避免监控中断。

9. 高度可定制,适配多样化需求

工具的核心逻辑均可通过配置或代码调整,满足不同用户的定制化需求:

  • 任务配置:每个任务可独立设置关键词、价格范围、最大爬取页数、筛选条件;

  • AI模型替换:支持配置任意兼容OpenAI格式的多模态模型(如阿里云通义千问、火山方舟、Gemini等);

  • Prompt自定义:在线编辑AI分析指令,调整筛选逻辑(如增加“支持自提”“配件齐全”等要求);

  • 通知格式定制:通过Webhook配置自定义通知内容格式,适配自有系统的接收规则。

闲鱼智能监控机器人:开源 AI 闲鱼多任务实时监控工具,可视化管理与精准筛选

三、技术细节

1. 核心技术栈

技术类别 具体技术/工具 核心作用
开发语言 Python 3.10+ 核心逻辑开发、脚本编写
爬虫框架 Playwright 浏览器自动化、商品数据抓取、模拟登录
Web框架 FastAPI 构建Web管理界面、提供API接口
AI集成 多模态大语言模型(GPT-4o、Gemini-2.5-Pro等) 自然语言转任务规则、商品图文分析、卖家画像评估
任务调度 APScheduler 解析Cron表达式、实现定时任务调度
容器化 Docker、docker-compose 标准化部署、环境隔离、依赖管理
数据存储 JSONL文件 存储商品抓取记录、AI分析结果
认证机制 Basic认证 保护Web管理界面,防止未授权访问
通知服务 ntfy.sh、Bark、企业微信机器人、Webhook 多渠道消息推送

2. 核心模块架构

工具的核心架构分为五大模块,各模块协同工作,实现从任务启动到通知发送的全流程:

(1)Web服务模块(web_server.py)

  • 核心作用:提供Web管理界面、处理用户操作、协调其他模块工作;

  • 主要功能:

    • 前端页面渲染(基于templates和static目录的HTML/CSS/JS文件);

    • 接收用户操作(创建任务、启动/停止任务、编辑配置);

    • 提供API接口(任务管理、日志查询、配置更新);

    • Basic认证保护(验证Web界面访问权限)。

(2)爬虫模块(spider_v2.py、src/scraper.py)

  • 核心作用:根据任务配置抓取闲鱼商品数据和卖家信息;

  • 主要流程:

    1. 读取任务配置(关键词、价格范围、筛选条件、最大爬取页数);

    2. 模拟浏览器访问闲鱼搜索页面,执行搜索操作;

    3. 抓取商品列表页数据(商品标题、价格、发布时间、卖家昵称、商品链接);

    4. 进入商品详情页,抓取详细描述、商品图片URL、卖家信用等级、交易记录;

    5. 下载商品图片(用于AI分析);

    6. 检测是否为新商品(避免重复分析),将新商品数据传递给AI分析模块。

(3)AI分析模块(src/ai_handler.py、prompt_generator.py)

  • 核心作用:解析商品数据、评估商品符合度、生成推荐结果;

  • 主要流程:

    1. 接收爬虫模块传递的商品数据(文本描述、图片文件、卖家信息);

    2. 加载用户配置的AI分析指令(Prompt);

    3. 调用多模态AI模型API,传入商品数据和Prompt;

    4. 解析AI返回结果,提取“推荐状态”(推荐/有条件推荐/不推荐)和“推荐理由”;

    5. 将分析结果传递给通知模块和数据存储模块。

(4)通知模块(src/notification.py)

  • 核心作用:根据AI分析结果,通过指定渠道推送通知;

  • 支持渠道及配置要求:

    • ntfy.sh:需配置NTFY_TOPIC_URL;

    • Bark:需配置BARK_URL(格式:https://api.day.app/your_key);

    • 企业微信机器人:需配置WX_BOT_URL(Webhook地址,需用双引号包围);

    • Gotify:需配置GOTIFY_URL和GOTIFY_TOKEN;

    • 通用Webhook:支持GET/POST方法,可配置请求头、请求体(支持{{title}}{{content}}占位符)。

(5)配置与存储模块(src/config.py、src/task.py)

  • 核心作用:管理系统配置、任务配置、登录状态和数据存储;

  • 主要功能:

    • 读取.env文件中的环境变量(AI API密钥、代理配置、Web认证信息等);

    • 管理任务配置(config.json文件,存储任务关键词、价格范围等);

    • 持久化登录状态(xianyu_state.json文件,存储闲鱼登录会话信息);

    • 存储商品记录(JSONL文件,按任务分类存储商品数据和AI分析结果)。

3. 核心工作流程

工具的单个监控任务工作流程如下,支持多任务并行执行:

  1. 启动监控任务(手动启动或定时触发);

  2. 爬虫模块根据任务配置搜索闲鱼商品;

  3. 检测是否发现新商品:

    • 是:抓取商品详情、卖家信息,下载商品图片;

    • 否:执行翻页操作或等待下一次调度,返回步骤2;

  4. AI分析模块接收商品数据,调用多模态AI模型进行分析;

  5. 判断AI是否推荐该商品:

    • 是:通知模块通过配置的渠道发送通知;

    • 否:直接进入数据存储环节;

  6. 将商品数据和AI分析结果保存到JSONL文件;

  7. 返回步骤3,持续监控新商品。

4. 安全与反爬设计

  • Web界面安全:启用Basic认证,默认用户名admin、密码admin123,生产环境可通过.env文件修改,防止未授权访问;

  • 反爬策略:模拟真人操作(随机延迟、自然点击顺序)、支持无头模式运行(减少被识别风险)、可配置代理(PROXY_URL);

  • 数据安全:登录状态以文件形式本地存储,不传输至第三方;AI分析仅调用用户配置的API服务商,数据隐私可控;

  • 配置安全:.env文件包含API密钥等敏感信息,项目已配置.gitignore,避免误提交至代码仓库。

四、应用场景

闲鱼智能监控机器人的应用场景围绕“闲鱼二手商品检索”展开,覆盖个人、商家、专业采购等多种用户群体,具体如下:

1. 个人二手商品精准采购

适用人群:普通用户寻找高性价比二手商品(数码产品、母婴用品、家居家电等)。

  • 典型需求:

    • 购买95新以上的数码产品(如MacBook、相机、耳机),要求无拆修、电池健康度高;

    • 为宝宝购买二手母婴用品(如婴儿车、安全座椅),要求品牌正品、成色较新、无破损;

    • 寻找稀缺或停产商品(如老款相机镜头、绝版书籍),实时监控是否有卖家发布。

  • 工具价值:自动筛选符合需求的商品,避免手动刷新和信息甄别,节省时间,同时通过AI评估卖家信用,降低交易风险。

2. 数码产品爱好者淘货

适用人群:数码发烧友、摄影爱好者、游戏玩家等,追求高性价比的专业设备。

  • 典型需求:

    • 监控二手相机机身/镜头(如索尼A7M4、佳能RF 24-70mm),要求快门数低、无维修记录、配件齐全;

    • 寻找二手游戏主机(如PS5、Switch),要求在保、无ban机记录、价格低于全新机30%以上;

    • 淘二手高端耳机(如AirPods Pro、索尼WH-1000XM5),要求电池健康度80%以上、无进水痕迹。

  • 工具价值:支持复杂筛选条件(如快门数、电池健康度),通过AI分析商品图片和描述,识别设备真实状况,第一时间捕捉优质货源。

3. 二手商家货源挖掘

适用人群:二手商品回收商、电商商家,需要批量寻找低价优质货源。

  • 典型需求:

    • 监控特定品类商品(如iPhone 14、华为Mate 60),设置低价阈值(如低于市场价20%),批量获取货源;

    • 筛选个人闲置卖家发布的商品(避免与其他商家竞争),要求价格合理、成色较新;

    • 定时监控闲鱼热门品类,及时发现降价商品或急售商品(如卖家标注“急出”“随缘出”)。

  • 工具价值:多任务并发监控,支持定时调度,可同时监控多个品类,通过实时通知快速锁定低价货源,提升采购效率和利润空间。

4. 母婴用品安全筛选

适用人群:新手父母,关注母婴用品的安全性和成色。

  • 典型需求:

    • 监控知名品牌母婴用品(如babycare婴儿车、美德乐吸奶器),要求9成新以上、无破损、无异味;

    • 筛选个人卖家(避免商家翻新),要求卖家信用极好、有育儿相关发布记录;

    • 排除“海外版”“水货”等无售后保障的商品,仅保留国行正品。

  • 工具价值:通过AI分析商品描述和图片,识别是否有破损、翻新痕迹,同时评估卖家可信度,为母婴用品采购提供安全保障。

5. 专业设备精准查找

适用人群:自由职业者、小型工作室,需要采购高价值专业设备(如影视设备、设计工作站)。

  • 典型需求:

    • 监控二手影视设备(如大疆Ronin 4D、RED相机),要求功能正常、无碰撞痕迹、保修剩余6个月以上;

    • 寻找二手设计工作站(如Mac Pro、联想拯救者),要求配置达标(如16G内存、512G固态)、运行稳定;

    • 筛选支持自提的卖家,方便现场验机。

  • 工具价值:支持自定义AI分析规则(如“必须标注保修信息”“无碰撞痕迹”),通过多模态分析确保设备状况符合专业需求,同时节省筛选时间。

闲鱼智能监控机器人:开源 AI 闲鱼多任务实时监控工具,可视化管理与精准筛选

五、使用方法

闲鱼智能监控机器人提供两种部署方式:本地部署(适合开发者调试或定制化)和Docker部署(推荐,适合普通用户快速使用)。以下是详细步骤,确保通俗易懂,新手可轻松操作。

1. 前置准备

(1)基础环境要求

  • 本地部署:Python 3.10+(低于该版本可能导致依赖安装失败)、Chrome/Edge浏览器(用于登录闲鱼和爬虫运行);

  • Docker部署:Docker Engine(需提前安装,支持Windows、Linux、MacOS);

  • 通用要求:网络通畅(需访问闲鱼官网和AI模型API)、AI模型API密钥(如OpenAI、阿里云通义千问等支持多模态的模型)。

(2)必要资源获取

  • 项目代码:克隆GitHub仓库(命令:git clone https://github.com/Usagi-org/ai-goofish-monitor);

  • AI API密钥:从AI模型服务商获取(如OpenAI、火山方舟、Google Gemini等);

  • 通知渠道配置:根据需求准备(如Bark密钥、企业微信机器人Webhook等)。

2. 本地部署步骤(Python 3.10+)

步骤1:克隆项目并进入目录

打开命令行工具(Windows:CMD或PowerShell;Mac/Linux:Terminal),执行以下命令:

git clone https://github.com/Usagi-org/ai-goofish-monitor
cd ai-goofish-monitor

步骤2:安装依赖包

执行以下命令安装项目所需的Python依赖:

pip install -r requirements.txt

⚠️ 注意:如果安装失败,可能是Python版本过低或网络问题。建议升级Python至3.10+,国内用户可使用清华镜像源加速(添加 -i https://pypi.tuna.tsinghua.edu.cn/simple)。

步骤3:配置环境变量(.env文件)

  1. 复制示例配置文件生成.env文件:

    • Windows命令:copy .env.example .env

    • Mac/Linux命令:cp .env.example .env

  2. 编辑.env文件,填写核心配置项(必选项需严格填写,可选项根据需求配置):

核心配置项说明如下(完整配置项见下表):

环境变量 说明 是否必填 填写示例
OPENAI_API_KEY AI模型服务商提供的API密钥 sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxx
OPENAI_BASE_URL AI模型的API接口地址(兼容OpenAI格式) https://ark.cn-beijing.volces.com/api/v3/
OPENAI_MODEL_NAME 多模态AI模型名称(需支持图片分析) gemini-2.5-pro、doubao-seed-1-6-250615
WEB_USERNAME Web界面登录用户名(生产环境建议修改) admin(默认)
WEB_PASSWORD Web界面登录密码(生产环境必须修改) admin123(默认,建议改为强密码)

完整配置项说明(可选配置项根据需求填写):

环境变量 说明 是否必填 注意事项
PROXY_URL HTTP/S代理(需翻墙时配置) 支持http://和socks5://格式,示例:http://127.0.0.1:7890
NTFY_TOPIC_URL ntfy.sh主题URL(用于通知) 留空则不发送ntfy通知
GOTIFY_URL Gotify服务地址 示例:https://push.example.de
GOTIFY_TOKEN Gotify应用Token 需与GOTIFY_URL配合使用
BARK_URL Bark推送地址 示例:https://api.day.app/your_key,留空则不发送Bark通知
WX_BOT_URL 企业微信群机器人Webhook 需用双引号包围,留空则不发送企业微信通知
WEBHOOK_URL 通用Webhook地址 留空则不发送通用Webhook通知
WEBHOOK_METHOD Webhook请求方法 支持GET/POST,默认POST
WEBHOOK_HEADERS Webhook自定义请求头 需为有效JSON字符串,示例:'{"Authorization": "Bearer xxx"}'
WEBHOOK_CONTENT_TYPE POST请求内容类型 支持JSON/FORM,默认JSON
WEBHOOK_QUERY_PARAMETERS GET请求查询参数 JSON字符串,支持{{title}}{{content}}占位符
WEBHOOK_BODY POST请求体 JSON字符串,支持{{title}}{{content}}占位符
LOGIN_IS_EDGE 是否使用Edge浏览器爬取 默认false(使用Chrome)
PCURL_TO_MOBILE 是否转换链接为手机版 默认true
RUN_HEADLESS 是否无头模式运行浏览器 默认true,调试时可设为false
AI_DEBUG_MODE 是否开启AI调试模式 默认false,开启后打印AI请求/响应日志
SKIP_AI_ANALYSIS 是否跳过AI分析直接通知 默认false,设为true则所有商品直接推送
ENABLE_THINKING 是否启用enable_thinking参数 默认false,遇到AI报错可尝试关闭
SERVER_PORT Web服务端口 默认8000,可修改为其他端口(如8080)

⚠️ 安全提醒:生产环境必须修改默认的WEB_USERNAME和WEB_PASSWORD,避免未授权访问Web界面。

步骤4:获取闲鱼登录状态(关键步骤)

工具需要以登录状态访问闲鱼,才能抓取完整商品数据,提供两种方式获取登录状态:

推荐方式:Web UI手动更新(无需图形界面服务器)
  1. 先跳过登录状态配置,直接启动Web服务(步骤5);

  2. 访问Web界面后,进入“系统设置”页面;

  3. 找到“登录状态文件”,点击“手动更新”按钮;

  4. 按照弹窗指引操作:

    • 在个人电脑上安装Chrome浏览器的“闲鱼登录状态提取扩展”;

    • 打开闲鱼官网(https://2.taobao.com/),使用手机闲鱼App扫码登录;

    • 登录成功后,点击浏览器工具栏中的扩展图标,选择“提取登录状态”;

    • 点击“复制到剪贴板”,将内容粘贴到Web UI的输入框中,保存即可。

备用方式:运行登录脚本(需本地有图形界面)
  1. 执行以下命令启动登录脚本:

    python login.py
  2. 脚本会弹出Chrome浏览器窗口,显示闲鱼登录二维码;

  3. 用手机闲鱼App扫码登录,登录成功后浏览器自动关闭;

  4. 项目根目录会生成xianyu_state.json文件,即登录状态文件。

步骤5:启动Web服务

执行以下命令启动Web管理后台:

python web_server.py

启动成功后,命令行会显示“Uvicorn running on http://127.0.0.1:8000”(端口号为.env文件中配置的SERVER_PORT)。

步骤6:创建并运行监控任务

  1. 打开浏览器,访问http://127.0.0.1:8000(端口号根据配置修改);

  2. 输入Web界面用户名和密码(默认admin/admin123),登录成功后进入“任务管理”页面;

  3. 点击“创建新任务”按钮,在弹窗中配置任务信息:

    • 任务名称:自定义(如“MacBook Air M1监控”);

    • 自然语言需求:描述购买需求(如“95新以上MacBook Air M1,8+256G,价格3000-5000元,卖家信用极好”);

    • 关键词:自动生成,可手动修改(如“macbook air m1”);

    • 价格范围:自动生成,可手动调整(如“3000-5000”);

    • 筛选条件:自动生成,可添加(如“个人闲置”“无拆修”);

    • 最大页数:爬取的最大页数(默认5,可调整);

    • AI标准:自动生成,可通过“系统设置”中的Prompt编辑调整;

    • 定时规则:填写Cron表达式(如“*/30 * * * *”表示每30分钟监控一次),不填写则持续运行。

  4. 点击“创建”按钮,AI会自动生成任务规则;

  5. 回到“任务管理”页面,找到创建的任务,点击“运行”按钮,开始监控。

步骤7:查看结果与接收通知

  • 结果查看:进入“结果查看”页面,可筛选“仅看AI推荐”的商品,按价格或爬取时间排序,点击商品卡片查看详情;

  • 日志查看:进入“运行日志”页面,实时查看爬虫运行状态、AI分析结果和通知发送记录;

  • 通知接收:符合条件的商品会通过配置的渠道推送,点击通知中的链接可直接跳转闲鱼查看。

3. Docker部署步骤(推荐,无需配置Python环境)

步骤1:安装Docker Engine

根据操作系统安装Docker:

  • Windows:安装Docker Desktop(需开启WSL2);

  • MacOS:安装Docker Desktop;

  • Linux:执行官方脚本安装(curl -fsSL https://get.docker.com | sh)。

安装完成后,启动Docker服务(Windows/Mac打开Docker Desktop,Linux执行systemctl start docker)。

步骤2:克隆项目并配置.env文件

  1. 克隆项目代码:

    git clone https://github.com/Usagi-org/ai-goofish-monitor
    cd ai-goofish-monitor
  2. 配置.env文件:参考本地部署的步骤3,复制.env.example生成.env文件并填写核心配置(AI API密钥、Web认证信息等)。

步骤3:获取闲鱼登录状态(Docker容器内无法扫码登录)

  1. 启动Docker容器:

    docker-compose up -d
  2. 访问Web界面:http://127.0.0.1:8000

  3. 按照本地部署步骤4中的“推荐方式”,通过Web UI手动更新登录状态(安装Chrome扩展、提取登录信息、粘贴保存)。

步骤4:构建并启动容器

执行以下命令构建并启动容器(后台运行):

docker-compose up --build -d
  • 构建成功后,容器会自动运行Web服务;

  • 查看容器日志:docker-compose logs -f(可实时查看运行状态);

  • 停止容器:docker-compose stop

  • 重启容器:docker-compose start

  • 删除容器:docker-compose down(会保留配置文件和数据)。

步骤5:使用Web界面管理任务

后续操作(创建任务、启动监控、查看结果)与本地部署的步骤6、7一致,无需额外配置。

4. OpenWrt环境部署注意事项

如果在OpenWrt路由器上部署,可能遇到DNS解析问题(Docker Compose默认网络无法继承OpenWrt的DNS设置),解决方案:

  • 手动配置容器DNS:在docker-compose.yaml中添加DNS配置(如dns: 8.8.8.8);

  • 调整网络模式:将容器网络模式改为“host”(在docker-compose.yaml中设置network_mode: host);

  • 检查路由器网络:确保路由器可正常访问外部网络,无防火墙限制。

闲鱼智能监控机器人:开源 AI 闲鱼多任务实时监控工具,可视化管理与精准筛选

六、常见问题解答(FAQ)

1. 环境配置类问题

Q1:安装依赖时提示“ModuleNotFoundError: No module named 'PIL'”怎么办?

A1:这是Python版本过低导致的兼容性问题,需升级Python至3.10或更高版本。升级后重新执行pip install -r requirements.txt

Q2:配置AI API后,工具提示“404错误”或“API请求失败”?

A2:建议按以下步骤排查:

  1. 检查OPENAI_BASE_URL是否正确(需填写完整的API基础路径,如https://ark.cn-beijing.volces.com/api/v3/);

  2. 确认OPENAI_MODEL_NAME是支持图片分析的多模态模型(如gemini-2.5-pro、doubao-seed-1-6-250615,不支持纯文本模型);

  3. 验证OPENAI_API_KEY是否有效,是否有余额或调用次数限制;

  4. 若使用代理,检查PROXY_URL配置是否正确(支持http://和socks5://格式);

  5. 优先使用阿里云或火山方舟的API调试,确保基础功能正常后再切换其他服务商。

Q3:Docker部署后,无法访问Web界面(http://127.0.0.1:8000)?

A3:排查步骤:

  1. 执行docker-compose ps查看容器是否正常运行(状态为up);

  2. 查看容器日志:docker-compose logs -f,检查是否有端口占用、配置错误等提示;

  3. 确认.env文件中的SERVER_PORT未被其他程序占用(默认8000,可修改为8080等);

  4. 检查防火墙设置,确保端口未被拦截;

  5. OpenWrt环境需检查DNS配置和网络模式(参考部署步骤中的注意事项)。

2. 登录与爬虫类问题

Q4:运行login.py后,浏览器无法弹出或扫码登录失败?

A4:解决方案:

  1. 确保系统安装了Chrome浏览器(默认使用Chrome,如需使用Edge,可设置LOGIN_IS_EDGE=true);

  2. 关闭浏览器的无头模式:在.env文件中设置RUN_HEADLESS=false,重新运行login.py;

  3. 检查网络是否正常,能否访问闲鱼官网(https://2.taobao.com/);

  4. 若仍无法登录,改用Web UI的“手动更新登录状态”方式(推荐)。

Q5:爬虫运行时提示“被闲鱼限制访问”或“验证码拦截”?

A5:这是闲鱼的反爬机制触发,解决方案:

  1. 降低爬取频率:在任务配置中增加定时间隔(如从每10分钟改为每30分钟);

  2. 启用代理:在.env文件中配置PROXY_URL,更换IP地址;

  3. 关闭无头模式:设置RUN_HEADLESS=false,手动处理验证码(仅本地部署支持);

  4. 确保爬虫行为模拟真人:不要设置过大的最大爬取页数(建议不超过10页),避免短时间内大量请求。

Q6:监控任务运行正常,但无法抓取到新商品?

A6:排查步骤:

  1. 检查任务配置的关键词是否正确(如“macbook air m1”是否拼写错误);

  2. 确认价格范围是否合理(如设置“3000-5000”,而闲鱼上该商品价格普遍高于5000,则无法抓取);

  3. 查看运行日志,确认爬虫是否正常访问闲鱼搜索页面;

  4. 检查登录状态是否过期:进入Web界面“系统设置”,重新更新登录状态。

3. AI分析与通知类问题

Q7:AI分析结果不准确,很多符合需求的商品未被推荐?

A7:解决方案:

  1. 优化AI分析指令(Prompt):进入Web界面“系统设置”,编辑Prompt文件,明确筛选条件(如“必须满足无拆修、卖家信用极好,否则不推荐”);

  2. 检查AI模型选择:确保使用的是多模态模型(支持图片分析),避免使用纯文本模型;

  3. 关闭SKIP_AI_ANALYSIS:确保.env文件中SKIP_AI_ANALYSIS=false(否则会跳过AI分析直接推送);

  4. 开启AI_DEBUG_MODE:设置AI_DEBUG_MODE=true,查看AI请求和响应日志,调整Prompt逻辑。

Q8:配置了通知渠道,但未收到商品推荐通知?

A8:排查步骤:

  1. 检查任务是否有AI推荐的商品(进入“结果查看”页面,筛选“仅看AI推荐”);

  2. 确认通知渠道配置正确:

    • BARK_URL:格式是否为“https://api.day.app/your_key”;

    • WX_BOT_URL:是否用双引号包围(如"WX_BOT_URL=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx");

    • Webhook:是否配置了正确的请求方法和请求体;

  3. 查看运行日志:搜索“notification”关键词,确认是否有“通知发送成功”或“发送失败”的记录;

  4. 检查网络是否通畅:确保服务器能访问通知渠道的API(如ntfy.sh、Bark服务器)。

Q9:收到的通知中,商品链接无法打开或跳转错误?

A9:解决方案:

  1. 检查PCURL_TO_MOBILE配置:默认true(转换为手机版链接),若无法打开,可设置为false(保留电脑版链接);

  2. 确认商品链接是否正确:进入“结果查看”页面,点击商品卡片的链接,检查是否能正常跳转;

  3. 检查登录状态:若链接跳转至闲鱼登录页面,说明登录状态过期,需重新更新登录状态。

4. 其他常见问题

Q10:Web界面登录时提示“认证失败”,怎么办?

A10:解决方案:

  1. 确认用户名和密码是否正确(默认admin/admin123);

  2. 若修改过.env文件中的WEB_USERNAME或WEB_PASSWORD,需重启Web服务(本地部署重启web_server.py,Docker部署重启容器);

  3. 清除浏览器缓存,重新访问Web界面。

Q11:Windows系统下,运行日志出现乱码?

A11:这是编码问题,工具已修复该bug,确保使用最新版本的项目代码(执行git pull更新),日志会自动显示正确编码并增加时间戳。

Q12:能否同时运行多个监控任务?任务之间会互相影响吗?

A12:可以同时运行多个任务,各任务独立配置、独立运行,互不干扰。在“任务管理”页面可分别启动/停止每个任务,日志会区分不同任务的运行状态。

七、相关链接

八、总结

闲鱼智能监控机器人是一款功能强大、易用性高的开源闲鱼监控工具,基于Playwright和多模态AI模型,实现了从商品抓取、智能筛选到即时通知的全流程自动化。它通过可视化Web界面降低操作门槛,支持自然语言创建复杂监控任务,多任务并发运行且互不干扰,结合商品图文与卖家画像的深度AI分析确保筛选精准度,同时提供多渠道通知和灵活的部署方式,有效解决了闲鱼平台商品信息杂乱、筛选效率低、易错过优质货源的痛点。该工具适用于个人二手采购、数码爱好者淘货、商家货源挖掘等多种场景,兼容本地部署和Docker部署,支持二次开发,完全开源且遵循MIT许可证。使用时需遵守闲鱼用户协议和robots.txt规则,仅用于学习和技术研究,不得用于非法用途,生产环境需注意修改默认登录密码以保障安全。无论是新手用户还是开发者,都能通过该工具大幅提升闲鱼二手商品检索效率,节省时间和精力。

打赏
THE END
作者头像
人工智能研究所
发现AI神器,探索AI技术!