WebBrowser 让应用同时出现在你和 agent 面前
WebBrowser 是 Canvas 中的实时 Chromium 表面。连接的 CodingAgent 可以观察、交互、等待、调试并测试你正在 查看的页面。
阅读本指南时,可以在另一个标签页打开 Kavor 的 WebBrowser 演示 (在新标签页中打开)。
把 browser 当作开发工具
开发 Web 应用不只是修改文件。CodingAgent 还需要打开应用、与它交互、等待真实状态,并调查 browser 中发生 了什么。
通过 CodingAgent + WebBrowser Connection,agent 可以使用由 Kavor 中介的一组操作:
- 观察: 读取页面状态、获取可访问性 snapshot、截取 screenshot;
- 交互: 点击、填写字段、插入文本、按键、选择选项、勾选控件、滚动、拖动、上传文件和响应对话框;
- 同步: 等待 selector、文本、URL、加载状态、网络空闲或特定条件;
- 调试: 查看 console 消息、网络请求和保留的响应正文;
- 测试: 复现 bug、运行 E2E 流程并保留视觉证据;
- 隔离场景: 在受控测试中阻止、继续或模拟网络响应;
- 管理页面: 打开、选择和关闭标签页,跟踪下载并处理身份验证挑战。
目标不是把 browser 隐藏在自动化之后,而是让 agent 工作时的状态和动作可验证。
Web 应用的实用 loop
先让 WebBrowser 和 CodingAgent 位于同一组件。如果应用在本地运行,也连接启动服务器的 Terminal。
要求 agent 先观察页面再行动,复现失败路径,收集 console、网络或 screenshot 证据,在明确范围内修改代码, 然后等待新状态并重新验证完整流程。把结果和剩余风险记录到 Sticky Note。
可以从这样的提示开始:
打开连接的应用。先观察页面并在不修改代码的情况下复现流程。然后说明可能原因,提出最小修改,并用视觉和 console 证据验证完整路径。
也给人使用的 browser
你也可以把 WebBrowser 当作 Workspace 中的普通页面:打开文档、观看视频,或在 agents 工作时保留参考页面。
YouTube 和其他常见页面是自然用法。Netflix 等流媒体服务可能需要身份验证、DRM、权限或特定系统条件, 因此 Kavor 不保证任何特定服务的播放。
共享表面,而不是隐形 browser
agent 和人共享同一个实时页面。你可以看到动作并介入;agent 没有隐藏行为的私有窗口;持久化标签页属于 Kavor 自己的 browser profile,并在其 WebBrowsers 之间共享;外部 Chrome 的扩展、历史和 cookie 不会自动复用。
页面内容是不可信的。WebBrowser 也不是远程 browser 服务,更不是操作机器 filesystem 的通用权限。
限制与注意事项
CAPTCHA、passkey、网站权限、证书和身份验证提示可能需要你介入。snapshot 引用会在导航或 DOM 变化后过期, 所以应该重新获取 snapshot。网络规则是临时的,测试结束后必须清除。开发 profile 接受自签名、过期和私有 机构签发的证书,这会降低它对恶意网络的防护;在敏感服务中登录前要谨慎。
snapshot 可能省略 cross-origin frame,console 和网络历史也有界限;agent 应报告观察到的证据,而不是编造 无法检查的内容。
在同一窗口切换 Workspace 时,Kavor 会保留当前页面。即使另一个 Workspace 可见,连接的 CodingAgent 也可以 继续操作该页面。关闭标签页、删除 Node 或结束 session 会终止这种连续性。
Connection 与 Guardrail
直接的 CodingAgent + WebBrowser pair 会把 browser 放入 agent 可达的组件。图中还可以通过有效路径包含 Specification、Files、Terminal、Sticky Note 和其他 CodingAgents;视觉接近或消息提及都不会创建访问权。
WebBrowser 目前没有自己的专用 Guardrail。这不影响图中其他资源的限制:read-only File 仍然只读,Terminal 保持 自身控制,Specification 继续遵守其 lifecycle。
继续阅读
- 查看 Connections 矩阵 中 CodingAgent + WebBrowser 的契约。
- 阅读 CodingAgents 如何查看和构建 Canvas。
- 在第一个 loop中组合 browser、代码和证据。
- 使用 Specification 在测试应用前定义预期行为。