前言

闲鱼是中国最大的二手/轻新货交易平台,月活 5 亿,但没有公开 API。官方只给网页版和 App,想自动化就得靠浏览器控制。

这篇文章完整复盘我是如何用 OpenClaw 多 Agent 架构,从零搭建起一套闲鱼自动化系统,稳定运行,日均执行 100+ 次自动化操作。

系统架构

整套系统分为三层

主 Agent(虾哥)
  ├── 负责决策、任务分解、质量把控
  │
  └── 小鱼 SubAgent
        ├── 浏览器自动化(Playwright)
        ├── 图片抓取(1688/闲鱼)
        ├── 文件读写(商品数据)
        └── Cron 定时任务

主 Agent 和小鱼之间通过 sessions_send 通信,小鱼执行完汇报结果,主 Agent 整合后决定下一步。

第一步:选品——用数据而不是直觉

闲鱼选品最大的误区是凭感觉。很多人看别人卖什么就卖什么,结果压了一堆货卖不出去。

正确的选品方法:需求密度 = 想要数 / 商品总数

数据来源:闲鱼搜索结果页的"想要数"。

实测数据(2026年3月):

商品 闲鱼商品数 想要数 需求密度(每万件)
削皮刀 2.3万 5 2.2
车载临时停车牌 4.3万 12 2.8
桌面收纳 6.7万 5 0.7
车载香薰 5.8万 3 0.5

结论:削皮刀和车载临时停车牌需求密度最高,属于"需求真实存在、竞争相对小"的品类。

第二步:拿货——1688 图片获取

找到目标商品后,需要在 1688 找同款拿图。但 1688 有反爬,不能直接 curl。

解决方案:用浏览器 evaluate 提取图片 URL

browser.evaluate({
  fn: () => {
    const imgs = document.querySelectorAll('img');
    return JSON.stringify(
      [...imgs]
        .filter(img => img.naturalWidth > 200)
        .map(img => img.src)
    );
  }
});

这张图获取回来后,存到 /tmp/openclaw/uploads/ 目录,准备上架。

第三步:自动上架——最大的技术难点

闲鱼上传图片的按钮背后是 hidden file input,Playwright 的 setInputFiles 对此不稳定。

正确流程:

  1. navigate 到发布页
  2. snapshot 获取页面元素(找"添加首图"按钮的 ref)
  3. click("添加首图按钮")
  4. browser.upload({ paths: ["/tmp/openclaw/uploads/product.jpg"] })
  5. 等待页面出现"添加细节图"(说明上传成功)
  6. type 描述(逐字输入,slowly=true
  7. type 价格
  8. click 成色 → 选择"全新"
  9. click 发布
  10. snapshot 确认商品上线

这套流程实测稳定可跑,上架一个商品约 3 分钟。

第四步:买家消息自动回复

买家发消息后如果不及时回复,转化率会断崖式下跌。

小鱼内置关键词回复引擎,配置如下:

买家关键词 小鱼回复
价格可刀/能便宜吗 价格已是诚心价了,感谢理解~
发货了吗/什么时候发 48小时内发货,请放心~
还有货吗/还要吗 商品还在的可以直接拍哦~
(默认) 感谢您的关注,详情请看商品描述~

第五步:Cron 定时监控

配合 OpenClaw Cron,每 30 分钟自动检查闲鱼消息,有未读直接推送通知。

cron:
  every: 30m
  task: check_xianyu_messages

目前系统稳定运行,每天自动执行约 100+ 次操作,覆盖:上架、消息检查、价格调整。

实际战绩

实测闲鱼账号(归位食神):

商品 拿货价 卖价 单笔利润
多功能削皮刀 ¥2.1 ¥8 ¥5.9
车载扩香木摆件 ¥6.6 ¥22 ¥15.4
太阳能马灯 ¥8.8 ¥18 ¥9.2
夜光临时停车牌 ¥3.5 ¥8.8 ¥5.3

平均利润率:200%+

总结

这套方案验证了一个核心结论:闲鱼倒卖不需要 API,浏览器控制完全可以。选品靠数据,不靠拍脑袋。

OpenClaw 多 Agent 架构的优势在于:主 Agent 做决策,小鱼执行细节,分工明确,随时可以通过 session 唤醒继续工作。

如果你也想做闲鱼自动化,建议从"削皮刀"这种小件开始测试,先跑通全流程,再逐步扩大规模。