核心用法
chrome-relay-browser 是一种基于 Chrome Extension 的浏览器控制方案,区别于传统的 Playwright/Puppeteer 启动新浏览器实例的方式,它通过 Relay 机制直接 attach 到用户已打开的 Chrome 标签页上进行操作。
工作流程:
1. 用户安装并配置 Chrome 扩展(设置 Relay port 和 Gateway token)
2. 在目标标签页点击扩展图标完成 attach
3. 通过 node ctl.js 执行命令:navigate(跳转)、screenshot(截图)、title/url(获取信息)、evaluate(执行 JS)
配置要求:
- 环境变量:
RELAY_TOKEN、RELAY_PORT - 配置文件:
~/.openclaw/secrets/browser-relay.env openclaw.json需启用 browser 并设置attachOnly: true
显著优点
- 零侵入体验:复用用户现有浏览器,保留登录态、Cookie、扩展等环境
- 实时可视化:用户可直接在屏幕看到自动化操作过程,适合教学演示
- 资源轻量:无需额外启动浏览器进程,降低内存占用
- 原生环境:完全使用用户真实浏览器配置,绕过部分反自动化检测
潜在缺点与局限性
- 依赖人工前置步骤:需用户手动安装扩展、配置 token、attach 标签页
- 单标签页限制:一次只能控制一个 attach 的标签页,多页操作需切换
- 稳定性风险:Chrome 扩展可能因浏览器更新、政策变化失效
- 网络架构复杂:涉及 Relay-Gateway 通信,端口/令牌配置出错概率较高
- 安全风险:需明文存储 token,扩展拥有页面完全控制权
适合人群
- 需要实时演示自动化流程的用户(教育、客服场景)
- 依赖特定浏览器环境(企业登录、特殊扩展)的自动化需求
- 希望降低反爬检测概率的网页数据采集者
- 本地开发调试阶段需要快速验证 DOM 操作的开发者
常规风险
| 风险类型 | 说明 |
|---------|------|
| 令牌泄露 | `RELAY_TOKEN` 以明文存储,若文件权限不当可被读取 |
| 扩展权限滥用 | 恶意扩展或配置错误可能导致页面数据被窃取 |
| 中间人攻击 | Relay 通信若未加密,本地网络环境存在嗅探风险 |
| 用户误操作 | attach 错误标签页可能导致敏感信息暴露 |
| 浏览器兼容性 | Chrome 版本更新可能破坏扩展功能 |
故障排除要点
Unauthorized→ 核对扩展与 secrets 的 token 一致性No tabs→ 确认用户已执行 attach 操作Connection refused→ 检查端口配置或重启 Gateway