🤖 AI 跟我学 新手入门

Claude Computer Use 怎么用:1 小时跑通桌面操控

Claude Computer Use 怎么用?这篇用 Anthropic 官方 Docker 镜像 1 小时跑通桌面截屏 + 鼠标键盘控制,含 API 调用模板和踩坑清单

发布 2026/05/20

30 秒了解:Claude Computer Use 是什么

Claude Computer Use 是 Anthropic 让 Claude 模型能像人一样看屏幕、移动鼠标、敲键盘的能力。 你给一句指令「帮我去携程订张明天上海到北京的机票」,Claude 会自己截屏、识别页面、点击搜索框、填日期、点提交,全程不需要写脚本。

ChatGPT Agent 模式 主要跑在 OpenAI 云端不一样,Computer Use 跑在你自己的机器(或自己的容器),所以理论上能操作任何你装的软件——Photoshop、Excel、本地数据库管理工具都行。

适用场景:

  • 自动化测试:让 Claude 把你 App 所有按钮挨个点一遍
  • 重复办公:每周从 5 个 SaaS 后台拉数据填到 Excel
  • 数据搬运:从老系统截屏 OCR 到新系统手动录入
  • 桌面自动化 demo:给客户演示「AI 能操作电脑」

谁应该开启:懂一点 Docker、能开发者模式接 API的人。完全不写代码请用 扣子Dify 这类无代码平台。

准备工作

项目要求
账号Anthropic 开发者账号 + API Key(console.anthropic.com
模型claude-3-5-sonnet-20241022 或更新版(支持 computer-use-2024-10-22 beta header)
系统macOS / Linux / Windows(Docker Desktop 跑容器)
DockerDocker Desktop 4.30+ 或 OrbStack
内存至少 8 GB(容器内跑 Xvfb + Firefox 比较吃内存)
API 余额至少 10 美元(一次完整桌面任务大约 0.5-2 美元)

为什么强烈推荐 Docker 方式:Anthropic 官方提供了 anthropic-quickstarts/computer-use-demo 镜像,预装好 Xvfb 虚拟桌面、Firefox、文件管理器、PyAutoGUI,省去自己搞虚拟桌面 + 权限授予的 80% 麻烦。在本机直接跑也能跑,但要给 Claude Code 全屏录屏 + 辅助功能权限,调试起来很折腾。

如果你想全本机跑而不用容器,先看下 Claude Code 安装教程 把基础环境装好,但还是建议第一次用 Docker。

详细操作步骤

第 1 步:拿到 API Key + 充值

打开 console.anthropic.com 注册账号,Settings → API Keys 新建一个 key,名字写「computer-use」方便后面查账。

Plans & Billing 充至少 10 美元。Computer Use 按 token 计费,每次截屏 Claude 看一张图算大约 1500-3000 tokens,桌面任务往往要 5-30 次截屏,单次任务成本 0.3-3 美元

把 key 存到环境变量,别硬编码进代码:

export ANTHROPIC_API_KEY="sk-ant-api03-xxxxx"

第 2 步:拉官方 demo 镜像

Anthropic 官方在 GitHub 维护了一个开箱即用的容器镜像:

docker pull ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest

镜像大约 2.5 GB,第一次拉国内网络可能比较慢,可以用国内镜像加速器。

第 3 步:启动容器

新建一个工作目录存截图和日志:

mkdir -p ~/computer-use-workspace
cd ~/computer-use-workspace

启动容器,把 API key 注入进去,端口 8080 暴露成 Gradio Web 界面:

docker run \
  -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
  -v $HOME/.anthropic:/home/computeruse/.anthropic \
  -p 5900:5900 \
  -p 8501:8501 \
  -p 6080:6080 \
  -p 8080:8080 \
  -it ghcr.io/anthropics/anthropic-quickstarts:computer-use-demo-latest

容器启动后浏览器打开 http://localhost:8080,左边是 Claude 对话窗,右边是虚拟桌面(VNC 实时画面)。

[此处放截图:computer use demo 的 Gradio 界面,左聊天右桌面]

第 4 步:发第一条指令

在左边对话框输入:

打开 Firefox,访问 anthropic.com,找到 Pricing 页面,把 Sonnet 模型的输入价格告诉我。

按发送,注意右边桌面:Claude 会先截屏一次看当前桌面长啥样,然后调用 computer 工具的 mouse_moveleft_click 动作打开 Firefox,再 type 在地址栏输入 URL,整个过程像看一个实习生操作。

每一步 Claude 都会在对话区解释「我现在要点这个按钮,因为……」。这是 Computer Use 调试时最重要的信号,看它的推理就知道在哪一步开始走偏。

第 5 步:写第一个 API 调用脚本

Web 界面只适合 demo,真实用要靠 API。新建 computer_use_demo.py

import anthropic
import base64
from pathlib import Path

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-3-5-sonnet-20241022",
    max_tokens=4096,
    tools=[
        \{
            "type": "computer_20241022",
            "name": "computer",
            "display_width_px": 1280,
            "display_height_px": 800,
            "display_number": 1,
        \},
        \{"type": "text_editor_20241022", "name": "str_replace_editor"\},
        \{"type": "bash_20241022", "name": "bash"\},
    ],
    messages=[\{
        "role": "user",
        "content": "打开计算器,算 1234 乘以 5678,把结果告诉我"
    \}],
    betas=["computer-use-2024-10-22"],
)

