用途:agent-browser 用于需要干净、可复现浏览器会话的自动化与验证任务,而非复用用户真实浏览器配置。适合确定性表单检查、导航检查、页面状态验证,以及 CI 风格、可复现性优先的浏览器检查。
主要能力:提供隔离的全新浏览器会话;通过 snapshot -i 生成结构化快照引用(@e1、@e2 等);支持快照差异、截图差异、定向提取、PDF/截图捕获等验证模式;支持命名会话实现并行隔离;可显式保存与加载认证状态。
使用方式:核心循环为打开干净会话、等待稳定页面状态、先用 snapshot -i 观察、使用新引用执行一次操作、再次观察、用明确证据验证。基础命令示例:agent-browser open https://example.com/form;agent-browser wait --load networkidle;agent-browser snapshot -i;agent-browser fill @e1 "user@example.com";agent-browser click @e2;agent-browser snapshot -i。命名会话示例:agent-browser --session signup-check open https://example.com/signup。认证状态可保存为 auth.json 后加载。复杂多行 JavaScript 建议通过 eval --stdin 传入。
适用场景:可复现的结账或表单验证、视觉回归切片、并行浏览器任务、需要明确前后证据的自动化检查。
限制与注意:导航或 DOM 重大变化后必须重新运行 snapshot -i,不能沿用旧 @eN 引用;优先使用确定性等待而非固定休眠;认证文件不应纳入版本控制;敏感运行应使用允许域名与操作策略防护。若任务依赖用户已打开的浏览器、实时 Cookie、扩展、通行密钥、SSO 或长期个人浏览器状态,应改用 playwriter;若需要精确渲染 UI 反馈或标注,应改用 agentation;若需计划或差异审查,应改用 plannotator。
参考资料:https://github.com/vercel-labs/agent-browser、https://agent-browser.dev、https://playwright.dev/docs/locators、https://playwright.dev/docs/aria-snapshots。模板:./templates/form-automation.sh、./templates/capture-workflow.sh。