跳到正文

浏览器操作

Browser Use 为任务提供一个可见、受审批约束的浏览器,用于读取网页、与站点交互和收集可审查证据。 主智能体拥有任务的 Browser 权限,也可以向符合条件的子智能体委派更窄的操作。任务、权限和 provider 绑定由 Kairo 持有,网页不能自行扩大权限。

Kairo Code 浏览器工作面,展示活动回放、页面证据、origin、审批和当前控制方
真实产品界面 · 页面、活动证据、审批与控制方保持在同一工作面

选择浏览器

Provider适用场景身份与存储
Kairo 内置浏览器常规研究、本地 Web 测试,以及希望实时观看或接管的共享页面。独立于 Chrome、按已认证 Kairo 所有者隔离的持久配置;同一所有者的任务及其合格子智能体共享该配置。
Google Chrome需要既有 Chrome 登录或扩展状态的网站。使用明确配对的 Chrome profile 与其登录状态。
远程 Browser Host源代码和浏览器执行都必须留在受管远程机器。由该 Host 拥有和配置。

选定 provider 会绑定到任务,重新连接不会静默换身份。provider binding 是任务中记录允许使用内置、 Chrome 或远程 provider 的持久字段;选择很重要时应在请求中明确说明。

内置 profile ID 由已认证的 Kairo 所有者单向派生,不包含原始账号标识。Cookie、网站存储、代理与下载 处理以及地址历史都会进入该所有者独立的 Electron 持久分区。子智能体只能继承父任务的精确 profile, 不能选择或打开其他所有者的 profile。缺少所有者绑定的旧 Browser 检查点会被拒绝,不会静默归到当前账号。

使用内置浏览器

内置浏览器不需要安装扩展。让 Kairo 打开 HTTP(S) 页面,或自己在任务 Browser 中打开链接。面板会 显示当前页面、智能体活动、截图、标签页以及当前输入控制方。

进入 Settings → Browser 可以在保留手工浏览的同时关闭智能体控制,配置下载与链接行为,管理 Developer Mode,或清理浏览器数据。

配对 Google Chrome

Chrome 配对可选,并且只属于当前电脑:

  1. 打开 Settings → Connections → Google Chrome (optional)
  2. 选择 Reveal extension folder
  3. chrome://extensions 开启开发者模式,选择 Load unpacked 并加载该目录。
  4. 在 Kairo Code 选择 Generate pairing code
  5. 配对卡会显示 Local socket 和一次性验证码;两分钟内把二者复制到扩展,不要猜测或复用其他 Host 的端点。

不再使用时从同一设置卡撤销配对。撤销会断开 provider 并拒绝旧重连凭据;已绑定 Chrome 的任务会 失败关闭,不会偷偷回退到内置浏览器。Kairo 只操作任务拥有的标签组,不获得 Chrome 通用浏览历史 API。

重连凭据只会跨越明确的干净 Host 关机保留。崩溃、强制终止、关机标记损坏或凭据存储失败后,下次 启动会撤销旧凭据并要求重新配对。若持久撤销记录无法写入,实时控制仍会立即断开,配对和重连保持 fail-stop,直到修复 Host 数据目录权限、磁盘或数据卷并重试 Revoke。设置健康状态中的 tombstone 就是证明旧凭据必须持续失效的小型持久标记。

重放操作前先检查网站真实状态

Stop、Chrome 断连或 Host 崩溃可能发生在网站已接受点击/提交、但 Kairo 尚未保存结果之后。重连后 先检查真实页面,不要直接重复支付、消息、表单提交、发布或其他可能执行两次的操作。

恢复结果未知的 Chrome 操作

失败活动提示上一次结果未知时,该操作不可以自动重试:

  1. 不要重复点击、输入、上传、发消息、提交表单、发布或支付。

  2. 若活动卡提供 View Browser session,先查看当前页面和配对的 Chrome 任务标签组。

  3. 发送新的只读检查请求,例如:

    用一次新的只读 Browser 观察检查当前页面。不要重复之前的操作。报告页面是否已经明确显示 [预期结果];如果网站不能证明,请停止并询问我。

  4. 只有网站状态证明第一次操作是否发生后,才授权新动作。页面无法证明时,查阅网站自己的活动、 订单、消息或审计历史,必要时联系网站运营方。

新的只读观察建立的是新的恢复边界,既不会把旧操作变成可重试命令,也不保证外部网站 exactly-once。

登录页面包含敏感信息

Chrome 继承配对 profile 的有效登录。语义快照会遮盖交互控件值,但截图、可读正文、标题和操作结果 仍可能含私密信息。只批准确实需要的站点和操作。

审批如何工作

Browser 权限按任务生效,并且比普通工具会话授权更窄:

请求审批行为
读取新的 HTTP(S) 站点单次批准,或对该准确 origin 授予普通读取权限。
点击、输入、历史导航、处理对话框、下载或管理标签页每次都需要明确的一次性决定。
控制台、网络、性能或 DOM/样式诊断需要 Browser Developer Mode 和独立的开发者 origin 授权。
读取或动作在获批后改变 originHost 在返回捕获内容前拒绝。
显式导航遇到 HTTP 重定向返回有界最终页面状态;最终 origin 是下一次读取/动作的新审批边界。

origin 指 scheme、host 与 port 的组合,不是通配域。跨 origin iframe 需要自己的明确 frame origin, 同时根据最新页面清单和获批顶层 origin 检查。关闭 Browser 智能体控制会立刻撤销缓存的任务/站点授权。

