上个月底对账,运营发现某天的成交金额和发货清单差了一百八。订单一条条翻过去,最后定位到一笔 199 的单子在人工录单时被抄成了 19。这不是第一次了------地址漏一个字、快递退回;两个昵称像的买家,备注贴串行;退款状态忘更新,货照发。人工录单的问题不在慢,在于错得没规律,出了事还死无对证。
后来就定了个目标:定时拉取交易数据,让数据自己进表自己核对,人手只处理差异报告。这篇文章把实现过程和踩坑写清楚,代码可以直接抄了改。
一、先把需求边界画死
做到一半返工是最贵的,选型前先列清楚:

分工上我们定了一条原则:AI 写代码,RPA 跑代码。AI 只在搭建和改需求的时候出逻辑,长期跑的是固化下来的流程,没有 token 持续消耗,成本是固定的。
二、流程代码
主流程: 定时拉取交易数据
├─ 子流程1: 检查登录态
│ ├─ 打开卖家后台 → 检测二维码元素是否存在
│ ├─ 存在 → 截图推送企业微信 → 等待人工扫码(上限30分钟)
│ │ └─ 超时未扫 → 告警推送 + 终止本轮
│ └─ 不存在 → 继续
├─ 子流程2: 拉取交易明细
│ ├─ 进入交易管理页 → 设置时间筛选昨日 00:00 - 24:00
│ ├─ 循环翻页:
│ │ ├─ 等待表格加载完成(超时15s)
│ │ ├─ 提取当前页表格数据(JSON自动提取字段)
│ │ ├─ 订单号写入去重集合 → 已存在则跳过本页
│ │ └─ 点击下一页 → 等待加载 → 首行订单号无变化则判定到底
│ └─ 导出原始快照 ./snapshot/{店铺ID}_yyyyMMdd.csv
├─ 子流程3: 数据清洗
│ ├─ 按交易状态分桶校验:
│ │ ├─ 已发货 → 金额>0 / 手机号=11位 / 地址非空
│ │ ├─ 已退款 → 金额<0
│ │ └─ 已关闭 → 跳过
│ ├─ 异常行 → 写 err_log,不中断主流程
│ └─ 正常行 → 订单号唯一约束写入本地库,冲突即跳过
└─ 子流程4: 对账
├─ 交易表 LEFT JOIN 发货表
└─ 金额差异/有单未发/有发未单 → 生成差异报告推送企微
几个设计决策,说清楚为什么:
快照先行,清洗后行。 快照 CSV 是回溯的唯一依据。自动化的价值不只是省人力,更是每一步留痕------人工录单错了是查无可查,流程错了至少能定位到哪天哪一步。
翻页双重判断。 末页"下一页"按钮还在但变灰,只判元素存在会死循环;只看首行订单号,翻页没加载完又可能误判到底。所以"等待加载 + 首行比对"两步缺一不可。
异常行不中断。 脏数据写日志跳过,绝不让整个流程挂掉。人工录单的隐性成本是"错一单停半天翻底单",自动化不能把这个毛病复刻回来。
子流程拆分。 登录、拉取、清洗、对账四段互相独立,哪段改了不影响其他段,复盘时也好定位。搭的时候可以让 AI 按这个结构自动拆分,它优先调用 RPA 自带的基础指令,缺什么指令会自动封装成新指令,每步带注释,逻辑一目了然------比一堆看不懂的 xpath 强得多。
三、最大的坑:页面改版,元素失效
Web 自动化的通病:今天按钮叫"导出数据",下周变成一个图标,流程半夜报"元素找不到",早上对账才发现漏拉两天。
应对分两层:
取元素时就挑稳定路径。 优先带业务语义的属性(按钮文本、data 字段),避开纯位置路径。用蓝印RPA这类工具时这一步比较省心:元素获取支持本地智能生成,一次给出多条候选路径,挑语义化最强的那条存下来。不想学 xpath 语法的话,直接自然语言描述"交易列表里点下一页按钮",它能生成对应路径。而且它带 Web 元素 AI 自愈------元素失效时自动修复定位,对"定时拉取交易数据"这种凌晨无人值守的任务,这是保命功能,不是锦上添花。
元素之外留视觉兜底。 千牛、企业微信这类客户端软件节点结构乱,可以按视觉颜色定位,不依赖元素节点也能点击、读文本,应付各种弹窗和消息获取绰绰有余。
四、本地部署与分发的工程细节
交易数据里有买家姓名、电话、地址,合规上过不了第三方服务器这一关,方案必须全离线内网部署,数据不出本地------流程数据全程存在本地设备,不同步到服务端。仓库那台跑任务的电脑还是断外网的,云端方案第一步就死了。
执行层几件小事,做完能省很多麻烦:
触发双通道。 定时任务兜底;运营临时要数据,走 API 触发,或者在企业微信、钉钉里发句话就能让流程跑起来,跑完自动回调结果。Agent 这类玩法现在已经很成熟,不用人记"去某台电脑点一下"。
打包成 EXE 分发。 流程稳定后打包发给各店铺电脑,对方不用装客户端;EXE 支持授权管理和加密分享,员工离职一键收权;版本更新走在线推送,打开应用自动检测新版本,不用挨个发文件。EXE 还能单独设置自己的定时计划和 API 触发,店铺侧零配置。
多店铺隔离。 多账号环境对接紫鸟、比特这类指纹浏览器,一个流程模板复用到所有店铺,不用每台机器单独搭。
自定义界面。 如果要给运营用,别甩给他一个配置文件夹------按截图就能设计出操作界面,复杂页面直接上 html 组件,按钮点击、数据展示都能做。外人看着像个正经软件,不会在"谁动了我的流程"这种事上扯皮。
成本。 执行层没有 token 消耗,费用透明;选型时确认无运行时长、无流程数量限制,有些工具按分钟或按流程数收费,店铺一多就扛不住。个人开发者、个人工作室和中小团队可以先拿免费版跑,没有使用时长限制,验证跑通了再谈扩展。
五、AI 协作层怎么用才不踩坑
AI 在整套系统里的位置要摆正:负责思考,不负责执行。
搭建期:用图文方式描述需求,截图加一句话,AI 能自己分析网页和软件的元素结构,自动搭出浏览器自动化和 Windows 软件自动化的流程;变量支持批量创建和修改,JSON 提取、列表提取都是一句话的事。
调试期:报错看不懂别硬扛,AI 错误诊断能分析出原因给修复建议,也可以直接一键修复,自动调试到跑通为止。比把报错截图发到群里等半天强。
维护期:页面改版后,让 AI 重新生成失效部分的逻辑,转回 RPA 流程继续跑------AI 生成脚本一键转流程,这是"AI 写代码、RPA 跑代码"的完整闭环。
扩展期:如果团队在用工坊类的 AI 编程工具,走 MCP 服务对接,让别的工具也能直接控制 RPA 搭流程,灵活度更高。
顺手说一句,蓝印RPA内置了文心一言、豆包、DeepSeek、Kimi 这些大模型的接入,识图和 OCR 开箱即用,AI 的 API 费用自己对接、自己掌控,花多少心里有数。
六、上线前检查清单
连续试运行 7 天,和人工结果比对,差异率 < 0.1%
手动改一个元素,看流程自愈还是正确告警
快照日期连续性校验,任务漏跑当天能发现
登录态过期有推送,不等人工发现
差异报告字段齐全:订单号、两边金额、差异类型
快照保留 90 天,数据库每日备份
从人工录单错到定时拉取交易数据全自动对账,技术不难,难的是让它在一个没有专职工程师的店铺环境里长期稳着跑。就一句话:AI 想逻辑,RPA 干脏活,数据留本地。