OpenGCUA:通用型计算机使用智能体全栈开源 · 最全部署与使用指南
一句话定位:GitHub 开源项目
Tongyi-MAI/OpenGCUA(Open Generalist CUA)是阿里通义 MAI-UI 团队开源的通用型计算机使用智能体(GCUA)全栈——融合代码执行、GUI 交互与跨设备控制,让 AI 不只操作屏幕,更能读无障碍树、调应用 API、跑 Shell 命令、写 GUI 代码,像一个"比你更会用电脑"的系统一样完成真实任务。slogan:GPT-6 made computer use the frontier. We make it open.(GPT-6 让计算机使用成为前沿,我们让它开源。)
仓库地址:https://github.com/Tongyi-MAI/OpenGCUA · ⭐ 486 · Apache-2.0 · 官网:https://tongyi-mai.github.io/OpenGCUA/
目录
- 一、官方跳转与下载链接
- 二、项目简介与核心能力
- 三、官方图片
- 四、性能结果(OSWorld-v2 与真机实测)
- 五、Demo 演示
- 六、完整部署步骤(Quick Start)
- 七、配置详解(模型与凭证)
- 八、运行方式
- 九、Agent Skills 技能系统
- 十、原生 macOS 应用
- 十一、Cross-Device SDK 跨设备开发
- 十二、开源栈与路线图
- 十三、工作原理
- 十四、项目结构全解
- 十五、常见问题排查(Troubleshooting)
- 十六、社区与联系
- 十七、参考链接汇总
一、官方跳转与下载链接
| 资源 | 链接 |
|---|---|
| GitHub 源码仓库 | https://github.com/Tongyi-MAI/OpenGCUA |
| 源码 ZIP 打包下载 | https://github.com/Tongyi-MAI/OpenGCUA/archive/refs/heads/main.zip |
| 项目官网 | https://tongyi-mai.github.io/OpenGCUA/ |
| 技术报告(Paper) | https://arxiv.org/abs/2610.22200 |
| 轨迹数据(Trajectories) | https://tongyi-mai.github.io/OpenGCUA/trajectories.html |
| 路线图 ROADMAP | https://github.com/Tongyi-MAI/OpenGCUA/blob/main/ROADMAP.md |
| 贡献指南 | https://github.com/Tongyi-MAI/OpenGCUA/blob/main/CONTRIBUTING.md |
| License(Apache-2.0) | https://github.com/Tongyi-MAI/OpenGCUA/blob/main/LICENSE |
| 快速开始 QUICKSTART | https://github.com/Tongyi-MAI/OpenGCUA/blob/main/QUICKSTART.md |
| 原生 macOS App 指南 | https://github.com/Tongyi-MAI/OpenGCUA/tree/main/packages/macos |
| macOS 演示合集 | https://tongyi-mai.github.io/OpenGCUA-blog/demos/four-workflows.mp4 |
Git 克隆命令:
git clone https://github.com/Tongyi-MAI/OpenGCUA.git
# 或浅克隆
git clone --depth 1 https://github.com/Tongyi-MAI/OpenGCUA.git
二、项目简介与核心能力
2.1 什么是 GCUA
计算机使用已到转折点。 GPT-6 Astra 的 Demo 展示了计算机使用智能体的愿景,关注点正从"仅 GUI 交互"扩展到"视觉 + 编程接口"双通道。问题从"模型操作 GUI 有多好"变成"系统在真实电脑上完成任务有多好"。
OpenGCUA 称之为通用型计算机使用智能体(GCUA)——它比你更会用电脑: - 读无障碍树(Accessibility Tree)并调用 App API; - 运行 Shell 命令; - 需要时操作 GUI; - 通过代码执行把 GUI 操作写成代码,与以上全部融合进一个程序(带循环和条件判断); - 还能与你共享电脑,在后台窗口工作不打扰你正在做的事。
2.2 核心能力一览
| 能力 | 说明 |
|---|---|
| 🧠 代码执行 | 把 GUI 操作写成 Python 程序,融合 API/Shell/GUI,带循环分支校验 |
| 🔌 Cross-Device SDK | 一套编程接口控制电脑、浏览器、手机(macOS/Android/Linux/浏览器适配器) |
| 💻 macOS 真机 Harness | 菜单栏应用,在你的 Mac 上运行智能体 |
| 📜 8 大前沿模型轨迹 | GPT-6 Astra、Claude Opus 5、Gemini 3.8 Flash 等评估轨迹全部开源 |
| 🎯 OSWorld-v2 集成 | 参考 screenshot-action 与 code-action 双智能体实现 |
| ⚡ 效率优化 | 代码执行 + 思考长度 + harness 设计多层面优化 |
| 📊 真机评估 | 真实设备环境与基准测试(进行中) |
2.3 本版本开源内容
- 🧠 OSWorld 集成示例(含参考截图动作与代码动作智能体);
- 📜 8 个前沿模型的评估轨迹(GPT-6 Astra、Claude Opus 5、Gemini 3.8 Flash 等);
- 💻 macOS 真机 Harness(初步版):在你自己 Mac 上运行的菜单栏应用;
- 🔌 Cross-Device SDK(初步版):电脑/浏览器/手机统一编程接口。
三、官方图片
3.1 项目主视觉(hero)
3.2 Logo
![]() ▲ 图 2:OpenGCUA Logo(macOS App 资源) |
![]() ▲ 图 3:网站 Logo |
3.3 性能结果图
| 指标 | 图 |
|---|---|
| OSWorld-v2 离线集(8 大模型部分分 45.3→64.9,步数平均降 53%) | |
| 真机对比(Qwen3.8-Max 推理 token 是 GPT-6 Astra 的 19.4 倍) |
3.4 开源栈全景
3.5 Demo 截图
| Demo | 截图 |
|---|---|
| 四种工作流对比(同一签证表单) | ![]() |
| 酒店调研(跨桌面应用与浏览器) | ![]() |
| 后台工作(边看视频边干活) | ![]() |
| GUI 点击序列 | ![]() |
3.6 社区二维码
![]() ▲ 微信群二维码 |
![]() ▲ 微信助手二维码(群码过期时扫码联系) |
四、性能结果(OSWorld-v2 与真机实测)
4.1 OSWorld-v2 离线集
- 每个模型都提升,包括 GPT-6 Astra、Claude Opus 5、Gemini 3.8 Flash;
- 相比仅 GUI 基线(批量动作),平均部分分从 45.3 升至 64.9(+19.6 分),每任务步数平均下降 53%;GPT-6 Astra 从每任务 102 步降至 34 步;
- 弱模型获益最大:GLM-5.3-Flash 提升 35.2 分,DeepSeek-V4.1-Flash 提升 29.8 分;最强与最弱模型差距从 39.1 分缩小到 18.0 分;
- 代码执行超越纯 Shell 访问的价值:同样的 GUI+Shell 访问下,把操作写成代码额外 +6.1 分,步数再降 14.8%(三个模型均值)。
4.2 真机实测(4 个 macOS 任务)
在相同真机 harness 下:Qwen3.8-Max 每任务推理 token 是 GPT-6 Astra 的 19.4 倍,仅完成 3/4 任务;GPT-6 Astra 完成 4/4。案例研究将差距归因于模型行为——这正是下一个版本 GCUA 模型要解决的。
五、Demo 演示
| Demo | 说明 | 视频 |
|---|---|---|
| 后台工作 | 你边看视频边阅读,OpenGCUA 调研旅行用品并填满购物车,完成后报告 | ▶ 1:08 |
| 四种工作流对比 | 同一签证表单:OpenGCUA / OpenGCUA(偏好GUI) / GUI+batch / Codex | ▶ 1:50 |
| 酒店调研 | 跨桌面应用与浏览器调研比较酒店选项 | ▶ 3:33 |
| GUI 点击序列 | 签证表单工作流中的 GUI 动作片段 | ▶ 0:25 |
六、完整部署步骤(Quick Start)
这是从干净克隆到交互式智能体的最短路径。需要 macOS 14+、uv、Python 3.11–3.14(推荐 3.12)、Rust/Cargo 1.89+、Xcode Command Line Tools(预编译 SDK wheel 不需要 Rust)。
6.1 克隆与安装环境
git clone https://github.com/Tongyi-MAI/OpenGCUA.git
cd OpenGCUA
uv venv --python 3.12
source .venv/bin/activate
uv pip install -e ./packages/sdk -e ./packages/harness/runtime
# 安装原生驱动应用(daemon 已包含在 App 包内)
.venv/bin/mu setup macos
.venv/bin/mu doctor macos
# 安装浏览器支持
.venv/bin/mu setup browser --engine chromium
.venv/bin/mu doctor browser --engine chromium
# 从内置默认配置创建本地私有配置
cp packages/harness/configs/macos_demo.json packages/harness/configs/local.json
6.2 编辑配置文件 local.json
编辑 packages/harness/configs/local.json 中的以下字段:
{
"api_key": "YOUR_API_KEY",
"model_name": "qwen3.8-flash",
"llm_base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"llm_protocol": "openai"
}
其余字段保留 macos_demo.json 的副本。
6.3 授权 macOS 权限
在 系统设置 → 隐私与安全性 → 辅助功能 和 屏幕录制 中授予 CuaDriver.app 访问权限,退出并重新打开 CuaDriver,然后验证:
.venv/bin/mu doctor macos
6.4 启动智能体
# 持久可视化终端对话(/exit 或 Ctrl-D 退出)
.venv/bin/python packages/harness/runtime/mac_agent.py
# 强制纯文本输出(适合脚本/日志)
.venv/bin/python packages/harness/runtime/mac_agent.py --ui plain
# 或启动演示工作室 http://127.0.0.1:8800
bash packages/harness/runtime/start_demo.sh
七、配置详解(模型与凭证)
7.1 配置加载优先级
- 环境变量
MAC_AGENT_CONFIG=<path> packages/harness/configs/local.json(本地配置,gitignored)packages/harness/configs/macos_demo.json(随仓库发布的默认配置)
CLI 参数始终覆盖文件值。temperature 与 top_p 采样参数已被有意移除。
7.2 三种 LLM 协议配置
① GPT 推理模型(OpenAI Responses API)
{
"llm_protocol": "openai-thinking",
"model_name": "YOUR_GPT_REASONING_MODEL",
"llm_base_url": "https://api.openai.com/v1",
"api_key": "sk-..."
}
② DashScope OpenAI 兼容端点(Qwen)
{
"llm_protocol": "openai",
"model_name": "qwen3.8-flash",
"llm_base_url": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"api_key": "sk-..."
}
③ Anthropic Messages API(Claude)
{
"llm_protocol": "anthropic",
"model_name": "YOUR_CLAUDE_MODEL",
"llm_base_url": "https://api.anthropic.com/v1",
"api_key": "sk-ant-...",
"anthropic_thinking": {"type": "adaptive"}
}
7.3 协议选择速查
| 协议 | 适用端点 | 说明 |
|---|---|---|
openai |
Chat Completions 兼容端点(Qwen、vLLM、Ollama、LiteLLM) | 保留可读的 reasoning_content |
openai-thinking |
仅 GPT 推理模型的 Responses API | 加密推理跨轮回放 |
anthropic |
Anthropic Messages API | 原生 thinking 块 + 签名保留 |
Claude 旧模型需手动扩展思考时用
"anthropic_thinking": {"type": "enabled", "budget_tokens": 10000},且max_tokens要高于预算。
八、运行方式
8.1 交互式(推荐):持久对话会话
.venv/bin/python packages/harness/runtime/mac_agent.py
自动使用可视化界面(stdin/stdout 为交互终端时);管道与 TERM=dumb 保持兼容纯文本界面。
8.2 一次性/脚本化
# 把第一个任务作为参数传入
.venv/bin/python packages/harness/runtime/mac_agent.py "帮我预订下周五从上海到北京的机票"
8.3 GUI-only 基线(纯 pyautogui,无 SDK)
适合对照实验:仅 GUI 动作,不读无障碍树、不调 API。
8.4 Web 演示工作室
bash packages/harness/runtime/start_demo.sh
# 打开 http://127.0.0.1:8800
交互式 + 可录制,适合演示。
九、Agent Skills 技能系统
macOS harness 可按需使用本地 SKILL.md 工作流:
- 按需加载:先只展示技能名称和简介,只有你选择或 agent 调用
skills.load("name")后完整指令才进模型上下文; - 内置技能:PDF 表单工作流(
packages/harness/skills/pdf-form/SKILL.md)、钉钉工作流(dingtalk-workflow/SKILL.md);macOS App 打包同样内置; - TUI 命令:
/skills列出可用工作流/skill pdf-form为下一条消息选择/skill new my-workflow创建个人工作流/skills reload加载编辑内容- 任务消息里可直接写
$pdf-form标记 - 个人技能位置:
~/Library/Application Support/Generalist/skills/;可用skills_dirs在local.json里追加绝对目录; - 安全边界:Skills 不授予电脑权限、不自动运行脚本。
十、原生 macOS 应用
OpenGCUA for macOS 实现菜单栏助手:
| 功能 | 说明 |
|---|---|
| 输入任务 | 折叠成浮动控制面板 |
| 回答提问 | 会话式交互 |
| 查看结果 | 保存结果回顾 |
| 技术栈 | SwiftUI + AppKit,Python + SDK + 签名 CuaDriver 全部内置 |
| 系统要求 | Apple Silicon / macOS 14+,当前为本地开发构建 |
| 自动更新 | 启动时 + 每 6 小时检查 GitHub Releases;批准后才下载安装,任务结束后自动重启 |
安装:打开 packages/macos/build/OpenGCUA-macOS-arm64.dmg,把 App 拖入 Applications(先退出旧版)。
十一、Cross-Device SDK 跨设备开发
SDK 是模型编程的接口:每个操作绑定到明确设备/应用/窗口/标签页,保持无障碍与视觉两种独立观察与行动方式,一个程序可协调多设备。
import asyncio
from qwen_intelligence import Runtime
async def main():
async with Runtime() as runtime:
await runtime.add_macos(name="local-mac")
async with runtime.session() as mu:
mac = await mu.register("local-mac", name="mac")
app = await mac.apps.get("com.apple.TextEdit")
await mu.emit(await app.ui.ax.observe()) # TextEdit 的无障碍树
await mu.emit(await app.windows.list())
asyncio.run(main()) # 先打开 TextEdit
- 适配器:macOS、Android、浏览器、Linux;
- 核心:Rust 核心 + Python 绑定;
- 包名:
qwen-intelligence-sdk,导入名qwen_intelligence(内部名mai_ui); - 示例:
packages/sdk/examples/src/。
十二、开源栈与路线图
已发布: - [x] OSWorld 集成示例(截图动作 + 代码动作双智能体) - [x] macOS 真机 harness 与 Cross-Device SDK(初步开源版) - [x] 原生 macOS App(预览版菜单栏助手,带浮动任务面板、语音、内置 harness/SDK/driver)
规划中: - [ ] GCUA 模型:计算机使用 + 浏览器使用,把代码执行、按需观察、任务追踪变成学到的技能 - [ ] 执行效率:代码执行、思考长度、harness 设计优化 - [ ] 真机环境与基准:先做 macOS,测真实条件下的有效工作 - [ ] 设备上的可靠工作:跨电脑/浏览器/手机,可靠定位、失败恢复、人机接力连续性
十三、工作原理
GCUA 的形式化定义:通过视觉交互和编程访问完成多样化计算机任务的智能体系统,每一步选择"如何观察、如何行动、如何组织工作"。
| 决策 | GUI 智能体 | OpenGCUA |
|---|---|---|
| 👁️ 观察什么 | 每个动作后截屏 | screenshot(),只在模型需要时调用 |
| ✋ 如何行动 | 一次一个点击/按键 | Python 程序融合无障碍树 + App API + Shell + GUI,带循环分支校验 |
| 🗂️ 如何组织 | harness 固定 | 模型维护 todo 列表,每个程序前声明 <intent> |
两大设计: 1. 代码执行:模型带入已有编程技能,中间结果决定下一步无需再调模型; 2. harness→模型决策转移:何时观察、追踪什么从 harness 规则转移到模型。
真实步骤示例(GPT-6 Astra 在 OSWorld-v2 CRM 任务):
<intent>Apply the 29 evidence-based status changes while preserving all original
customer details.</intent>
<code>
todo.update(id="updates", kind="task", content="Applying 29 reviewed status changes ...",
status="attempted")
r = bash(r"""...
cat > /tmp/apply_lead_statuses.py <<'PY'
...
current=api(p,'/api/crm/workspace')['workspace']
assert current==original,'Workspace changed since original review; stopped before edits.'
for change in changes:
d=api(p,'/api/crm/leads/'+change['leadId'],'PATCH',{'status':change['to']})
...
assert lead['status']==change['to']
PY
python /tmp/apply_lead_statuses.py""")
if r.ok:
todo.update(id="status_updates", kind="task",
content="Applied and API-verified all 29 planned status changes. ...",
status="claimed_verified")
</code>
一步之内:声明意图→记录计划→写脚本(应用变化则中止)→通过应用自己的 API 应用 29 个编辑→逐个校验→成功后才标记验证通过。
十四、项目结构全解
OpenGCUA/
├── README.md # 主说明(本指南来源)
├── QUICKSTART.md # 快速开始/配置/排障(492行)
├── ROADMAP.md # 路线图
├── CONTRIBUTING.md # 贡献指南
├── LICENSE # Apache-2.0
├── packages/
│ ├── harness/ # 智能体运行时(macOS 真机)
│ │ ├── runtime/ # 智能体循环与宿主(mac_agent.py 等)
│ │ ├── configs/ # 可运行配置(macos_demo.json)
│ │ ├── examples/osworld/ # OSWorld 集成示例
│ │ └── skills/ # 内置技能(pdf-form、dingtalk-workflow)
│ ├── sdk/ # Cross-Device SDK
│ │ ├── adapters/macos/ # 原生 macOS 提供者(Rust)
│ │ ├── python/mai_ui/ # SDK 实现
│ │ ├── python/qwen_intelligence/ # 公共别名命名空间
│ │ └── examples/ # 示例程序
│ └── macos/ # 原生 macOS App(SwiftUI + AppKit)
├── site/ # 官网源码
│ ├── assets/readme/ # README 官方图
│ └── src/trajectory-assets/ # 轨迹页面资源
└── .github/ # GitHub Actions 等
十五、常见问题排查(Troubleshooting)
| 错误/问题 | 处理 |
|---|---|
PERMISSION_DENIED |
CuaDriver.app 未授权辅助功能/屏幕录制:系统设置→隐私与安全性 |
DEVICE_OFFLINE |
打开 CuaDriver.app 一次,确认其 bundle daemon 启动 |
| 原生扩展导入错误 | 源码安装需 Rust/Cargo 1.89+ + Xcode CLT;用预编译 wheel 则不需要 Rust |
| 录音/录制问题 | 检查屏幕录制权限归属进程 |
| 切换 venv/Python/终端后突然 PERMISSION_DENIED | macOS TCC 按"负责进程"记录授权:用已授权解释器运行,或退出重开 CuaDriver.app,或授权启动终端/IDE |
| 找不到 CuaDriver | 运行 .venv/bin/mu setup macos(App 包含 daemon,无独立 serve 命令) |
agent 在权限失败后重复 terminate() |
见 QUICKSTART Troubleshooting 章节 |
| 模型 HTTP 400 | 检查 llm_protocol 与模型匹配:Anthropic 模型用 anthropic 协议 |
| 模型调用慢 | 检查 base URL 是否以 /v1 结尾(客户端自动追加路径) |
十六、社区与联系
| 渠道 | 入口 |
|---|---|
| 微信群 | 扫描上方二维码(过期则扫微信助手码) |
| Discord | 邀请即将开放 |
| 项目负责人 | Yue Wang(yue.w@alibaba-inc.com) |
| 联合负责人 | Hanzhang Zhou(hanzhang.zhou@alibaba-inc.com)、Long Li(longyu.ll@alibaba-inc.com) |
引用(Citation):
@misc{opengcua2026,
title = {{OpenGCUA}: Toward a Fully Open Stack for Generalist Computer Use},
author = {Hanzhang Zhou and Long Li and Quyu Kong and Lei Wang and
Panrong Tong and Long Chen and Tianyu Xia and Gongjie Zhang and
Xu Zhang and Chen Liu and Jianan Zhang and Chenglin Cai and
Zhengwen Zeng and Steven Hoi and Yue Wang},
year = {2026},
eprint = {2610.22200},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
url = {https://arxiv.org/abs/2610.22200}
}
十七、参考链接汇总
免责声明:本文所有命令、规则、数据均整理自官方 GitHub 仓库
Tongyi-MAI/OpenGCUA的 README 与 QUICKSTART 原文,如仓库更新请以最新版本为准。OpenGCUA 当前为 research preview(研究预览版),部分组件为 preliminary 状态。







