关于 claude-computer-use-advanced
这项技能介绍如何通过截图、鼠标操作和键盘输入,让 Claude computer use 自动操作桌面界面。它面向需要处理 UI 工作流、应用测试和屏幕信息提取的 Agent。
主要功能
- 01基于截图分析界面
- 02按坐标执行鼠标操作
- 03文本输入与键盘快捷键
- 04在 Opus 4.5 中放大查看屏幕细节
- 05多步 UI 工作流与结果核验
适用场景
- 01填写表单和录入数据
- 02测试应用界面
- 03提取屏幕内容中的信息
- 04自动操作没有 API 的应用
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ adaptationio/ skrillz --skill claude-computer-use-advanced安装后在 Claude Code 中输入/claude-computer-use-advanced确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdreferences/advanced-patterns.mdcomputer-use-api.mdsecurity-deployment.mdscripts/form-filling-agent-template.py详细介绍
Claude 计算机使用进阶
概述
Claude 的计算机使用工具使 AI Agent 能够以编程方式与桌面环境交互。这项技能提供了进阶模式,可用于构建复杂的 UI 自动化工作流、测试应用、从屏幕提取数据,以及控制跨操作系统的应用。
计算机使用代表着 AI 能力的一项重大进步——Claude 不必依赖 API,而是可以像人类一样与任何软件交互:查看屏幕、点击元素、输入文本和使用键盘快捷键。这使自动化几乎任何带有图形界面的桌面任务成为可能。
核心能力:
- 截取屏幕截图并分析视觉内容
- 使用精确坐标点击屏幕元素
- 输入文本并提交表单
- 按下键盘快捷键和特殊按键
- 滚动、拖动并执行复杂的鼠标操作
- 使用缩放工具检查特定屏幕区域(仅限 Opus 4.5)
- 执行多步骤自动化工作流
- 以编程方式控制应用和软件
关键模型:
- Claude Opus 4.5(
computer_20251124):最新版本,配备缩放工具,可提高视觉识别准确度 - Claude 4 / Sonnet 3.7(
computer_20250124):稳定版本,支持完整的操作功能
适用场景
以下常见场景可使用计算机使用功能:
桌面自动化
- 批量处理重复性任务
- 表单填写和数据录入工作流
- 文件和文件夹管理
- 配置和设置自动化
- 多应用工作流
应用测试
- 自动化 UI 测试框架
- 跨平台测试工作流
- 视觉回归测试
- 用户交互模拟
- 质量保证自动化
屏幕分析与数据提取
- 从应用中提取文本和数据
- 分析视觉布局和设计
- 读取非 API 系统中的内容
- 屏幕截图分析与理解
- 类似 OCR 的屏幕文本提取
应用控制与集成
- 控制没有 API 的旧版应用
- 为封闭系统创建自动化 Agent
- 构建 RPA(机器人流程自动化)工作流
- 编排多应用流程
- 软件测试与验证
计算机使用任务
任务 1:截取屏幕截图
屏幕截图是计算机使用的基础——Claude 需要查看屏幕,才能知道接下来该做什么。
适用场景:
- 作为任何工作流中的第一个操作
- 点击元素之前(获取坐标)
- 分析当前应用状态
- 了解屏幕上可见的内容
- 执行操作后验证结果
工作原理: 屏幕截图操作会捕获整个显示画面,并以 base64 编码图像的形式返回。随后,Claude 可以分析屏幕截图,理解界面、识别元素并确定下一步操作。
基本示例:
action = {
"type": "screenshot"
}
坐标系:
- 原点 (0, 0) 位于屏幕左上角
- X 轴向右递增
- Y 轴向下递增
- 坐标表示显示画面上的像素位置
最佳实践:
- 始终先截取屏幕截图,以确认初始状态
- 执行重要操作后截取屏幕截图,以验证操作是否成功
- 使用缩放工具(Opus 4.5)精确定位元素
- 规划坐标时考虑显示分辨率
- 标准分辨率:1280x800(建议:1024x768)
任务 2:点击元素
点击是与 UI 元素交互的主要方式,包括按钮、链接、复选框、菜单项以及任何可点击的界面元素。
适用场景:
- 激活按钮并提交表单
- 打开菜单并选择选项
- 点击链接进行导航
- 切换复选框和单选按钮
- 在列表或下拉菜单中选择项目
工作原理: 点击操作会接收 x、y 坐标,并在该位置发送鼠标点击。Claude 会使用屏幕截图识别元素的位置,然后点击相应位置。
基本示例:
action = {
"type": "left_click",
"coordinate": [640, 400] # x, y from screenshot
}
坐标精度:
- 尽量点击可点击元素的中心
- 需要精确坐标时,使用缩放工具(Opus 4.5)
- 如果点击未命中,请重新截屏并调整坐标
- 较小的元素可能需要放大区域以确保准确性
高级点击类型:
left_click:标准单击right_click:打开上下文菜单double_click:选择文本或执行双击操作middle_click:某些应用会使用中键单击click_holding:按住点击以执行拖动操作
最佳实践:
- 点击前先截屏,以找到正确的坐标
- 通过视觉识别按钮或链接的边界
- 使用元素中心的坐标,以获得最佳准确度
- 点击后再截屏,确认操作成功
- 点击未命中时,调整坐标后重试
任务 3:输入文本和填写表单
输入文本可用于在表单、搜索框、命令提示符和文本字段中填写数据。
适用场景:
- 在表单字段中填写文本
- 输入搜索词
- 输入命令或代码
- 输入凭据(仅限安全环境)
- 填写文本区域和字段
工作原理: 输入操作会逐个字符发送键盘输入。文本会在当前光标位置输入,通常需要先点击文本字段。
基本示例:
# Click text field first
action = {"type": "left_click", "coordinate": [500, 300]}
# Then type text
action = {
"type": "type",
"text": "Hello, World!"
}
文本输入工作流:
- 截屏查看表单
- 点击目标文本字段
- 输入文本
- 可选:按 Enter 或 Tab 提交表单或移至下一个字段
- 截屏确认输入内容
特殊字符:
# Use key action for special characters
action = {"type": "key", "key": "Return"} # Enter key
action = {"type": "key", "key": "Tab"} # Tab key
action = {"type": "key", "key": "BackSpace"} # Delete character
action = {"type": "key", "key": "ctrl+a"} # Select all
action = {"type": "key", "key": "ctrl+c"} # Copy
action = {"type": "key", "key": "ctrl+v"} # Paste
最佳实践:
- 始终先点击文本字段以将其聚焦
- 如有需要,使用 Ctrl+A 和 Delete 清除现有文本
- 使用 Tab 在表单字段之间移动
- 按 Enter 提交表单
- 在操作之间截屏,以确认输入内容
任务 4:键盘控制和特殊按键
键盘操作可精确控制按键、快捷键和特殊输入,功能超出文本输入。
适用场景:
- 按下键盘快捷键(Ctrl+C、Ctrl+V 等)
- 使用特殊按键(Enter、Tab、Escape、方向键)
- 使用键盘浏览菜单和对话框
- 使用应用专属快捷键
- 控制焦点和导航
工作原理: 按键操作会按下键盘按键或组合键。它既可以发送单个按键,也可以发送组合键(例如 Ctrl+A)。
常用按键:
# Navigation
{"type": "key", "key": "Return"} # Enter key
{"type": "key", "key": "Tab"} # Tab to next field
{"type": "key", "key": "BackSpace"} # Delete character
{"type": "key", "key": "Delete"} # Delete forward
{"type": "key", "key": "Escape"} # Escape/Cancel
# Arrows
{"type": "key", "key": "Up"}
{"type": "key", "key": "Down"}
{"type": "key", "key": "Left"}
{"type": "key", "key": "Right"}
# Shortcuts
{"type": "key", "key": "ctrl+a"} # Select all
{"type": "key", "key": "ctrl+c"} # Copy
{"type": "key", "key": "ctrl+v"} # Paste
{"type": "key", "key": "ctrl+z"} # Undo
{"type": "key", "key": "ctrl+s"} # Save
{"type": "key", "key": "alt+Tab"} # Switch windows
按住按键(用于拖动操作):
{"type": "key", "key": "shift", "held": True} # Hold shift while clicking
最佳实践:
- 尽可能使用键盘快捷键
- 使用 Tab 遍历表单字段,而不是逐个点击
- 使用 Escape 关闭对话框或取消操作
- 组合使用方向键进行导航
- 输入前使用 Ctrl+A 选中要替换的文本
任务 5:使用缩放工具(Opus 4.5 专属)
缩放工具是 Claude Opus 4.5 专属的强大功能,可让你以全分辨率查看屏幕上的特定区域,从而精确定位元素并进行视觉分析。
功能说明: 缩放工具会截取屏幕上的矩形区域,并以全分辨率返回,不会缩小图像。这让 Claude 能够查看细节、阅读小字、识别元素的精确边界,并确定准确的点击坐标。
适用场景:
- 准确定位较小的 UI 元素
- 阅读小字
- 分析图标细节
- 确定按钮的准确位置
- 处理拥挤的界面
- 提高点击坐标的精度
工作原理: 你需要提供一个由坐标 [x1, y1, x2, y2] 定义的矩形区域,其中:
- (x1, y1) = 区域的左上角
- (x2, y2) = 区域的右下角
基本示例:
# Zoom into a specific region to see details
action = {
"type": "zoom",
"coordinate": [400, 200, 800, 400] # [x1, y1, x2, y2]
}
缩放工作流示例:
# 1. Take full screenshot to understand layout
{"type": "screenshot"}
# 2. Identify region with uncertain element location
# Need to find exact position of "Submit" button
# 3. Zoom into that region for precise view
{"type": "zoom", "coordinate": [300, 350, 700, 450]}
# 4. With precise view, identify exact coordinates
# See "Submit" button at pixel position [550, 385]
# 5. Click with confidence
{"type": "left_click", "coordinate": [550, 385]}
区域选择:
- 个人元素使用小区域(50x50)
- 控件组使用中等区域(200x200)
- 更大的区域,最大可覆盖全屏
- 在目标元素周围留出足够的边距
视觉准确度优势:
- Opus 4.5 增强的视觉能力可以更准确地读取文本
- 缩放可提供全分辨率图像,便于查看细节
- 更善于识别元素边界
- 有助于处理拥挤或复杂的 UI
- 减少点击坐标错误
最佳实践:
- 初始屏幕截图未能清楚显示元素时,使用缩放
- 缩放到元素四周超出 20-30 像素的区域
- 使用屏幕截图中的完整区域坐标
- 仅在精度至关重要时使用缩放
- 结合屏幕截图,以获得最佳效率
任务 6:多步骤自动化工作流
复杂的自动化需要协调跨多个步骤的操作。本任务介绍如何编排复杂的工作流。
适用场景:
- 多应用工作流
- 复杂的数据录入流程
- 包含多个步骤的测试流程
- 顺序执行的自动化任务
- 条件工作流(如果这样,就那样)
工作原理: Agent 循环会按顺序执行一系列操作,利用屏幕截图了解执行结果并确定后续步骤。循环会持续进行,直到工作流完成。
基本 Agent 循环模式:
# Pseudo-code for agent loop
actions = []
# Step 1: Take screenshot to see initial state
actions.append({"type": "screenshot"})
# Step 2: Analyze screenshot and click button
actions.append({"type": "left_click", "coordinate": [100, 50]})
# Step 3: Take screenshot to see result
actions.append({"type": "screenshot"})
# Step 4: Fill form based on new state
actions.append({"type": "left_click", "coordinate": [200, 200]})
actions.append({"type": "type", "text": "Form data"})
# Step 5: Submit
actions.append({"type": "left_click", "coordinate": [200, 300]})
# Step 6: Verify with screenshot
actions.append({"type": "screenshot"})
错误恢复:
# If a click misses or action fails:
# 1. Take screenshot
# 2. Re-evaluate coordinates
# 3. Retry with adjusted position
# 4. Use zoom for precision if needed
# 5. Continue workflow
工作流状态跟踪:
- 跟踪已完成的步骤
- 记住提取的重要数据
- 保留有关当前应用状态的上下文
- 使用屏幕截图作为状态检查点
- 保存中间结果以供验证
最佳实践:
- 在工作流的关键节点截取屏幕截图
- 通过反馈验证每个主要步骤
- 妥善处理意外状态
- 使用类似 Try/catch 的错误处理模式
- 记录重要状态转换,以便调试
任务 7:应用控制与系统交互
除了 UI 点击之外,计算机使用功能还可用于控制应用、浏览系统界面和执行系统级任务。
适用场景:
- 窗口和应用导航
- 文件系统交互(打开文件、文件夹)
- 配置系统设置
- 启动和管理应用
- 多窗口工作流
工作原理: 标准鼠标和键盘操作适用于任何应用:
- 点击桌面、任务栏和菜单项
- 打开文件对话框并浏览文件夹
- 使用文件/编辑/视图菜单
- 执行系统级操作
- 管理多个窗口
应用导航示例:
# Open application menu
{"type": "left_click", "coordinate": [500, 10]} # Menu bar
# Take screenshot to see menu
{"type": "screenshot"}
# Click menu item
{"type": "left_click", "coordinate": [520, 100]}
# Wait for dialog to open
{"type": "screenshot"}
# Interact with dialog
{"type": "left_click", "coordinate": [300, 300]}
文件系统导航:
# Open File > Open dialog with keyboard shortcut
{"type": "key", "key": "ctrl+o"}
# Take screenshot to see file dialog
{"type": "screenshot"}
# Navigate to folder (multiple methods)
# Method 1: Type path directly
{"type": "type", "text": "/path/to/folder"}
# Method 2: Double-click folders in explorer
{"type": "double_click", "coordinate": [400, 200]}
# Select and open file
{"type": "left_click", "coordinate": [400, 250]}
{"type": "key", "key": "Return"}
多窗口工作流:
# Switch between windows
{"type": "key", "key": "alt+Tab"}
# Take screenshot to verify window
{"type": "screenshot"}
# Interact with new window
{"type": "left_click", "coordinate": [500, 400]}
最佳实践:
- 可用时使用键盘快捷键
- 通过屏幕截图查看菜单并进行导航
- 灵活应对不同的菜单布局
- 谨慎浏览文件对话框
- 在切换窗口之间截取屏幕截图
快速入门示例
下面是一个简单自动化工作流的完整示例——填写网页表单:
import anthropic
import base64
client = anthropic.Anthropic(api_key="your-api-key")
# Define the computer use tool
tools = [
{
"name": "computer",
"type": "computer_20251124", # Opus 4.5 with zoom
"display_width_px": 1024,
"display_height_px": 768,
"display_number": ":1"
}
]
# Start with a screenshot
messages = [
{
"role": "user",
"content": "Fill out the contact form with name 'John Doe' and email '[email protected]', then submit it."
}
]
# Add the screenshot action
messages.append({
"role": "user",
"content": [
{
"type": "text",
"text": "First, take a screenshot to see the current state of the screen."
}
]
})
# Create the request with beta header
response = client.messages.create(
model="claude-opus-4-5-20250929",
max_tokens=1024,
tools=tools,
messages=messages,
headers={"anthropic-beta": "computer-use-2025-11-24"}
)
# Process the response - it will contain tool use actions
for content_block in response.content:
if content_block.type == "tool_use":
action = content_block.input
# Execute the action and get result
if action["type"] == "screenshot":
# Return screenshot (base64 encoded)
result = capture_screenshot() # Your implementation
elif action["type"] == "left_click":
# Execute click
result = click_at_coordinates(action["coordinate"])
elif action["type"] == "type":
# Type text
result = type_text(action["text"])
# Continue with the agent loop
# ... (add result back to messages and continue)
API 参考
如需了解详细的 API 规范、参数、响应格式和高级用法模式,请参阅:
references/computer-use-api.md- 完整的 API 文档,涵盖所有工具版本和操作类型
高级模式
如需了解复杂的自动化模式、多步骤工作流、缩放工具技巧和最佳实践,请参阅:
references/advanced-patterns.md- 高级自动化、错误处理和优化
安全与部署
如需了解安全注意事项、安全部署实践和运维指南,请参阅:
references/security-deployment.md- 安全、容器化、监控和负责任的使用
安全与局限性
安全注意事项:
- 隔离:在隔离的虚拟机或容器中部署,并使用最小权限
- 网络控制:通过域名允许列表限制互联网访问
- 凭据:除非绝对必要,否则不要提供敏感凭据
- 确认:对于重大决策,请求人工审批
- 输入验证:验证所有用户输入,以防止提示词注入
已知局限性:
- 延迟:不适用于对时间敏感的交互式任务
- 视觉准确性:计算机视觉可能会误识别元素或坐标
- 应用支持:电子表格和专业应用程序可能不可靠
- 账户管理:无法可靠地创建账户或在社交平台上分享内容
- 提示词注入:在基于 Web 的环境中易受提示词注入攻击
- 分辨率:建议的最高分辨率为 1280x800
- 令牌成本:由于视觉处理,屏幕截图会消耗令牌
相关技能
- anthropic-expert - Claude 计算机使用和工具使用能力概览
- claude-opus-4-5-guide - Opus 4.5 功能,包括缩放工具增强
- multi-ai-research - 用于调查第三方应用程序的研究模式
了解更多:从上面的快速入门示例开始,然后查阅参考指南,了解高级模式和完整的 API 文档。