Remote Browser Service:云端浏览器自动化引擎
Remote Browser Service 为 AI 代理提供了完整的远程浏览器控制能力,通过 HTTP API 实现两类自动化模式:轻量高效的 DOM 级操作(元素定位、点击、输入、滚动)和像素级精确的 VNC 远程桌面控制(鼠标移动、键盘输入、Framebuffer 截图)。该服务基于 Kubernetes/Docker 后端部署,支持会话持久化(cookies、localStorage、IndexedDB 自动保存至 S3),允许断线重连后恢复登录状态。
核心用法
典型工作流遵循「导航 → 快照 → 操作 → 验证」四步循环:使用 /navigate 加载目标页面,/json 获取可访问性树(带 ref 引用),/action 执行点击/输入/滚动等操作,最后用 /text 或 /screenshot 验证结果。对于复杂表单,推荐用 fill 替代 type 以确保受控组件(React/Vue)正确响应;对于浏览器原生对话框、Canvas 渲染或 DOM 无法触及的 UI,切换至 VNC 路径(/vnc/screenshot + /vnc/action)。
显著优点
- 双模式架构:DOM 操作低延迟、低 Token 消耗;VNC 模式突破 DOM 限制,覆盖全场景
- Token 成本优化:提供详尽的
/text、/json?filter=interactive等结构化提取接口,截图仅作视觉验证备用 - 会话持久化:5 分钟空闲回收 + 服务重启不丢状态,同名 session_id 即可恢复登录态
- 弹性扩展:单用户并发限制为 1 会话,支持存储会话克隆(fork)与临时会话(ephemeral)
局限性与风险
- 并发限制严格:单用户仅 1 个活跃会话,高频场景需自行排队或等待 429 重试
- Action 成功≠生效:
click等操作返回{"ok": true}仅表示事件已派发,实际效果需二次验证(覆盖层、SPA 异步更新可能导致无响应) - CDP 帧上限:尽管已提升至 5 MiB,极端复杂页面仍可能触发 502,需降级至裁剪截图
- 服务重启丢失运行时:无 VNC 连接的空闲会话 5 分钟后回收,部署重启强制清理内存状态(依赖存储会话恢复)
适用人群
- 构建网页自动化 Agent 的开发者(RPA、数据抓取、端到端测试)
- 需要与复杂 Web 应用(SaaS 后台、电商后台)交互的 AI 工作流
- 多步骤任务场景(跨页面表单填写、验证码处理、文件上传预览)
常规风险
- 凭证安全:
AC_API_KEY作为 Bearer Token 派生 user_id,需按密钥管理;支持服务端加密会话(encrypt_with_api_key) - 网络稳定性:WebSocket 连接中断需客户端实现重连逻辑
- 目标站点策略:部分站点对无头浏览器/自动化检测敏感,可能触发风控或 CAPTCHA