
字
字节笔记本
2026年6月20日
computer-use-cli:在 macOS 终端里驱动虚拟机客户机做 UI 自动化
API中转
¥120
computer-use-cli 是一个在 macOS 上从终端驱动 macOS 客户机进行 UI 自动化的开源工具。它由 Swift 写成,能让你创建一次性的 macOS 虚拟机客户机,截屏、获取可访问性树、发送点击、输入、按键、拖拽、滚动等操作。适合需要把 macOS 应用操作隔离在客户机里、而不是直接操控主桌面的场景。
项目简介
computer-use-cli 提供了一套命令行工具,用来在 Apple Silicon Mac 上创建并控制一个预配置好的 macOS 客户机镜像。它结合了截图和 Accessibility API 返回的 UI 状态数据,让终端或上层 agent 可以精确地感知界面并执行操作。
典型用途包括:
- 在主桌面之外隔离运行 macOS 应用自动化
- 将 UI 状态作为截图 + 可访问性树数据捕获
- 从命令行或 agent 调用可重复的 UI 操作
核心特性
- 创建/启动/停止/删除 macOS 客户机:通过
machine子命令管理虚拟机生命周期 - 截屏 + 可访问性树:
state get返回运行状态、element ID 和索引,可生成 PNG 截图 - 丰富的 UI 操作:click、type、key、drag、scroll、set-value、accessibility action
- 应用级目标:操作可以指定
--app名称,避免误触其他窗口 - 元素级目标:通过
--element-index直接对可访问性元素执行操作 - 无需安装额外 CLI 工具:主机端只需安装一个
.pkg - 提供预置客户机镜像:默认使用
ghcr.io/jianliang00/computer-use:v0.1.6
技术栈
- 语言:Swift 6(占比 91.4%)
- 平台:Apple Silicon Mac + macOS 15+
- 虚拟化:Apple Virtualization Framework
- 授权:Apache 2.0
安装指南
前置要求
- Apple Silicon Mac
- macOS 15 或更新版本
- 一个已授权 Accessibility 和 Screen Recording 的 macOS 客户机镜像
下载安装包
从 GitHub Releases 下载 computer-use-<version>-macos-arm64.pkg。
图形界面安装
- 双击
.pkg文件 - 按提示完成安装
- 验证:
computer-use --help
命令行安装
bash
sudo installer -pkg computer-use-<version>-macos-arm64.pkg -target /
computer-use --help安装后会得到 /usr/local/bin/computer-use。
快速开始
1. 创建并启动客户机
bash
computer-use machine create --name demo --image ghcr.io/jianliang00/computer-use:v0.1.6
computer-use machine start --machine demo2. 检查客户机状态
bash
computer-use agent doctor --machine demo
computer-use permissions get --machine demo3. 列出应用并获取 UI 状态
bash
computer-use apps list --machine demo
computer-use state get --machine demo --app TextEdit
computer-use state get --machine demo --app TextEdit --screenshot-output ./textedit.png4. 发送基础操作
bash
computer-use action click --machine demo --app TextEdit --x 120 --y 240
computer-use action type --machine demo --app TextEdit --text "hello"
computer-use action key --machine demo --app TextEdit --key cmd+a使用示例
通过 element index 点击元素
state get 会返回 element indexes。结合 --element-index 可以直接点击界面元素:
bash
computer-use action click --machine demo \
--app TextEdit \
--element-index <element-index>拖拽操作
bash
computer-use action drag --machine demo --app TextEdit \
--from-x 100 --from-y 100 \
--to-x 400 --to-y 300滚动
bash
computer-use action scroll --machine demo --app TextEdit \
--element-index <element-index> \
--direction down --pages 0.5设置元素值
bash
computer-use action set-value --machine demo --app TextEdit \
--element-index <element-index> \
--value "new value"执行 Accessibility Action
bash
computer-use action action --machine demo --app TextEdit \
--element-index <element-index> \
--name AXPress管理客户机生命周期
bash
computer-use machine list
computer-use machine inspect --machine demo
computer-use machine logs --machine demo
computer-use machine stop --machine demo
computer-use machine rm --machine demo从源码构建
bash
swift build
swift test
swift run computer-use --help注意:Swift 6 是构建必需条件。
相关文件说明
| 文件 | 用途 |
|---|---|
computer-use-<version>-macos-arm64.pkg | 主机 Mac 安装包 |
computer-use-guest-kit-<version>-macos-arm64.pkg | 构建或修复客户机镜像时使用 |
*.tar.gz | 原始 payload,用于高级打包场景 |
普通用户只需安装主机端 .pkg,并运行预置客户机镜像即可。
注意事项
- 客户机镜像必须提前启用 Accessibility 和 Screen Recording 授权,否则无法捕获 UI 状态。
- 该工具只支持 Apple Silicon,不支持 Intel Mac。
- 需要 macOS 15 或更新版本。
- 默认客户机镜像托管在 GitHub Container Registry,需要能访问 ghcr.io。
- 如果需要自定义客户机镜像,参考仓库里的 Guest Image 文档。
项目链接
- GitHub 仓库:https://github.com/jianliang00/computer-use-cli
- 预置镜像:
ghcr.io/jianliang00/computer-use:v0.1.6 - 使用文档:docs/
- 架构说明:docs/Architecture.md
- 镜像构建:docs/Guest-Image.md
- 发布说明:docs/Releasing.md
分享: