核心用法
browser-control 是一项用于远程浏览器访问的技能,主要解决AI助手无法直接处理的网页交互场景。当用户需要登录网站、完成双因素认证(2FA/MFA)、解决验证码(captcha)或执行其他手动浏览器操作时,该技能通过以下流程提供服务:
1. 状态检查:运行 status.sh 查看VNC、noVNC和ngrok隧道状态
2. 启动隧道:如未运行,执行 start-tunnel.sh 启动VNC+noVNC+ngrok隧道(约30秒)
3. 获取链接:必须实时读取 config.json 获取动态URL(切勿使用缓存值)
4. 用户操作:用户点击链接,通过Google OAuth认证后执行所需操作
5. 继续自动化:用户确认完成后,通过CDP (localhost:9222) 继续浏览器自动化
显著优点
- 零密码暴露:采用Google OAuth认证,无需向AI透露任何网站密码
- 动态URL安全:隧道URL每次重启后变化,增加攻击面 obscurity
- 单邮箱锁定:仅安装时配置的特定邮箱可访问,防止未授权使用
- 即开即用:脚本化启动/停止流程,运维门槛低
潜在局限性与风险
| 局限/风险 | 说明 |
|-----------|------|
| 隧道不持久 | 服务器重启后**不会自动恢复**,必须手动重新启动 |
| 依赖外部服务 | 依赖ngrok和Google OAuth,存在第三方服务可用性风险 |
| URL时效性 | 必须实时读取config.json,缓存URL会导致用户无法访问 |
| 手动等待依赖 | 需用户主动反馈"done"才能继续,流程存在阻塞点 |
| OAuth单点 | 若Google账户被盗,攻击者可访问该浏览器会话 |
适合人群
- 需要让AI协助处理需登录状态的网页自动化任务
- 不愿向AI系统透露网站密码、2FA密钥等敏感凭证的安全意识较强用户
- 有技术能力执行shell脚本、理解隧道/VNC基础概念的进阶用户
常规风险提示
⚠️ 关键操作警示:发送URL前务必实时执行 cat ~/.openclaw/skills/browser-control/config.json,文档中三次强调禁止依赖记忆值。
⚠️ 会话安全:用户完成操作后建议运行 stop-tunnel.sh 关闭隧道,减少暴露窗口。