5.3 环境配置与安全沙箱

Computer Use 是一把双刃剑。它能帮你工作,也能(理论上)帮你删除所有文件。 因此,严禁在宿主机(Host Machine)上直接运行 Computer Use

必须使用虚拟机或容器技术进行隔离。Anthropic 官方强烈推荐使用 Docker

5.3.1 为什么必须用 Docker?

  1. 文件隔离:容器有独立的文件系统。Claude 只能看到容器内的 /,看不到你 Mac 上的 /Users

  2. 环境一致性:Computer Use 需要特定的 Linux 桌面环境(通常是 X11/XVFB),在 macOS 或 Windows 上原生配置极其痛苦。Docker 可以一键拉起一个完美的 Linux Desktop。

  3. 状态重置:任务搞砸了?docker restart 瞬间回到初始状态。

5.3.2 官方参考实现 (The Reference Implementation)

Anthropic 开源了一个参考实现,集成了所有必要的组件:一个微型的 Linux (Ubuntu) 桌面、VNC 服务器、noVNC 网页客户端以及 Python 控制代码。

快速启动

# 1. 准备 API Key
export ANTHROPIC_API_KEY=sk-ant-api03-...

# 2. 拉取并运行镜像
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/anthropic/anthropic-quickstarts:computer-use-demo-latest

端口解析

  • 8080: API 服务器(如果有的话)。

  • 8501: Streamlit 界面。用户与 Claude 交互的聊天窗口。

  • 6080: noVNC 界面。可以在浏览器里看到 Claude 正在操作的“虚拟机桌面”。

  • 5900: 原始 VNC 端口。可以用系统的 VNC 客户端连接。

5.3.3 自定义镜像构建

官方镜像基于 Ubuntu 22.04。如果任务需要特殊的软件(比如 Chrome 浏览器、LibreOffice),需要构建自己的 Dockerfile。

构建并运行:

5.3.4 生产环境安全配置

如果你要在公司内部部署 Computer Use Server,默认配置是不够安全的。

限制网络出站 (Egress Filtering)

Claude 可能会通过浏览器访问恶意网站。 策略:使用 Docker Network 规则或防火墙,只允许访问白名单域名(如 github.com, googleapis.com, 公司内网 API)。

最小权限用户

默认容器可能使用 root 运行部分服务。建议创建一个低权限用户 computeruse,并只给予其操作 GUI 和 home 目录的权限。

敏感信息屏蔽

如果屏幕上可能出现 2FA 验证码或密码,需要实现一个中间件,在把截图发给 Claude 之前,对特定区域(比如密码框位置)进行遮罩处理 (Masking)

5.3.5 常见问题排查 (Troubleshooting)

屏幕全黑?

检查 Xvfb 是否启动。Computer Use 依赖虚拟帧缓冲(X Virtual Framebuffer)。 进入容器检查:

点击位置不准?

这通常是分辨率不匹配导致的。 确保:

  1. Docker 容器设置的分辨率(如 WIDTH=1024 HEIGHT=768)。

  2. 传递给 API 的 display_width_pxdisplay_height_px 参数。

  3. 三者必须完全一致。

中文乱码?

官方镜像默认只有英文字体。 解决方法:在 Dockerfile 中安装中文字体:


环境搭建好了,是时候让它干点正事了。我们将通过几个实战案例,看看它到底能做什么。

➡️ 实战:桌面自动化案例

最后更新于