前言
闲鱼是中国最大的二手/轻新货交易平台,月活 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 对此不稳定。
正确流程:
navigate到发布页snapshot获取页面元素(找"添加首图"按钮的 ref)click("添加首图按钮")browser.upload({ paths: ["/tmp/openclaw/uploads/product.jpg"] })- 等待页面出现"添加细节图"(说明上传成功)
type描述(逐字输入,slowly=true)type价格click成色 → 选择"全新"click发布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 唤醒继续工作。
如果你也想做闲鱼自动化,建议从"削皮刀"这种小件开始测试,先跑通全流程,再逐步扩大规模。