super-cu:用 UI Automation 语义快照与批量动作做 Windows 桌面控制

前言

在 DeepSeek Harness(DSH)里让智能体操作本机 Windows 桌面,常见做法是反复截图、猜坐标、多轮工具来回。上下文变长、延迟高,元素定位也不稳定。super-cu(仓库名 dsh-super-cu)是维护者 suntham-t 发布的 客户端 类 DSH bundle:默认走 UI Automation 纯文本语义快照,配合 稳定元素 id 与 一次调用批量执行 的 cu_do,把「观察」和「动作」收成两个 MCP 工具。下面介绍它是什么、怎么装、怎么用,以及使用时要注意的权限与环境限制。

这是什么

super-cu 面向 Windows 10/11,在 DSH >= 0.2 下以 bundle 形式挂载:通过 package.json 里的 dsh.bundle.patch 和 cordis.patch.yml,由官方 @deepseek-ai/dsh-mcp-client 拉起常驻 Python MCP server(stdio)。智能体侧可见工具名为 mcp__supercu__cu_show 与 mcp__supercu__cu_do(README 中亦写作 cu_show / cu_do)。

  • 维护者:suntham-t
  • 当前版本(package.json):1.5.0
  • 许可证:MIT
  • 目录页:https://www.skillhub.cn/plugins/suntham-t/super-cu
  • 源码:https://github.com/suntham-t/super-cu

社区插件目录(如 skillhub.cn)与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,安装前建议自行阅读仓库源码与许可证。

核心功能

两个工具

cu_show — 观察界面

返回紧凑的语义文本快照,而不是默认依赖截图循环。典型输出包含窗口行、可交互控件列表,以及每个元素的 稳定 id(方括号内数字)、类型、名称与能力/状态标记。

win #39719780 "无标题 - 画图" 2030x1271 @264,159 [focus]
obs 226n/145 shown 239ms controls cut=budget(+61 hidden)
[6] document "开发高效精准的ComputerUse插件"
 [7] button "新建会话" [i]
 [15] edit "搜索会话名称" ~
 [57] tabitem "对话"

主要参数包括:window(标题、进程名或 #hwnd)、view(controls / text / all)、filter、max_nodes、screenshot、region、max_image_width。1.1 起可选 marks: true 做 Set-of-Mark 截图(编号即 #id);不加该参数时与 1.0 文本输出逐字节一致。

cu_do — 批量动作

一次 JSON 调用里按顺序执行多步,支持等待与断言;某步失败则停止并给出建议,后续步骤不执行。

{"steps": [
  {"op": "set",  "target": "#8713", "text": "关键词", "expect": "关键词"},
  {"op": "key",  "keys": "enter"},
  {"op": "wait", "text": "搜索结果", "timeout_ms": 3000}
]}

目标写法:#id(推荐)、ct:名字、视觉兜底 @n:ux,uy(归一化坐标)、@img:x,y、@x,y(物理屏幕)。README 中 op 覆盖鼠标、键盘、UIA pattern(invoke / set / toggle / select 等)、窗口(activate / launch / close / minimize / maximize / window_move)、剪贴板、以及 wait / assert 等控制类操作。

设计要点(资料中的说明)

  • 稳定 id:由 UIA RuntimeId 映射为进程内自增 int,跨快照复用;失效时按类型、名字、AutomationId、祖先路径等语义重定位。
  • Pattern 优先:能走 UIA Pattern 的后台操作不抢焦点;不可用再回退真实点击。
  • 歧义拒绝:ct:名字 命中多个候选时返回 AmbiguousError,不猜测。
  • 性能路径:窗口列表用 win32 EnumWindows;单窗口 UIA 缓存快路径(异常或 SUPER_CU_NO_CACHE=1 可回退逐节点 walk);默认不截图以控制延迟与 token 体积。
  • 版本增量:1.3 起支持最小化窗口的后台 pattern 操作;1.4 对齐 OpenAI CUA 常见动作面;1.5 增加跨窗口拖拽、scroll_until_visible 等(详见仓库 CHANGELOG 与 docs/)。

README 内含与同机 windows-mcp 4.0.3 的对比数据(观察延迟、文本体积、冷启动等),复现与门禁见仓库 bench/ 与 docs/OPT-*.md;本文不重复罗列全部数字。

安装与启用

环境要求:Windows 10/11、Python 3.11+、DSH >= 0.2。

先在本地取得仓库并执行一次性安装脚本(路径写入本机 cordis.patch.yml):

git clone https://github.com/suntham-t/super-cu.git
cd super-cu
./setup.ps1          # 自动探测 python、安装 Pillow + uiautomation、把绝对路径写进 cordis.patch.yml

然后在 DSH 客户端:插件 / Plugins → 安装本地插件(install from folder)→ 选择该目录。重新开一个会话后,应出现 mcp__supercu__cu_show 与 mcp__supercu__cu_do。

可选环境变量(README 明确列出):SUPER_CU_NO_CACHE、SUPER_CU_NO_PREFETCH、SUPER_CU_SETTLE_MIN_MS 等,用于关闭缓存、关闭预热或调整 settle 行为。

典型用法

  1. 用 cu_show 指定目标窗口(例如按标题或进程名),view=controls,必要时调 max_nodes 控制输出规模。
  2. 从快照里读取稳定 id 或语义名字,在 cu_do 的 steps 里写 #id 或 ct:…。
  3. 需要确认界面变化时,在同一次 cu_do 里追加 wait 或带 expect 的步骤,而不是动作结束即结束回合。

窗口不在前台时,cu_do 会对目标窗口自动 activate(含最小化还原等)。多智能体共享同一桌面时,仓库提供 gui_lock 互斥逻辑(见 src/gui_lock.py),具体策略以源码为准。

适用场景与注意

适合:在 Windows 上让 DSH 智能体自动化本地 GUI(浏览器、资源管理器、Office、记事本等 UIA 可暴露树的应用);希望减少截图 token、用 id 精确定位、一步完成多步操作的工作流。

不适合或需额外处理:强依赖纯视觉、无 UIA 树或自绘控件且 pattern/滚轮兜底仍失败的应用;Linux/macOS(本插件仅 Windows)。

安全与权限:插件以 当前 DSH 进程的用户权限 运行,能点击、输入、读剪贴板、启停窗口——安装前务必审查 src/ 与 cordis.patch.yml,仅在可信环境启用。剪贴板写入会暂用并恢复用户原内容(README 说明写入后回读校验)。

应用差异:例如微信最小化后 UIA 树仍较完整;Win11 记事本最小化后内容树可能不暴露,需先 activate。详见 docs/MINIMIZED.md。

结尾

super-cu 把 Windows 桌面控制收成 观察(cu_show)+ 批量动作(cu_do) 两个工具,以 UI Automation 语义文本和稳定 id 为主路径,并保留可选截图与坐标兜底。若你在 DSH 里做 Windows computer-use,可从目录页了解收录信息,从 GitHub 阅读完整 README、SKILL.md 与基准文档后再安装。

  • 插件目录:https://www.skillhub.cn/plugins/suntham-t/super-cu
  • GitHub:https://github.com/suntham-t/super-cu
羽毛球分组比赛记分
小程序二维码

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

Xiaoye