OpenProgram · Web Use
Web Use:只控制内置浏览器 Page
Agent 可以直接调用 web_use,也可以让 GUI Agent Harness 用同一接口连续执行。Runtime 绑定一个 exact Page,并在三个 browser backend 中固定一个执行。
TARGET NAME: WEB_USE · PUBLIC NAME: WEB_USE · BROWSER-ONLY RUNTIME IMPLEMENTED
名称与边界
| 能力 | 负责什么 | 当前状态 |
|---|---|---|
| Web Use | 内置浏览器的 BrowserContext、Page、tab、popup、分屏、跨窗口发现,以及 DOM/ARIA/viewport 操作。 | 当前能力;公开名称为 web_use |
| Computer Use | 未来的桌面应用、整屏或应用窗口截图、OS 级鼠标键盘;需要操作网页时可以调用 Web Use。 | 保留名称,当前不实现,也不预建配置或后台进程 |
系统结构
三个 backend 都是可选执行路径;Runtime 在 WebSession 创建时固定其中一个,并把所有动作限制到同一个 Page。
四个网页在一个窗口里怎样表示
当前 list_pages 同时返回 tab_entries + pages:前者描述 single/split 与 pane 顺序,后者提供可独立控制的 exact Page token。跨窗口目标保持相同结构,在外层增加 windows[],每个 Page 继续携带原 window_id。完整字段见多 Page 数据模型。
Claude Code 的视觉坐标点击分支
本图来自本机 Claude Code 2.1.227 与 Chrome 扩展 1.0.85 的安装包观察,只描述视觉坐标分支,不是官方稳定内部接口。computer 也支持使用页面 ref 点击;该分支不要求先截图。
Chat 渲染稳定性
存在 live normal assistant reply 或对应 runtime card 已存在时,Web Use 的 tree update 不得触发 transcript reload。standalone run 缺少 persisted runtime card 时允许首次单次 hydrate。该约束确保已有历史 message element identity 保持不变,避免流式回复、滚动位置和消息操作状态被重置。
可以复用到什么程度
| 结论 | 组件 | OpenProgram 处理 |
|---|---|---|
| 直接使用 | Microsoft Playwright MCP、Playwright、MCP SDK | 开源依赖;固定版本后接入。 |
| 直接调用接口 | CDP、Electron webContents.debugger、Chrome debugger / Native Messaging | 不需要复制 Claude 代码;内置浏览器直接使用 Electron/CDP,不需要另装 Chrome 扩展。 |
| 可选 backend | Chrome DevTools MCP | 通过 MCP adapter 接入统一 Runtime,并绑定 exact Page。 |
| 可选 backend | Open Claude in Chrome-compatible | 采用其工具契约与视觉操作方式;由 OpenProgram Electron/CDP adapter 绑定 exact Page。 |
| OpenProgram 层 | exact Page adapter、统一权限、verification 与 backend selector | 三个 backend 共用;单个 WebSession 只允许一个 backend 执行动作。 |