用 Claude Computer Use 让 AI 像人一样操作电脑(截图识别 + 自动点击)
有些老软件、内部系统根本没有 API,你只能"用人手点"。Claude Computer Use 就是让 AI 直接看屏幕截图、移动鼠标、点击按钮、敲键盘——像真人一样操作任何界面,不用对接接口。本教程手把手教你用 Anthropic 官方 API 跑通一个会操作桌面的 Agent,并讲清哪些事绝对不能交给它。
先搞懂:Computer Use 是什么?
传统 RPA(机器人流程自动化)要你手动录制"点哪个坐标、填什么字",界面一变全废。Computer Use 则是给 AI 屏幕截图,它自己看懂"现在该点哪",动态决策下一步动作。它循环做四件事:
| 动作 | AI 在干啥 |
|---|---|
| screenshot | 截取当前屏幕,看现在长啥样 |
| mouse_move / click | 把鼠标移到目标、点击 |
| type | 在焦点处输入文字 |
| scroll / key | 滚动页面、按快捷键 |
⚠️ 安全边界(务必先看):Computer Use 操作的是真实系统。绝不让它碰密码、验证码、银行、删除命令、私密文件。只在隔离虚拟机/测试环境跑,并限制它能访问的范围。这一步决定你是提效还是翻车。
Step 1:准备环境与安全沙箱
先用 Python SDK,并强烈建议在隔离环境(如 Docker 虚拟机)里跑,别直接在主力机操作:
# 安装 Anthropic SDK
pip install anthropic
# 拿到 API Key(Anthropic 控制台申请)
export ANTHROPIC_API_KEY="sk-ant-你的key"
# 安全建议:用 Docker 起一个干净 Linux 桌面跑 Agent
# docker run -it --rm ubuntu:22.04 # 仅作隔离示意
Step 2:构造带 Computer Use 工具的请求
关键是在 tools 里声明 computer_20250124 工具,并指定显示分辨率。下面是最简骨架:
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-7", # 需支持 Computer Use 的模型
max_tokens=1024,
tools=[{
"type": "computer_20250124",
"name": "computer",
"display_width_px": 1280,
"display_height_px": 800,
}],
messages=[{
"role": "user",
"content": "打开记事本,输入一行字:你好,我是被 AI 操作的电脑。"
}],
)
模型要选对:只有特定 Claude 型号支持 Computer Use,且不同日期版本号(如 20250124)对应不同工具规格。以 Anthropic 官方文档当前写明的模型与工具名为准。
Step 3:循环执行 AI 返回的动作
Claude 不会自己动鼠标,它返回"下一步该做什么",你要写代码去执行,再把结果截图喂回去,形成闭环:
import base64
messages = [{"role": "user", "content": "打开记事本并输入问候语"}]
while True:
resp = client.messages.create(
model="claude-opus-4-7",
max_tokens=1024,
tools=[{"type": "computer_20250124", "name": "computer",
"display_width_px": 1280, "display_height_px": 800}],
messages=messages,
)
# 取出 AI 想执行的动作
tool_use = next(b for b in resp.content if b.type == "tool_use")
if tool_use.name == "computer":
action = tool_use.input
# 在真实环境里,这里调用你的"执行器"去移动鼠标/点击/输入
result = run_computer_action(action) # 你实现的桥接层
# 把执行后的屏幕截图作为结果回传
messages.append({"role": "assistant", "content": resp.content})
messages.append({
"role": "user",
"content": [{
"type": "tool_result",
"tool_use_id": tool_use.id,
"content": [{"type": "image", "source": {
"type": "base64", "media_type": "image/png",
"data": base64.b64encode(result.screenshot).decode(),
}}],
}],
})
else:
break # 没有更多动作,任务结束
Step 4:用一个真实任务验证
给一个稍微完整点的目标,看它怎么拆解:
task = """
1. 打开计算器(或记事本)
2. 输入 "2+3="
3. 把结果读出来告诉我
"""
# 把 task 作为首条 user 消息传入 Step 3 的循环
# AI 会自动:截图→找到图标→点击→输入→再截图→识别结果
任务要"可验证、可逆":先拿"打开计算器算个数"这种无害任务试手,确认闭环正常,再碰更敏感的操作。永远从最安全的任务开始。
Step 5:加上人工确认护栏
生产环境一定要加护栏:遇到"删除、发送、付款、改设置"类动作,暂停等人工确认:
if action["action"] in ("key", "type") and is_sensitive(action):
print(f"AI 想执行:{action},是否继续?(y/n)")
if input().strip().lower() != "y":
# 告诉 AI 被拒绝,让它换安全方式
messages.append(refusal_message())
continue
Step 6:接进 Claude Code / Codex(可选)
不想自己写执行器?社区有 browser-harness 这类项目,能让 Claude Code / Codex 直连你的真实 Chrome 边执行边补能力;对通用桌面,也有封装好的 Computer Use skill 可装进编辑器。装好后在对话框说:
# 在 Claude Code 里
"帮我打开财务报表.xlsx,把三月那行标红,然后保存"
# Agent 会自己截图识别、点击、编辑、保存,
# 遇到敏感操作按 Step 5 的护栏等你确认
常见问题速查
| 你遇到的现象 | 大概率原因 & 解决 |
|---|---|
| 报模型不支持 Computer Use | 换用支持该能力的 Claude 型号,核对工具版本号 |
| AI 点了空位置 | 分辨率 display_*_px 要和真实屏幕一致 |
| 循环停不下来 | 设最大步数上限(如 30 步),超限强制终止 |
| 操作了不该碰的 | 没加白名单/人工确认,回 Step 5 加固 |