Superset Browser Control 允许智能体通过浏览器面板驱动网页,所有操作都在用户可见的 Superset 工作区面板中执行,并基于该面板真实、已登录的会话。它提供一组 superset browser 命令,同时暴露原始 Chrome DevTools Protocol (CDP) 端点以覆盖高层命令未涉及的操作。
用途:该工具用于让智能体打开 URL、预览或验证正在运行的 Web 应用、检查页面状态、读取内容、点击和输入,以及与网页进行交互。它强调优先选择简单的 HTTP 请求(如 curl 或 fetch 工具)处理可回答的公开页面、文档或 JSON 端点,仅在需要浏览器面板时使用本工具。
主要能力:
- 列出、打开、导航、截图、执行 JavaScript、读取控制台输出,以及获取 CDP WebSocket 端点。
- 支持通过 --target new-tab 在新标签页中打开页面,或复用当前活动面板。
- 提供 import-login 命令,可从系统浏览器(仅 macOS,支持 Chromium 系浏览器)导入 Cookie,使面板登录到用户已使用的站点。
- 通过 CDP 端点支持点击、输入、滚动、等待选择器等 Playwright 级交互。
- 支持将截图和证据目录发布为页面(superset pages publish),便于生成缺陷报告或走查记录。
使用方式:
- 首先确认控制面可用:运行 superset schema 或 superset browser --help,检查 list、open、navigate、screenshot、eval、console、cdp 等命令是否存在;若缺失,运行 superset update 并重新检查。
- 解析工作区:在 workspace 内使用 $SUPERSET_WORKSPACE_ID,否则通过 superset workspaces list --local --json 选择目标;远程主机需传递 --host <id>。
- 面板存在于桌面应用中;没有桌面应用连接的主机(如独立运行的 superset start)没有面板,相关命令会明确报错。
- 查找或打开面板:使用 superset browser list、superset browser open 等命令,并注意 paneId 与工作区绑定。
- 使用高层命令驱动:navigate 导航、screenshot 截图、console 读取控制台、eval 执行 JavaScript。
- 需要完整交互时,通过 superset browser cdp 获取 CDP WebSocket 端点,并使用 Node 22+ 或 Bun 编写脚本进行点击、输入等操作。
- 导入登录:当用户表示已在某浏览器登录,或面板遇到登录墙时,可建议使用 import-login,但需用户明确同意;该命令会导入整个配置文件的 Cookie,而非仅当前站点。
适用场景:
- 预览开发服务器或验证用户正在观看的 UI。
- 点击走查应用内的流程。
- 检查页面错误、读取结构化数据。
- 需要真实输入事件的复杂交互。
- 生成包含截图的缺陷报告或走查记录,并发布为页面。
限制与注意事项:
- 面板操作仅在桌面应用连接时可用,独立主机无面板。
- open 和 navigate 仅接受 http(s) 和 about: URL;file://、chrome://、data: 会被拒绝。
- 每个面板只允许一个 CDP 会话,第二个并发连接会被拒绝(关闭码 1013)。
- import-login 仅限 macOS,且只导入写入磁盘的 Cookie;许多站点的会话 Cookie 存于内存,需先退出源浏览器。
- 安全方面:面板共享同一浏览器配置文件,eval 和 CDP 可访问用户在任何面板登录的站点;禁止读取 Cookie、令牌或凭据,禁止泄露会话数据,禁止在认证站点执行超出任务范围的操作。
- 提交表单、购买等重大操作前需用户确认;登录墙不得由智能体输入密码或 MFA。
- 安装 Browser Use、启用 Chrome 远程调试、附加到用户已登录配置文件或启动计费云浏览器均需明确同意。
- 发布证据前需检查截图是否包含敏感信息,并确认可见性(默认组织内可见,可使用 --visibility just_me)。
- 操作应保持状态干净,避免关闭用户标签页或清除历史记录,除非用户要求。