已获批页面在读取或动作期间改变 origin 时会失败关闭。显式 navigate 可跟随 HTTP 重定向,因为目标 已单独审查;Kairo 只记录有界最终页面状态,下一次操作仍需批准最终 origin。失败调用和导航回执都 不会自动成为新站点的可复用授权。

标签恢复刻意最小化隐私:列表只给智能体不透明标签 ID、当前标签、准确 HTTP(S) origin 和必要的 加载/脏状态,不包含标题、URL path/query/fragment 或 JavaScript 对话框正文。先选择标签并批准 origin, 再读取页面内容。

点击与输入兼容性

语义点击与输入绑定获批的准确 renderer document。Kairo 在执行动作的同一个 renderer 任务内再次检查 origin 与元素,不会把敏感文本或延迟指针事件交给后来碰巧成为当前页的文档。

这一边界使用 DOM activation 和原生 value setter,因此点击是合成 HTML 激活,不是受信任的物理指针 事件。要求 event.isTrusted、硬件手势或浏览器文件选择器的网站可能拒绝。Kairo 会让动作失败,而不是 回退到存在 origin 竞态的原生事件;此时选择 Take control 手工完成。

下载边界

智能体下载会先暂存在任务工作区,大小上限 250 MiB,独立计算哈希,并且只在目标不存在时原子提交。 内置浏览器还把每个标签的原生页面容器视为一次性下载授权:一次下载尝试无论成功、取消、超时还是 失败,下一次都必须新开标签;刷新或导航不能重置。

已退役标签迟到的原生下载事件会取消,即使 Chromium 将其标记为用户手势。同一标签中的手工下载也会 被阻止,应打开新标签。新标签共享登录 cookie,但不复制未保存页面状态。

接管并交还控制

你与智能体可以使用同一可见内置页面,但同一时刻只有一方拥有输入。手工点击/输入前选择 Take control;接管会使自动站点复用失效,下一次智能体动作必须重新明确审批,这次审批就是交还。

显示或隐藏面板不会转移控制。Stop 会传播到内置或远程 Host 的活动命令,后续命令会等到 provider 确认取消或连接被回收。对 Chrome,停止已发送命令还会断开当前控制通道并等待重连;网页可能已经完成 动作,因此必须先检查。Stop 不会删除浏览器数据、配对凭据或任务证据。

本地所有者边界

内置 profile、配对 Chrome 身份和可见 Browser 界面属于一个本地 Host 所有者。规范本地账户只有在 不与公共代理共享的受信回环本地路径或桌面 SSH 路径上分配。只有该账户创建的任务可以使用共享 Browser; JWT、API token、配对设备、LAN、正确配置的反向代理身份及无所有者旧任务都会失败关闭,服务端在输入、 观察、可见性和 provider 调度每个边界重新检查。

回环后端接公共代理时必须关闭 loopback bypass,否则 Browser 检查之前所有者边界就可能坍塌。详见 Host 全局 Browser 设置只允许规范本地所有者修改;其他身份只能查看,需请 Host 管理员代为调整。这个上限与 Allow Agent control 独立:本地所有者可关闭智能体控制后继续手工浏览,但重新打开也不会把 Browser 授权给远程或无所有者任务。共享/多身份部署还必须设置 KAIRO_DISABLE_BROWSER_USE=true;当前按任务 检查不是多租户浏览器 profile 设计。

证据与数据清理

快照和截图进入任务前会限量,但已经附在任务中的证据与实时浏览数据相互独立:

  • Clear browsing history 只删除 Kairo 地址历史,不删除登录、cookie、任务截图或证据。
  • Clear selected site data 删除准确 origin 的 Chromium 数据;cookie 规则可能影响同一注册域的子域。
  • Clear browser data 退出网站、删除本地 cookie/历史并重启本地 Browser 服务;先停止本地活动任务, 已有任务证据仍保留。

远程或内置 Browser Host 最多保留 128 个任务会话,因为每个会话可能保存唯一的网页效果回执。隐藏 面板、停止观察、断连、归档或闲置都不会释放该权威;只有永久删除任务会在活动命令结束后关闭标签 和临时下载授权、移除回执并复用容量。响应丢失时可安全重复删除请求。

容量耗尽时永久删除不再需要的任务。Host 或 checkpoint 持久化失败时先修复数据卷或重启失败的 Host 代际,再重试;不要手工删除单个 checkpoint/tombstone。每个 Host 代际还维护最多 4,096 个不可逐出 的已退役会话 deny-list;到达上限后重启 Browser Host 创建新代际,Kairo 不会丢掉旧拒绝项来腾空间。 这些机制阻止迟到命令复活会话,但不能让外部网站操作获得 exactly-once 保证。

当前委派边界

子智能体只有同时满足以下条件才能使用 Browser 工具:

  • 父任务仍活动且 Browser 智能体控制仍开启;
  • 子任务仍处于 RUNNING
  • 所选智能体配置允许准确 Browser 工具;
  • 父审批策略允许准确工具名、参数、子任务身份和模型调用身份。

符合条件的子智能体只能使用父任务选中的应用内 provider 与页面,包括托管在父任务远程 Host 的 应用内 provider;它不能选择 provider 或关闭会话。父任务绑定配对 Chrome 时,委派 Browser 调用失败 关闭,必须先由父任务主动切到应用内 provider。

已准入子动作与主智能体及其他子任务严格排序。子任务不获得可转移的页面授权:Host 为每次调用生成 一次性身份,将原始模型 call ID 绑定准确工具与参数指纹,调度时重查父子状态和输入权威,再把结果 协调回父任务后才开始下一个 Browser 命令。停止的委派命令使用与父任务相同的取消栅栏。内置 explorer 没有 Browser 工具。

Kairo Code 用户手册 · 闭源产品分发