核心用法
Remote Browser Service 是一个面向 AI Agent 的远程浏览器自动化平台,通过 HTTP API 控制托管在 Kubernetes 或 Docker 上的 Chrome 实例。服务提供两条核心工作流:
DOM 自动化路径:导航 → 获取可访问性树快照(/json)→ 基于选择器或 ref 执行操作(点击、输入、滚动等)→ 验证结果。适合标准网页表单、导航、内容提取场景。
VNC 远程桌面路径:打开 noVNC 界面 → 捕获帧缓冲截图(/vnc/screenshot)→ 发送像素级输入(/vnc/action)→ 验证结果。适用于浏览器原生对话框、Canvas 渲染、权限提示等非 DOM 场景。
关键 API 包括:会话管理(创建/恢复/存储)、导航控制、多模式截图(Chrome 渲染/VNC 帧缓冲)、元素操作(DOM 与 VNC 双模式)、文本提取(readability/raw)、安全凭证填充(Keeper 集成)。
显著优点
- 双模式架构:DOM API 低成本高效,VNC API 覆盖极端场景,互为补充
- 会话持久化:完整浏览器状态(cookies、localStorage、IndexedDB、Service Workers)保存至 S3,恢复后保持登录态
- Token 成本优化:提供从
/status(~50 tokens) 到/text(~800) 再到/json(~10K) 的分层提取策略,明确反对滥用截图 - 安全凭证填充:内置 Keeper 协议,敏感值由用户在外部应用输入,服务代填,Agent 永不接触明文
- 支付卡原生支持:专用字段类型(card-number、card-cvv 等)配合掩码与格式验证
- 精细化截图控制:支持区域裁剪、质量调节、DOM 元素级捕获,避免全页高质截图的 token 浪费
潜在缺点与局限性
- 并发限制:每用户最大 1 个活跃会话,创建失败需显式关闭旧会话或等待
- 会话脆弱性:无活跃连接时 5 分钟回收,服务部署重启会丢弃所有 live session(存储状态可恢复)
- CDP 帧限制:5 MiB 上限仍可能触发超大页面 502 错误,需降级到裁剪截图
- 动作可靠性:
ok: true不代表实际生效(元素遮挡、视口外、SPA 状态未更新),必须二次验证 - Keeper 依赖:安全填充需用户端 Keeper 应用在线,否则需回退到 VNC 人工操作
- DOM 与 VNC 坐标系差异:混用易出错,需明确当前模式
适合人群
- 需要自动化操作复杂 Web 应用(含单页应用、需要登录态的站点)的 AI Agent 开发者
- 处理非标准 UI(Canvas、自定义组件、系统对话框)的场景
- 对 token 成本敏感、追求高效信息提取的自动化工作流
- 需要安全处理凭证而不暴露给 Agent 的企业场景
常规风险
- 凭证泄露风险:虽有 Keeper 机制,但开发者可能误用
type/fill直接输入敏感值 - 会话劫持:Bearer token 泄露可导致他人控制会话,需妥善保管
AC_API_KEY - 动作误判:依赖
ok响应而不验证实际状态可能导致自动化流程错误累积 - 成本失控:滥用全页高质量截图或频繁 VNC 操作会迅速消耗 token 预算
- 合规边界:文档明确限定"用户拥有或有权访问的站点”,但实际执行依赖开发者自律