八月初的一次排版里,我让 agent 在公众号文章末尾插一张账号名片。插入、保存,一切看起来都正常。事后核对图片顺序,我才发现文末那张关注 GIF 不见了:插入名片的那一刻,选区还罩在 GIF 上,「插入」变成了「替换」。没有报错,也没有任何提示。
那之后我一直在想一个问题:一个每天替我操作已登录后台的 agent,能力已经够用了,它还缺什么?三个月下来,我的答案是四条规矩。
结论先行
上一篇文章《给 Agent 一个浏览器》结尾我立了个 flag:「呼声最高的场景,我来实测一期。」这篇算是交作业,而且不止一期。过去三个月,ego-lite 从「评测对象」变成了我这台 Mac 上事实上的基础设施:
- 10 个实战场景落地,从生图、数据审计到定时巡检;
- 2 个每月定时任务常驻运行,浏览器自动化跑进了 cron;
- 上一篇和这三个月里的十几篇公众号稿,排版、封面、发布数据回收,都经过 ego-lite。
三个月用下来,结论比上次更硬,也更收敛:「共享浏览器」这个范式是真的,它的价值不在「快」,而在登录态和真实浏览器环境,这两样是别的方案给不了的。同时我也摸清了它的边界,其中一条是用一次失败换来的,后文细说。
三个月战绩:一张全景表
先上全景。三个月里所有认真跑过(不是演示)的场景:
| # | 场景 | 频次 | 一句话结果 |
|---|---|---|---|
| 1 | 公众号后台发文管线 | 每篇必经,十几篇草稿 | 排版/封面/名片全自动,发表键永不代按 |
| 2 | 公众号发布指标抓取 | 两轮(7-31 基线 / 11-02 账本) | 4 页 65 条数据入账,64 条有效 |
| 3 | ima 死链清理 | 一次战役(9-22) | 35 条删除、API 逐条复核零残留 |
| 4 | lovart 生图 skill | 固化后随叫随到 | 首次摸索大半个下午 → 复用一条指令 |
| 5 | 小红书创作者后台审计 | 一次(8-21) | 全量 15 篇 + 指标交叉校验对平 |
| 6 | 缴费页面实测 | 一次(8-27) | 梳理清楚一条扫码缴费的页面流程 |
| 7 | 自有站点实机验收 | 一次(8-06) | 抓出一个线上真 bug(二维码懒加载空白) |
| 8 | WPS 权益页核验 | 一次(10-30) | 主动撤回一条无依据的说法 |
| 9 | 行业白皮书归档 | 每月 cron,已跑 2 轮 | 真实浏览器按月取回正文 |
| 10 | 公共站点可用性巡检 | 每月 cron,已跑 2 轮 | 只有真实浏览器能正常打开的页面,按月巡检 |

这张表里藏着一个比「能做多少事」更重要的信号:场景 9、10 是定时任务。当一件事从「我让 agent 做一次」变成「cron 按时自己跑」,工具的性质就变了,它从玩具变成了依赖。这也是我敢把它叫作「基础设施」的原因。
定时任务还教会我一件事:稳定性的瓶颈往往在「宿主机醒着没有」,浏览器这一环反而很少出错。跑在晚上的任务常因电脑睡着而漏跑,后来我把它们全部迁到了午间档。
下面挑两口最深的井展开。
最深的一口井:公众号后台
这是体量最大的场景,也是坑最密的地方。先看它现在长什么样:
md2wechat.py 零 token 完成 Markdown→公众号 HTML 转换 → ego-browser(ego-lite 给 agent 用的 skill 和命令行入口)复用已登录会话进入 mp.weixin.qq.com → 合成粘贴正文(7 张图 1.06MB 分块送入,编辑器自动转存 CDN,约 5 秒完成)→ 封面 1:1 取景 → 插入账号名片 → 停。「发表」那颗键,永远留给我自己。
最后一句写进了代码:脚本一识别到发表按钮,就拒绝执行。agent 可以把一切准备到「只差一键」,但这一键的权限在架构上就不存在。
这条管线跑通十几篇草稿,代价是踩出了一串教科书上没有的坑。挑三个最疼的:
坑一:六个办法搞不定一个勾选框。「原文链接」的勾选框在页面上是隐藏的,我试了六种自动化办法,都不生效。这时 ego-browser skill 里的一条纪律救了场:同一操作失败 2-3 次即停,转人工。这一个 checkbox 至今手动勾选,我和它和平共处。
坑二:富文本编辑器只认「真」光标。开头那张被吃掉的 GIF,就栽在这里。公众号编辑器是 ProseMirror,合成粘贴会无视 JS 设置的光标位置,选区停在哪里,它自己说了算。现在管线里多了一道硬断言:插入名片前必须确认 selection.isCollapsed,光标状态不对就停,宁可重来。
坑三:一个「玄学 bug」三轮全判错。最难缠的是这一个。某天起,保存草稿后改动总是静默消失。第一轮判断「服务端剥离了超链接标签」,错;第二轮判断「纯文字块被删」,还是错;第三轮怀疑「链接样式被当成了伪装链接」,依然错。之后我换了个思路:不再猜页面表现,直接看保存请求的服务端原始返回,拿到的是 ret 320005,也就是定时发表状态下的草稿锁。前端把这个错误静默吞了,才伪装成各种「内容丢失」的假象。教训后来成了通用配方:自动化调试的第一反应永远是「读服务端原始返回」,不是「看页面表现」。
这口井里最值钱的产出是一条可以迁移的判断:网页自动化的大多数「不稳定」,不是 agent 笨,是页面在撒谎(静默吞错、视觉隐藏、假光标)。对付它,要把「验证」做成硬断言。

