核心用法
auto-browser 是一个基于 Chrome Debug Protocol(CDP)的浏览器自动化技能,允许用户用自然语言指令操控真实 Chrome 实例完成复杂网页操作。
典型工作流:
1. 环境准备:自动检测或启动 Chrome Debug 模式(端口 9222)
2. 感知-行动-确认循环:每步操作前先 browser_snapshot 获取页面无障碍树(a11y tree),用元素 ref 定位目标,执行操作后截图验证
3. 多步任务拆解:复杂指令自动拆分为「导航→等待→交互→提取→截图」序列
支持操作矩阵:
- 导航类:
browser_navigate/browser_navigate_back/browser_tabs - 交互类:
browser_click/browser_type/browser_fill_form/browser_select_option/browser_press_key/browser_drag/browser_hover - 等待类:
browser_wait_for(时间/文本/元素) - 提取类:
browser_evaluate执行 JS 获取数据 - 辅助类:
browser_take_screenshot/browser_handle_dialog/browser_file_upload
显著优点
1. 真实浏览器环境:连接用户本地 Chrome,完全保留 Cookie、登录态、扩展插件,非沙盒模拟
2. 自然语言驱动:无需编写选择器或代码,「去 Amazon 搜机械键盘截图前三结果」即可执行
3. 鲁棒的定位策略:基于 Playwright 的无障碍树快照,比 CSS/XPath 更稳定应对动态页面
4. 完整交互能力:支持拖拽、文件上传、弹窗处理、多标签管理,覆盖 99% 手动操作场景
5. 可见即可说:用户可直接引用页面可见元素,Agent 自动解析意图匹配语义字段
潜在局限与风险
技术局限:
- 依赖 Chrome Debug 端口,若端口被占用或防火墙阻断需手动排查
- 部分 SPA(单页应用)的动态加载需多次
wait_for+snapshot轮询 - 验证码、人机检测(如 reCAPTCHA)无法自动绕过,需用户介入
安全风险(重点):
- 敏感操作边界:密码填写需用户确认;「提交」「付款」「删除」等不可逆操作默认需二次授权(除非用户明确指令)
- 数据隐私:操作过程中页面 Cookie、LocalStorage 对用户可见,但 Agent 理论上可读取所有已授权站点数据
- JS 执行风险:
browser_evaluate可执行任意页面上下文代码,恶意网页可能利用此接口进行 XSS 类攻击
运维成本:
- 首次需配置
~/.cursor/mcp.json并 reload MCP - Chrome 崩溃或端口断开时需手动重启 debug 模式
适合人群
- 运营/产品经理:快速抓取竞品数据、截图验证页面效果、自动化后台巡检
- 开发者:调试流程自动化、快速复现用户反馈的页面问题
- 测试工程师:构建可视化回归测试、多浏览器兼容性快速验证
- 普通用户:帮长辈远程操作网页、批量处理表单填写
常规风险提示
| 风险类型 | 说明 |
|---------|------|
| 会话劫持 | Chrome Debug 端口无认证,本地 9222 端口暴露可能导致未授权控制 |
| 敏感信息泄露 | 截图可能包含个人隐私数据,提取的数据可能意外持久化到日志 |
| 误操作风险 | 自然语言理解的歧义可能导致点击错误按钮(如「删除」vs「删除确认」) |
| 网站封禁 | 高频自动化操作可能触发目标站点的反爬机制,导致账号/IP 受限 |
建议: 仅在可信本地环境使用,避免在公共网络暴露 9222 端口;敏感账号操作前确认 URL 正确性;定期清理 /tmp/chrome_debug_profile 临时数据。