# Computer Use

构建 GUI 自动化 Agent、让 Agent 像人一样看屏幕并用鼠标键盘操作桌面或浏览器软件时使用。...

- Repository: https://github.com/bojieli/ai-agent-book (56844 stars)
- Category: AI and agents
- License: Apache-2.0
- Last updated: 2026-10-08
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add bojieli/ai-agent-book --skill computer-use -g -a claude-code -y`
Codex: `npx skills add bojieli/ai-agent-book --skill computer-use -g -a codex -y`
Cursor: `npx skills add bojieli/ai-agent-book --skill computer-use -g -a cursor -y`
Gemini CLI: `npx skills add bojieli/ai-agent-book --skill computer-use -g -a gemini-cli -y`

## Description

构建 GUI 自动化 Agent、让 Agent 像人一样看屏幕并用鼠标键盘操作桌面或浏览器软件时使用。 覆盖感知-思考-行动循环、动作空间（GUI/bash/文件编辑）、视觉定位 Grounding 三条路线 （结构化元素索引、Set-of-Mark、纯坐标预测）、分辨率坐标缩放、关键帧观察接口、世界模型与移动端生态壁垒。 触发词：Computer Use、GUI 自动化、截图、Grounding、browser-use、Set-of-Mark、视觉定位、坐标缩放、OSWorld。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Computer Use：GUI 自动化 Agent

## 何时使用

- 要让 Agent 操作没有 API 的软件：填表、改系统设置、在网页上完成多步流程。
- 要评估或实现"截图 → 决策 → 执行动作"的闭环，选模型、选 grounding 方案、选框架。
- 定位不准、坐标偏移、点击错元素，需要排查 grounding 与坐标缩放链路。
- Agent 每 3, 5 秒才看一眼屏幕，错过通知、视频、弹窗等"两帧之间发生的事"。
- 要把 Computer Use 扩展到移动端（Android 无障碍服务）或评估平台封禁风险。
- 设计不可逆操作（删除、购买、提交）前的确认与安全边界。
- 要减少操作步数与等待时间，让 Agent 达到"实用"而不只是"答对"（对照 OSWorld-Human 的人类基线）。
- 没有编程 API 可用、Selenium 之类脚本化方案难以维护页面的场景。
- 要在容器化虚拟桌面中跑 Agent，并隔离不可逆操作对真实环境的影响。

## 核心原则

- **核心是感知-思考-行动循环**：截图 → 多模态模型输出思考 + 一个动作 → 执行层真实执行（移动鼠标、点击、输入）→ 等界面响应再截图进入下一轮。
- **区分"看懂界面"和"完成任务"**：前者可用一次截图问答测量（多模态理解）；后者要求把理解和动作放进闭环，处理页面加载、状态变化、误操作和不可逆后果。每执行一步都要**重新确认现实是否仍符合计划**。
- **动作空间分三类**：GUI 操作（鼠标移动/点击/拖拽/滚动、键盘输入/组合键/长按、截图与等待）、持久 bash 会话（跨调用保持环境状态，用哨兵字符串判命令是否执行完）、字符串匹配的文件编辑（比整文件覆盖更精确，可撤销）。
- **动作空间不是供应商私有协议**：只要 Harness 能把同样的截图、动作约束和执行结果转换成目标模型支持的消息与结构化输出，Claude、开放权重视觉模型和自托管端点都能驱动同一个循环。
- **Grounding 优先把定位变成选择题**：先给元素编号，模型只报 ID，系统换算中心坐标。选择题比填空题容易答对, , 模型说"点击 [123]"而不是"点击 (350, 464)"。三条路线按界面性质选：
  - **结构化元素索引**（DOM / Accessibility Tree，browser-use 路线）：结构化信息可得时首选，最精确稳定，无分割模型的漏检误检。
  - **Set-of-Mark 视觉标注**：用分割模型切候选区域叠加编号，不需要 DOM，原生桌面软件、游戏、Canvas/WebGL 界面适用。
  - **纯坐标预测**（SeeClick、Claude computer use）：直接在 GUI 截图-坐标配对上训练的模型更直接，省去标注步骤，但小元素和密集界面精度差。
- **坐标预测必须做分辨率管理**：模型对坐标的理解依赖训练分辨率，不匹配就系统性偏移。按**宽高比**选最接近的目标分辨率做双向缩放（如 2560×1440 的 16:9 屏幕选 FWXGA 1366×768，模型返回 (683,384) 反推真实坐标约 (1280,720)）。切忌非等比拉伸把画面压扁。
- **"屏幕是静止的"是危险假设**：该重新设计的是观察接口而不是动作接口, , 用关键帧截图（小模型判断是否有意义的变化，变化频繁时约 1 秒一次）、音量门控的语音转写、把截图压成一句持久文字描述来压缩多模态历史。
- **世界模型带来"推测执行"**：行动前预测候选动作造成的状态差异，一致就沿计划继续，偏离才停下重规划。要预测的是**可检查的状态差异**（窗口、焦点、滚动位置、输入框内容、加载状态、权限、网络返回），不是生成逼真未来截图。
- **生态壁垒是结构性问题**：Agent 直达目标会绕过广告与推荐变现链路，平台有动机封禁；这不只是 CAPTCHA 的技术对抗，短期难以调和。
- **循环节奏与尺度**：Computer Use 的时间尺度是亚秒到秒, , 屏幕在两帧之间持续变化，因此"动作后重新确认现实"不是可选项而是循环的必要组成部分。这与语音（10ms, 1s，可被打断）和机器人（毫秒级，动作分块可抢占）是不同的时机问题。
- **结构化索引不省 token 但省错误**：把所有可交互元素及其属性发给模型成本高，但换来定位准确稳定，且免去分割模型的漏检误检, , 这是值得的交换。
- **browser-use 式四步流程**：CDP 取 DOM 与无障碍信息 → 检测可交互元素 → 标注唯一 ID 并在截图绘边界框 → 同步生成"ID → 元素描述"文本列表；模型只输出 ID，系统用中心坐标执行。

## 实践模式

The rest: https://github.com/bojieli/ai-agent-book/blob/HEAD/skills/computer-use/SKILL.md