正反对照:同一种技术,一次死、一次活
第二口井是一次失败,我认为它和成功案例同样值钱。
九月我有个需求:批量清理收藏里的文章。第一方案是直接操作某个聊天软件的桌面客户端,很快就行不通:菜单是自绘的,自动点击点不中;频繁的试探性操作还触发了客户端自身的安全保护,被自动退出登录。这个方案当月就放弃了,原则写进记忆:要取这类客户端里的内容,一律走有官方接口的通道,不再碰客户端界面。
而同一个月,几乎同一个需求发生在 ima 客户端上,活了下来。同一类技术(客户端 UI 自动化),做法完全反着来:不连点探测,改慢速核对。截图 → macOS Vision OCR 识别菜单项(连「图标+文字」混排的匹配规则都调过)→ 慢速逐条右键删除 → 每删一条就用 ima 官方 API 的列表接口对一次账。中途 26 次「已删」全是假象(漏点二次确认弹窗,等于静默取消),正是靠 API 对账逐条戳穿的。最终 35 条删除、复核零残留、零误删。
两次结局摆在一起,结论自己浮出来了:
快探测死,慢核对活。在别人的客户端里,快速连续的自动化操作很容易被识别为异常;「慢速操作 + 每步对账」既守规矩,也是纠错机制:假成功比失败危险得多。
这同时也给 ego-lite 划出了真实边界:它的主场是 DOM 世界:网页里元素可见、事件可控、登录态可复用。一旦离开浏览器去碰原生客户端的像素 UI,它就退化为普通计算机操作 agent,优势清零。判据我后来写成了一条硬规则:需要复用登录态 → ego-browser;无需登录的公开页 → 无头浏览器;原生客户端 UI → 先问有没有 API。
(这条判据的第一句也是拿一次翻车换的:曾按「网页任务用无头」的通用规则去开公众号后台,迎面一屏登录二维码,因为无头实例里根本没有登录态。)

判断更新:上篇哪几条要改
交作业要彻底。三个月实战后,回看上篇文章的结论,逐条对账:
| 上篇结论 | 三个月后的状态 |
|---|---|
| 「共享浏览器是第三条路」 | 强化:10 个场景 + 2 个常驻 cron 验证了范式成立 |
| 「快不靠魔法,靠 JS 一次执行 + 内核 Snapshot」 | 成立,但快排在后面;登录态与真实浏览器环境才是主要价值(场景 9、10 是直接证据:纯脚本打不开的站点,真实浏览器能稳定打开) |
| 「skill 固化是最强降本杠杆」 | 强化:lovart 首次摸索大半个下午 → 固化后一条指令,曲线与上篇引用的 UP 主实测(1.04 美元降到 0.27 美元)同型 |
| 「人在回路,敏感操作人工接管」 | 从理念变成架构:发表键代码级禁止代按、账密永不触碰、批量生图先确认 |
| 隐含假设「它能搞定一切网页」 | 修正:DOM 主场战力满格;原生客户端 UI 是客场;页面本身撒谎时,靠硬断言兜底 |
ego-lite 自己这三个月也有变化,简单交代:Windows 已正式上线,Linux 仍在 roadmap;GitHub star 从 5,800 涨到 21,400;benchmark 换成了「Real-World Bench 31 个真实任务、比其他工具快 47%–63%」,依然是厂商自测,我照旧打折看;Site Skills(自动提炼可复用技能)仍是 coming soon,倒是我手动固化 skill 的路线(全景表第 4 项 lovart)先跑通了。License 未变:skill 与连接层 MIT 开源,浏览器本体免费但闭源。
四条规矩
回到开头那个问题。三个月下来,我给 agent 立了四条规矩,每一条都能在前面找到来历。
一、有些操作永远不做。发表键在代码层面拒绝执行;只复用已登录的浏览器档案,不碰账号密码,遇到登录失效就截图、停下等人。这两件事的后果都撤不回来,再聪明的 agent 也不该替我按。
二、同一操作失败 2-3 次就停。那个勾不上的勾选框,我要是让 agent 一直试下去,只会换着花样把页面点乱。停下来转人工,代价是我自己点一下。
三、每一步都要验证,而且要用页面之外的证据。草稿锁 320005 在页面上看不出来,只有服务端返回码说了实话;ima 那 26 次「已删」,界面上全是成功,只有 API 对账戳得穿;那张被吃掉的 GIF,也是靠事后核对图片顺序才发现的。页面会撒谎,验证就不能只看页面。
四、只在宿主机醒着的时候跑。前面说过,定时任务出问题多半是电脑睡着了。这条规矩管的其实是 agent 脚下那台机器。
工具决定上限,纪律决定你能不能到达上限。

三个月前的问题是「你愿不愿意把登录态交给 agent」;三个月后答案变得具体:愿意,但只肯交到一个权限有边界、失败会自己停、每步可对账的工作台里。ego-lite 交出的浏览器是合格的,剩下那半份答卷——纪律——得你自己写。
上篇欠的「实测一期」,这篇一次还了十个。下一篇你更想看哪个方向:把某个 SaaS 后台交给 agent 一个月,还是一座浏览器自动化的失败博物馆?
本文实战细节均出自作者工作日志与运行账本(公众号管线十几篇草稿的踩坑档案、ima 清理 35/35 复核记录),可溯源。上篇见《给 Agent 一个浏览器:ego-lite 与浏览器自动化的第三条路》(2026-07-30 发布)。外部数据(star 数、平台支持、benchmark)为 2026-11-03 GitHub 与官网快照。
评论