在飞牛 NAS 上部署 ai-goofish-monitor 实现闲鱼商品自动监控与 AI 初筛
把重复刷新交给程序,人只做最终判断
蹲守闲鱼时,最耗神的不是不会搜,而是得不停手动刷新页面。一台价格合适的设备可能刚挂出来几分钟就被抢走,而关键词设得太宽,又会混进大量配件、故障机、虚假低价或完全不相关的商品。如果同时盯好几个品类,靠人力反复刷很快就变成体力活。
我尝试把这类机械性工作交给程序:让它持续搜索、按条件过滤,再用 AI 做第一轮判断,我只看那些更接近真实需求的候选。这不是为了自动下单,而是把最浪费时间的前期浏览环节自动化掉。最近,我把开源项目 ai-goofish-monitor 部署到了自家的 RK3566 飞牛 NAS 上,跑通了从部署、配置到公网远程访问的完整链路。
ai-goofish-monitor 能替你做什么?
这个项目(GitHub 地址)不是一个简单的关键词定时搜索脚本,而是把多个环节串在一起:
- 持续搜索闲鱼商品
- 按预设条件(价格、地区、发布时间、是否包邮等)初步筛选
- 抓取商品详情页和图片
- 调用大模型进行 AI 分析
- 在 Web 后台集中展示结果,支持多种通知方式
它支持自定义 AI Prompt,也能对接企业微信、Telegram、Bark 等推送渠道。不过这次我先聚焦核心流程:账号管理 → 创建任务 → 手动执行 → 查看 AI 分析结果,暂不涉及通知和代理配置。
为什么选飞牛 NAS?
这类监控工具需要长期在线运行,NAS 是理想载体。我用的是一台刷了 ARM 版飞牛系统的 RK3566 小主机。飞牛系统自带 Docker 支持,省去了额外安装容器环境的步骤。
部署前先做两件事:
- 在飞牛桌面打开 Docker 应用,确认服务已启动
- 进入 系统设置 → SSH,开启 SSH 访问
接着从 Windows 电脑用 PowerShell 连接 NAS:
ssh n1@192.168.50.212
sudo -i # 切换到 root 权限后续所有操作都在这个终端里完成。
一键脚本部署
切换到 root 后,直接运行官方提供的一键部署脚本:
curl -fsSL https://gitee.com/jun-wan/script/raw/master/ai-goofish-monitor_deploy/deploy.sh -o /tmp/deploy-ai-goofish-monitor.sh && chmod +x /tmp/deploy-ai-goofish-monitor.sh && /tmp/deploy-ai-goofish-monitor.sh脚本启动后选择 1 开始部署,然后依次填写:
- 项目部署路径(默认即可)
- Web 访问端口(默认 8000)
- 管理员用户名和密码
- 大模型配置
这次我用的是第三方中转平台,模型项填的是 gpt-5.5。脚本也列出了其他支持视觉输入的模型选项,比如 Kimi-K2.7-Code 或 Qwen3.6-27B。需要注意的是,商品分析会上传标题、描述和图片,如果走第三方 API,数据会经过中转平台。除了模型效果,还得自己评估 API Key 安全性和平台可信度。
配置完成后,脚本自动拉取镜像并启动容器。部署成功后,终端会输出本地访问地址,比如 http://192.168.50.212:8000。用浏览器打开,能正常进入登录页就说明后台跑起来了。
先加账号,再建任务
登录管理后台后,第一步不是创建监控任务,而是进入 账号管理 添加闲鱼账号。这是后续所有操作的基础——如果账号本身无法登录或被限制,任务参数写得再精细也没用。
添加账号时,系统会调用 Playwright 模拟浏览器操作,可能需要扫码或输入验证码。确保这一步顺利完成,才能继续下一步。
创建一个真实的监控任务
进入 任务管理,点击 创建新任务。这里可以设置:
- 搜索关键词(如“MacBook Pro M1”)
- 价格区间(如 2000–4000 元)
- 发布时间(如最近 24 小时)
- 所在地区(如“上海”)
- 是否要求包邮
- 自定义 AI 分析提示词
我的策略是:只设硬性条件(如价格上限、必须包邮),把“值不值得进一步看”的判断交给 AI。条件设得太死容易漏掉好货,太松又会引入大量噪音。
先手动跑一次,验证流程
任务创建后,先别急着设成自动循环,而是点击 启动 手动执行一次。这样能快速验证整个链路是否通畅。
执行过程中,可以进入 运行日志 查看实时进展:
- 任务是否成功启动
- 关键词搜索是否返回结果
- 商品详情和图片是否抓取成功
- AI 模型是否返回分析结论
- 中间是否有异常报错
只有手动跑通一轮,确认每个环节都正常,才会放心让它长期自动运行。
AI 分析到底能筛掉什么?
任务完成后,进入 结果列表,每件商品都会附带一份 AI 分析报告。AI 会结合你设定的购买需求,综合判断商品的标题、描述和图片,帮你排除以下几类明显不符的结果:
- 只卖配件(如“仅售电池”)
- 故障机或拆机件
- 虚假低价(如标价 1 元引流)
- 描述与需求完全不匹配的商品
但要注意,AI 的“符合要求”绝不等于“可以买”。它看不到商品的实际成色、无法核实卖家信用、也不知道设备是否有暗病或维修史。因此,我把它定位为 第一轮筛选器,而不是购买裁判。最终决策仍需人工查看卖家主页、交易记录、实物细节图,并通过聊天确认关键信息。
为什么还需要公网访问?
任务在 NAS 后台运行后,即使人不在家,也可能有以下需求:
- 临时查看最新抓取的商品
- 调整价格或地区条件
- 查看 AI 分析结果
- 排查任务失败原因
局域网地址显然不够用。这时候就需要 cpolar 出场——它只负责一件事:把 ai-goofish-monitor 的 Web 管理后台(8000 端口)映射到公网,不参与商品抓取、自动化操作或 AI 判断。
在飞牛 NAS 安装 cpolar
回到 SSH 终端,执行安装命令:
sudo curl https://get.cpolar.sh | sh安装完成后检查服务状态:
sudo systemctl status cpolar状态正常后,浏览器访问 http://192.168.50.212:9200,进入 cpolar 的 Web 管理界面。
映射 8000 端口到公网
ai-goofish-monitor 的 Web 服务运行在 8000 端口。在 cpolar 的 隧道管理 → 隧道列表 中,编辑或新建一条隧道:
- 隧道名称:
xianyu - 协议:HTTP
- 本地地址:
127.0.0.1 - 本地端口:
8000
保存后,在 状态 → 在线隧道列表 中会看到两个公网地址(HTTP 和 HTTPS)。用 HTTPS 地址测试,能正常打开 ai-goofish-monitor 的登录页,说明公网映射成功。
从随机地址到固定子域名
cpolar 默认分配的公网地址是随机的,每次重启可能变化。如果经常从手机或外部电脑访问,最好换成固定入口。
登录 cpolar 控制台,进入 保留二级子域名 页面:
- 选择与隧道相同的地区(如“亚洲”)
- 名称填写:
xianyu01 - 描述可写“闲鱼监控后台”
保留成功后,回到飞牛 NAS 上的 cpolar Web UI,编辑 xianyu 隧道:
- 将 域名类型 改为“二级子域名”
- 填入刚保留的名称
xianyu01
更新后,隧道地址会变成固定的 https://xianyu01.cpolar.top(以实际保留结果为准)。用这个地址访问,能正常登录后台,查看任务、结果和日志,远程管理入口就此打通。
明确边界:工具能做什么,不能做什么
这套系统跑通后,我会这样使用它:
- 第一层(程序):7×24 小时持续搜索,替代人工刷新
- 第二层(AI+规则):按价格、地区等硬条件过滤,并用 AI 排除明显不符的商品
- 第三层(人):对 AI 筛出的候选,人工核实成色、卖家信用、维修情况和描述真实性
同时也要注意:
- 监控频率不宜过高,避免因访问频繁触发闲鱼风控
- AI 分析依赖模型能力,目前仍存在误判可能
- 第三方中转平台涉及数据隐私,需自行评估风险
- cpolar 仅提供 Web 后台访问,不影响核心功能
真正想省下的,不是最后那几分钟“决定买不买”的时间,而是前面几十次、几百次机械刷新的时间。让系统先帮我缩小候选范围,最终判断留给自己——这才是这类工具最合适的位置。