print(response.content)

跑:

python computer_use_demo.py

第一次跑会返回 Claude 的第一步动作(比如「截屏」),你需要写个循环把截屏结果回传给 Claude,它再给下一步。完整 agent loop 参考下面第 6 步。

第 6 步:搭一个完整 Agent Loop

Computer Use 不是「一问一答」,agent loop——Claude 出动作,你执行动作,把结果回传,Claude 再出下一步。

简化版 loop 长这样:

messages = [\{"role": "user", "content": "打开浏览器查今天上海天气"\}]

while True:
    response = client.beta.messages.create(
        model="claude-3-5-sonnet-20241022",
        max_tokens=4096,
        tools=[...],
        messages=messages,
        betas=["computer-use-2024-10-22"],
    )

    # 取出工具调用
    tool_uses = [b for b in response.content if b.type == "tool_use"]
    if not tool_uses:
        # 没工具调用说明任务结束
        break

    tool_results = []
    for tool in tool_uses:
        # 实际执行工具(截屏 / 点击 / 输入)
        result = execute_tool(tool.name, tool.input)
        tool_results.append(\{
            "type": "tool_result",
            "tool_use_id": tool.id,
            "content": result,
        \})

    messages.append(\{"role": "assistant", "content": response.content\})
    messages.append(\{"role": "user", "content": tool_results\})

execute_tool 是你自己实现的:截屏调 pyautogui.screenshot()、点击调 pyautogui.click(x, y)、输入调 pyautogui.typewrite()官方 Docker 镜像里这部分代码已经写好了,看 /computer_use_demo/loop.py 直接抄。

OpenAI 的同类能力对比看 OpenAI Agents SDK 指南Computer Use 概念解析

5 个让 Computer Use 更稳的隐藏技巧

  1. 指令分步写:别一句话「帮我订机票」,拆成「打开携程 → 搜上海到北京 → 选明天 → 找最便宜的 → 截图给我看」。Claude 一次推理一步比一次推理 10 步成功率高得多。

  2. 截屏前 sleep 1.5 秒:页面没加载完就截屏,Claude 看到 loading 转圈圈会以为「这里啥都没有」乱点。

  3. 限制最大循环次数:写个 if step_count 大于 30: break,防止 Claude 陷死循环花光 API 余额。

  4. 关键场景加 prompt 提示位置:「页面右上角有个红色按钮,点它」比让 Claude 自己找快 5 倍。

  5. 永远在虚拟机里跑:哪怕 Docker 容器也算虚拟环境。别给 Claude 直接操作你主机——它有可能误点「清空回收站」「删除文件夹」。

常见坑 + 解决办法

现象原因解决
API 返回 400 invalid_request_error没加 betas=["computer-use-2024-10-22"] 请求头加上 beta header,并确认 SDK 版本大于等于 0.39
Claude 一直点错位置截屏分辨率和 display_width_px 不匹配容器 Xvfb 启动参数和 API 配置都设成 1280x800
任务跑到一半卡住Claude 输出了 stop_reason=“end_turn” 但任务没完成在 system prompt 加「除非用户确认完成,否则继续输出工具调用」
容器内 Firefox 打不开Xvfb 没起来或显存不够重启容器,给 Docker 至少分配 8 GB 内存
API 余额烧得飞快每次都把完整截屏传上去display_width_px 调到 1024 以下,截屏大小减半
桌面里看到 Claude 操作很慢VNC 延迟,不是 Claude 慢用 noVNC 6080 端口或装本机 VNC client 看

API 报错具体原因看 Function Calling 是什么 里的工具调用原理;想自己接 MCP 工具看 MCP 是什么

一个实战案例:让 Claude 自动整理桌面截图

每周末整理截图文件夹是个无聊活儿——按日期分文件夹、删除模糊截屏、重命名。让 Computer Use 干

📋 Prompt 模板

你的任务:帮我整理 ~/Desktop/screenshots 目录下的所有 PNG 文件。

执行步骤:

  1. 用 bash 工具列出 screenshots 目录下所有 PNG 文件,含创建日期
  2. 按年-月分组(例如 2026-05 一个文件夹)
  3. 用 bash 创建对应的子文件夹,把文件移动进去
  4. 对每张图截屏识别一下内容
  5. 如果图片明显是误截屏(全黑、全白、文件大小小于 50 KB),移动到 ~/Desktop/screenshots/trash
  6. 完成后输出报告:处理了多少张、分了几个月、放了多少张到 trash

约束:

  • 不要删除任何文件,所有操作都是移动
  • 每处理 10 张图截屏一次给我看进度
  • 全部完成后告诉我「整理完毕,共 X 张」

把这段贴到容器的 Gradio 界面,Claude 会自己开终端 + 截屏 + 移动文件,全程不需要你点鼠标。一次大约花 0.5-1.5 美元 API 费用,对比手工整理 1 小时,性价比相当高。

更复杂的多步骤工作流学一下 扣子工作流指南Dify 工作流指南,再回来加到 Computer Use 任务编排里。

下一步学什么

学完 Computer Use 基础,建议按这个顺序往下:

Computer Use 现在还是 beta,API 偶尔会变,生产环境用之前一定要看 Anthropic 官方变更日志platform.claude.com/docs/build-with-claude/computer-use)。但即便是 beta,已经可以做出来很多以前要写 100 行 RPA 脚本才能做的事——这就是 Agent 时代的杠杆。