我造了个 AI 工具,让拼多多和淘宝的物流信息自动找上门
作为一个经常网购的人,我每天都要打开拼多多、淘宝、京东三个 App 查看物流。重复的操作让我开始思考:能不能让 AI 帮我自动聚合这些信息?
于是,我和 AI 助手 Claw 开始了为期两天的「造轮子」之旅。
需求很简单,实现很曲折
我的需求很明确:
- • 一键查询所有电商平台的订单物流
- • 只显示「运输中」的订单,已签收的自动过滤
- • 能提取快递单号、取件码等关键信息
- • 登录一次,长期有效
听起来不难,对吧?但每个平台都有自己的「小脾气」。
拼多多的意外顺利
拼多多是三个平台里最容易搞定的。它的 H5 页面结构清晰,数据属性规范(data-test="店铺名称" 这种),登录后的 Cookie 有效期也足够长。
Claw 很快写好了适配器:扫码登录 → 保存 Cookie → 访问订单列表 → 点击「更多」→ 点击「查看物流」→ 提取信息。流程跑通后,我拿到了第一个快递单号和取件码。
小插曲:拼多多的「更多」按钮点击时遇到了 viewport 问题,Claw 用 JavaScript 点击替代了 Playwright 的原生点击,顺利解决。
淘宝的 CSS Modules 陷阱
淘宝就麻烦多了。它的订单页面使用了 CSS Modules,类名是动态生成的(orderHeader--Z1dh0l0O 这种),传统的 CSS 选择器完全失效。
我们换了策略:不找类名,找文本。通过遍历 DOM 树,搜索包含「订单号」「查看物流」等关键文本的节点,再向上查找父容器提取信息。这种「文本驱动」的方式虽然笨一点,但稳定性更好。
另一个坑是淘宝的 Cookie 有效期很短,而且检测到自动化浏览器后会快速失效。我们最终采用了 persistent context 的方式,在同一个浏览器会话中完成登录和查询,避免了频繁的重新登录。
京东和抖音:暂时放弃
京东的反爬机制是我们遇到的最强对手。扫码登录后,它会检测浏览器指纹,提示「存在风险」并要求改用密码登录。即使我们尝试了 stealth 模式、H5 页面、修改 User-Agent 等各种手段,依然无法绕过。
抖音的问题则在于它的订单系统完全依赖 App,网页版打开订单页面会直接提示「请在 App 内查看」,连给自动化工具发挥的空间都没有。
取舍:与其在两个平台上死磕,不如先把拼多多和淘宝做精。我们决定暂时放弃京东和抖音,专注于已经跑通的两个平台。
Skill 架构设计
最终的代码结构是这样的:
src/
├── adapters/
│ ├── base-adapter.ts # 抽象基类,定义统一接口
│ ├── pdd-adapter.ts # 拼多多适配器
│ ├── taobao-adapter.ts # 淘宝适配器
│ └── ...
├── core/
│ ├── aggregator.ts # 聚合器,协调多平台查询
│ ├── auth-manager.ts # Cookie 管理
│ ├── rate-limiter.ts # 限流保护
│ └── stealth-browser.ts # 反检测浏览器
└── index.ts # CLI 入口
每个平台的适配器只需要实现几个方法:isLoggedIn()、getOrders()、getOrderLogistics()。新增平台时,照着模板填就行。
发布到 ClawHub
代码写完后,Claw 帮我提交了 Git,然后发布到 ClawHub。整个过程只需要一行命令:
clawhub publish . --version 1.0.0
Skill ID 生成的那一刻,这个工具就真正「上线」了。其他 OpenClaw 用户现在可以通过 openclaw skills install ecommerce-logistics 一键安装使用。
收获与反思
两天的开发,最大的收获不是代码本身,而是对「AI 协作开发」的体感:
- 1. AI 擅长写代码,但做决策还得人来。比如放弃京东和抖音,这个取舍必须我来做。
- 2. 调试是 AI 的短板。当页面结构复杂、反爬机制多变时,AI 会陷入「不断尝试」的循环,需要我介入分析根本原因。
- 3. 文档和测试不能省。为了让 Skill 能被其他人使用,Claw 帮我写了详细的 SKILL.md,包括平台支持状态、使用方法、架构说明。
- 4. 技术债要尽早还。一开始为了快速验证,写了很多调试脚本,发布前 Claw 提醒我清理,保持代码整洁。
下一步
这个 Skill 目前只支持查询,下一步我打算加上:
- • 定时自动查询,有新物流时推送通知
- • 导出数据到 CSV/Excel
- • 尝试用其他方式绕过京东的反爬(比如手动导入 Cookie)
如果你也厌倦了反复打开电商 App 查物流,不妨试试这个工具。毕竟,重复的事情就该交给机器去做。
安装方式:
openclaw skills install ecommerce-logistics
GitHub:https://github.com/charles-lpf/ai-toolbox/tree/main/skills/ecommerce-logistics
ClawHub:https://clawhub.com/skills/ecommerce-logistics
夜雨聆风