dsh-computer-use-win:为 DSH 增加 Windows 桌面观察与操作能力

前言

DSH 的理念是“一切皆插件”,社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。对使用 DSH 的开发者来说,如果希望 agent 参与真实 Windows 桌面操作,需要补齐三类能力:读取窗口结构、执行输入动作、处理窗口状态。下面介绍 dsh-computer-use-win,它把 Windows computer use 能力做成 DSH 插件。

这是什么

dsh-computer-use-win 是 Yu-tao-Li 维护的 Windows computer use 插件,核心是 MCP stdio 服务器和 PowerShell/UIA 桌面引擎,对外提供 22 个桌面工具。它解决的是 DSH agent 在 Windows 上如何看控件、看截图、执行鼠标键盘操作并管理窗口的问题。

核心能力

观察能力

  • 提供 UIA 无障碍树三视图:controlcontentraw
  • 支持按 nameautomationId、类名、值查找控件。
  • 截图采用三级链:PrintWindowWGC、屏幕区域兜底。
  • OCR 回退时会返回逐词屏幕坐标词框;对 CJK 按字符给词框。

动作与窗口能力

  • 鼠标操作。
  • 键盘输入。
  • UIA 语义动作。
  • 窗口管理。

后端与安全

  • 使用持久化 PowerShell 后端,协议为 JSON 行协议。
  • 内置安全机制包括:坐标 homing、急停 failsafe、identity guard、前台校验、Win 键黑名单。

安装与启用

先确认环境:仅支持 Windows,并要求 Node >=22

安装命令如下:

dsh plugin --profile web add github:Yu-tao-Li/dsh-computer-use-win

这条命令将插件加入 web profile。完成安装后,重启 dsh web,工具会以 mcp__wincu__windows_computer_use_* 形式出现。

注意:同一 profile 只保留一个 serverName: wincu 行。

典型用法

经过上面的安装步骤后,可以用仓库内命令做本地验证:

node mcp/server.mjs --self-test
node test/mcp-test.mjs
node test/notepad-e2e.mjs

这三条命令分别用于自检、MCP 测试和 Notepad E2E 测试。

适用场景与注意

适合在 Windows 上开发 DSH 工作流、需要 agent 读取桌面控件并执行输入的人。许可证为 MIT。

使用前注意以下限制:

  • 仅支持 Windows。
  • 需要 Node >=22
  • 本项目是 cgissing/windows-computer-use(MIT)的衍生作品,上游版权声明保留于 THIRD_PARTY.md
  • WinUIChromiumElectron 会丢弃 PostMessage 合成输入;verified:false 是诚实上报,不是成功。
  • 提权窗口(UAC/管理员程序)的 UIA 与合成输入会被 Windows 拦截,读不到也点不了。
  • 坐标以物理像素为准,使用显式 Per-Monitor V2 DPI。
  • OCR 对 CJK 按字符给词框。
  • 插件以当前 dsh 进程权限运行,安装前应检查源码和许可证。

链接

GitHub:

https://github.com/Yu-tao-Li/dsh-computer-use-win

插件线索给出的目录页:

https://www.skillhub.cn/plugins/Yu-tao-Li/dsh-computer-use-win

羽毛球分组比赛记分
小程序二维码

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

Xiaoye