在飞牛 NAS 上部署 ai-goofish-monitor 实现闲鱼商品自动监控与 AI 初筛

0 阅读

把重复刷新交给程序,人只做最终判断

蹲守闲鱼时,最耗神的不是不会搜,而是得不停手动刷新页面。一台价格合适的设备可能刚挂出来几分钟就被抢走,而关键词设得太宽,又会混进大量配件、故障机、虚假低价或完全不相关的商品。如果同时盯好几个品类,靠人力反复刷很快就变成体力活。

我尝试把这类机械性工作交给程序:让它持续搜索、按条件过滤,再用 AI 做第一轮判断,我只看那些更接近真实需求的候选。这不是为了自动下单,而是把最浪费时间的前期浏览环节自动化掉。最近,我把开源项目 ai-goofish-monitor 部署到了自家的 RK3566 飞牛 NAS 上,跑通了从部署、配置到公网远程访问的完整链路。

ai-goofish-monitor 能替你做什么?

这个项目(GitHub 地址)不是一个简单的关键词定时搜索脚本,而是把多个环节串在一起:

  • 持续搜索闲鱼商品
  • 按预设条件(价格、地区、发布时间、是否包邮等)初步筛选
  • 抓取商品详情页和图片
  • 调用大模型进行 AI 分析
  • 在 Web 后台集中展示结果,支持多种通知方式

它支持自定义 AI Prompt,也能对接企业微信、Telegram、Bark 等推送渠道。不过这次我先聚焦核心流程:账号管理 → 创建任务 → 手动执行 → 查看 AI 分析结果,暂不涉及通知和代理配置。

为什么选飞牛 NAS?

这类监控工具需要长期在线运行,NAS 是理想载体。我用的是一台刷了 ARM 版飞牛系统的 RK3566 小主机。飞牛系统自带 Docker 支持,省去了额外安装容器环境的步骤。

部署前先做两件事:

  1. 在飞牛桌面打开 Docker 应用,确认服务已启动
  2. 进入 系统设置 → 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-CodeQwen3.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 后台访问,不影响核心功能

真正想省下的,不是最后那几分钟“决定买不买”的时间,而是前面几十次、几百次机械刷新的时间。让系统先帮我缩小候选范围,最终判断留给自己——这才是这类工具最合适的位置。