前言¶
在 DeepSeek Harness(DSH)里做 GUI 自动化,常见做法是手写一条 MCP 配置,指向 cua-driver mcp。Cua Driver 本身提供以无障碍为主的操作面:窗口发现、无障碍快照、与快照绑定的元素 token、像素回退、菜单、浏览器标签、录制与回放等。问题在于:Harness 桌面宿主往往拿不到你终端里的 PATH(macOS 上由 launchd 启动时尤其明显,~/.local/bin 常被省略),裸写 cua-driver 容易启动失败且报错不直观;同时 MCP 会暴露大约 60 个工具,若没有工作流说明,模型容易误用(例如忽略快照会使 token 失效、浏览器页面应走 browser_* 而非桌面指针等)。
下面介绍的 cua-computer-use(维护者 fishcg,社区目录分类为联网工具)是 DSH 插件:解析 cua-driver 可执行文件路径,把官方 MCP 服务接入内置 MCP 客户端,将工具注册为 mcp__cua-driver__*,并附带 skill 与简短 standing prompt。插件不重新实现自动化逻辑,也无运行时依赖。
这是什么¶
一句话:把 Cua Driver 的 MCP 服务桥接到 DSH,作为原生 computer-use 工具使用。
- 仓库:fishcg/cua-computer-use
- 目录页:skillhub.cn 插件页
- 当前包版本(
package.json):0.2.0,许可证 MIT
核心功能¶
插件通过 bundle patch 插入配置行,主要注册内容如下(与 README 一致):
| 类型 | 名称 | 说明 |
|---|---|---|
| Tools | mcp__cua-driver__* |
约 60 个工具,由 @deepseek-ai/dsh-mcp-client 桥接 |
| Skill | cua-computer-use |
工作流、可靠性规则与排障 |
| Service | cuaComputerUse |
解析后的启动参数,供其他行消费 |
| Prompt | tool:cua-computer-use |
三句 standing note;可用 prompt: false 关闭 |
工具面覆盖窗口发现(如 list_windows、launch_app)、状态读取(get_window_state、get_accessibility_tree)、输入(click、type_text、set_value、press_key、hotkey、scroll、drag)、校验(verify_state)、批处理(run_steps、run_script)、原生菜单(invoke_menu)、浏览器标签(get_browser_state、browser_click 等)、几何、录制与诊断等。
相对手写 MCP 配置,插件额外负责:
- 可执行文件解析:按配置、
$CUA_DRIVER_BIN、各平台默认安装路径、PATH顺序查找;找不到时可按官方安装脚本自动安装(可关闭)。 - 首次运行引导:安装校验(SHA256、macOS codesign);macOS 上检查无障碍与屏幕录制权限,并可通过
setup.json避免重复弹窗骚扰。 - 模型侧指引:bundled skill 与 prompt 说明快照与 token、
since: "latest"、浏览器与桌面工具分工等。
环境与要求¶
- DeepSeek Harness
0.2.0-rc.2或更高。 - 首次运行可不预先安装
cua-driver;插件缺失时会调用官方安装器。若自行安装,README 给出的命令为:
# macOS / Linux
/bin/bash -c "$(curl -fsSL https://cua.ai/driver/install.sh)"
# Windows
irm https://cua.ai/driver/install.ps1 | iex
- macOS:需要 Accessibility 与 Screen Recording 权限;权限归属于 CuaDriver 进程,而非 Harness 本身。
Node 引擎要求(package.json):^22.19.0 || >=24.0.0。
安装与启用¶
在 git 检出或已配置 profile 的前提下,README 给出的安装方式为:
dsh plugin --profile web add github:fishcg/cua-computer-use
安装后需重启 Harness。包为纯 ESM、无构建步骤、无运行时依赖;git 安装时 profile 的 pnpm-workspace.yaml 一般无需 allowBuilds。
社区插件目录(skillhub.cn)与 DeepSeek / 幻方无官方从属关系,属于社区生态收录,安装前仍建议查看仓库源码与许可证。
配置要点¶
在 profile 的 cordis.patch.yml 中,对 cua-computer-use 行设置 config。示例:
- id: cua-computer-use
config:
command: /opt/cua/cua-driver
toolCallTimeoutMs: 180000
常用选项(节选,默认值以 README 为准):
| 选项 | 默认 | 说明 |
|---|---|---|
command |
'' |
显式路径或命令名;空则自动发现;显式值不会静默回退到其他二进制 |
toolCallTimeoutMs |
120000 |
单次工具调用超时(GUI 等待偏慢) |
autoInstall |
true |
缺失时自动安装;false 或 CUA_DRIVER_NO_AUTO_INSTALL=1 则仅提示手动安装命令 |
modifyPath |
false |
是否允许安装器修改 shell rc(插件默认用绝对路径,不改 PATH) |
installTelemetry |
false |
安装遥测 opt-in |
permissionCheck / permissionPrompt |
true |
macOS 权限检查与一次性系统弹窗 |
环境变量 CUA_DRIVER_BIN 可在 command 之后、目录发现之前固定绝对路径。
自动安装时,安装器通过环境变量控制行为(插件默认 CUA_DRIVER_RS_NO_MODIFY_PATH=1、CUA_DRIVER_RS_TELEMETRY_ENABLED=0);详见 README 表格。
典型用法与工作流¶
启用插件并重启后,模型可通过 mcp__cua-driver__* 调用 Cua Driver 能力;应结合 skill cua-computer-use 中的流程使用,而不是零散试工具。
可复现的操作顺序(概念层面,与 README / skill 一致):
- 发现窗口或启动应用(如
list_windows、launch_app)。 - 读取状态:优先
get_accessibility_tree等快照类工具;需要增量时用since: "latest"做廉价重读。 - 在当前快照有效的前提下,用快照绑定的 token 做
click、type_text等;快照变化后需重新获取。 - 操作浏览器内页面时,使用
browser_*系列,而非假设桌面坐标点击即可命中网页元素。 - 复杂序列可用
run_steps/run_script;需要校验时用verify_state。
README 未提供独立「端到端脚本示例」;实际对话中由 Harness 在 skill 约束下编排上述工具。
适用场景与注意¶
适合:需要在 DSH 里做真实桌面 / 浏览器 GUI 自动化、且希望用官方 Cua Driver MCP 而非自研桥接的开发者。
注意:
- 插件与 MCP 子进程以当前 Harness 宿主环境启动;权限、路径、超时均受 profile 与系统设置影响。
- 自动安装会在无交互启动时拉取官方安装脚本;生产或合规环境请审阅安装器行为,必要时
autoInstall: false并自行部署cua-driver。 - 联网与本地 GUI 操作风险由使用者承担;安装前检查 GitHub 仓库 源码与 MIT 许可证。
结尾¶
cua-computer-use 把 Cua Driver 的 MCP 服务以插件方式接入 DSH:解决可执行文件发现与 macOS 权限提示问题,并把约 60 个工具与 skill、prompt 一并注册,让模型按无障碍优先的工作流使用 computer-use。
- 目录页:https://www.skillhub.cn/plugins/fishcg/cua-computer-use
- GitHub:https://github.com/fishcg/cua-computer-use