cua-computer-use:把 Cua Driver MCP 接进 DeepSeek Harness 的电脑操控工具

前言

在 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 工具使用。

核心功能

插件通过 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 配置,插件额外负责:

  1. 可执行文件解析:按配置、$CUA_DRIVER_BIN、各平台默认安装路径、PATH 顺序查找;找不到时可按官方安装脚本自动安装(可关闭)。
  2. 首次运行引导:安装校验(SHA256、macOS codesign);macOS 上检查无障碍与屏幕录制权限,并可通过 setup.json 避免重复弹窗骚扰。
  3. 模型侧指引: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 一致):

  1. 发现窗口或启动应用(如 list_windows、launch_app)。
  2. 读取状态:优先 get_accessibility_tree 等快照类工具;需要增量时用 since: "latest" 做廉价重读。
  3. 在当前快照有效的前提下,用快照绑定的 token 做 click、type_text 等;快照变化后需重新获取。
  4. 操作浏览器内页面时,使用 browser_* 系列,而非假设桌面坐标点击即可命中网页元素。
  5. 复杂序列可用 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