浏览器自动化写个 demo 很容易,真正落到一个严肃业务上难的是边界:哪些该机器做、哪些必须人做,出错了怎么办,中断了怎么接。下面是我们把它用在「律师网上立案」这个场景时总结的 6 条设计原则,每条都附了踩过的坑。
一、最后一步留给人:只填到「提交」前
最重要的一条决定:程序永远不点提交。 每一件都填到「提交」按钮前停下,由律师在浏览器里逐页核对,自己点提交,再回到软件里标记「已提交」。
这样做的代价是少了「全自动」的爽感,换来的是:
- 法律责任边界清楚,最终判断始终在人;
- 识别或填写错了,在提交前就能被发现;
- 用户敢放心让程序跑,因为它「最坏也就是一份没提交的草稿」。
踩过的坑:早期有用户希望「批量的就直接提交吧」。我们坚持没做,改成把「核对」做得更快:进度页里每件都有平台页面截图,核对时一目了然。
二、在用户自己的账号、自己的浏览器里干活
程序不代替用户登录,不保存账号密码。它打开浏览器,用户自己登录(手机号、密码、短信验证码、人脸核验都由本人完成),程序在这个已登录的页面上接着填。
好处:
- 不碰凭据,安全问题小很多;
- 草稿就存在用户自己的账号下,哪怕软件卸了,草稿也在;
- 遇到验证码、人脸核验这类必须人来的环节,程序暂停、提醒,人处理完它自动继续。
三、自检优先:能在本机发现的错,不留到网页上
网页上的错误代价高:填到一半报错、或者提交后被法院退回,都要返工。所以在打开网页之前,先在本机把能查的都查一遍:
- 必填项是否齐全,金额、日期格式和逻辑(计息截止日不能早于借款日);
- 附件是否都找得到、格式和大小是否符合平台上限;
- 账号有没有预留签名(没有的话签章那一步一定会卡住,提前提醒)。
批量场景里更进一步:导入的 Excel 每一列标明对应网页上的哪一项,对不上的格子直接标红,让用户在开跑之前就改好。
四、断点续填:中断是常态,不是异常
网络抖动、平台登录过期、页面加载慢、用户临时关了电脑……对一个要连续跑几十件的任务,中断一定会发生。设计时就把「中断后接着做」当成主流程:
- 每一件的进度记在本机,重新执行时打开上次的平台草稿接着填;
- 保证不会因为重跑而重复立案;
- 某一件失败不影响后面的件,失败原因用一句人话写出来,比如「平台登录过期,请重新登录后点继续」,而不是一串异常栈。
五、每一个自动填的值都能追溯来源
材料识别(身份证、营业执照、借条、合同、转账记录)填出来的每一项,都标明「来自哪份材料」;从已有起诉状导入的内容,每一项附原文依据,用户勾选确认后才填入,用户已经手填的内容不覆盖。
原则是:机器可以猜,但必须让人看得出它是怎么猜的。 这比单纯追求识别率更能建立信任。
六、出了错,用脱敏的信息去复现
桌面软件跑在用户电脑上,出错时开发者看不到现场。我们的做法是:出错时自动生成一份脱敏后的错误报告(姓名、证件号等打码),用户同意后上传,开发侧据此复现、修复、回归测试。法律行业的数据敏感,脱敏这一步不能省。
小结
把浏览器自动化用在严肃业务上,技术难点反而不在「怎么点按钮」,而在这几条边界:人做最后决定、不碰凭据、先自检、能续跑、可追溯、出错能复现。 想清楚这些,用户才敢把一件件真实的案子交给程序去填。
我们做的这个工具叫「廷平律助」(Windows),完整的使用说明和几个免费的网页小工具(诉讼费计算、期限计算、退回原因自查)在官网:bingheng.yushangcc.com/ 。12 月 31 日前注册可免费试用 3 个月。