dsh-windows-control:为 DSH 智能体接入 Windows 桌面看见与操作

前言

在 DeepSeek Harness(DSH)里做 Windows 侧自动化时,常见做法是单独接一套 MCP 或脚本,把截图、点击、窗口枚举拆成很多步,模型往返和等待时间往往比真正桌面动作还长。CursorTouch/Windows-MCP 能把 UI Automation 能力经 MCP 接到工具表,但在无无障碍节点的自绘窗口上,Snapshot 慢、部分进程控制能力也不够用。

下面介绍社区插件 dsh-windows-control(维护者 xkzm123,分类:客户端)。它在 DSH 里挂载 Windows-MCP 官方 MCP 桥,同时提供原生 Win32「快通道」;桌面控制默认关闭,需在界面里打开 Computer Use 并安装依赖后才能用。插件还内置依赖安装、多镜像测速与安装失败时的换源重试。

这是什么

dsh-windows-control 面向 DeepSeek Harness 的 Windows 桌面控制:本仓库不实现 MCP 协议,桥接由 DSH 自带的 @deepseek-ai/dsh-mcp-client 完成,插件负责挂载、装依赖,以及一条更快的旁路。

装上之后,模型工具表会多出两批能力:

批次 工具 来源
桥接 mcp__windows__Screenshot / Snapshot / Click 等共 18 个 Windows-MCP,经 DSH MCP 客户端
原生 windows_fast、windows_run 本仓库 lib/fastpath.js + tools/fastpath-host.ps1

当前包版本为 0.2.3(MIT,Node ≥ 22)。仓库:xkzm123/dsh-windows-control;社区目录:SkillHub 插件页。

为什么需要快通道

README 在同一台 Windows 11 上对比过:全桌面 UI Automation 遍历适合浏览器、原生控件;对 SDL/OpenGL 自绘窗口,枚举窗口几何走 Win32 可在毫秒级完成,而桥上的 Snapshot 实测可达二十余秒且可能返回 0 个元素。快通道接管「桥答不好」的部分,上游 Windows-MCP 一行不改。

核心功能

MCP 桥:看见桌面与 UIA

经官方桥接入 CursorTouch/Windows-MCP 的 18 个工具,覆盖截屏、快照、点击、输入、剪贴板、注册表等。桥接参数可在 设置 → 桌面控制 调整(例如工具调用超时默认 120000 ms、截图缩放默认 0.75、默认屏蔽 App, PowerShell, FileSystem 以省上下文)。修改桥接相关配置后需重启 DSH(MCP 客户端仅在启动时读取)。

快通道:windows_fast 与 windows_run

  • windows_fast:单步操作,包括枚举可见窗口(windows)、矩形/聚焦(rect/focus)、启动进程并等窗口稳定(launch)、点击/移动/按键/输入、读像素(pixel)、等待条件(wait)、结束进程(kill)等。
  • windows_run:按 JSON recipe 顺序执行多步;支持 launch、click_until(点击后根据窗口尺寸或像素颜色重试)、wait_pixel 等。配方可存于 $DSH_HOME/windows-control/recipes/<name>.json,通过 windows_run({ "profile": "..." }) 复用。仓库提供 examples/kingdom-rush-origins.json 作为示例。

惰性工具(默认开启)

18 份 MCP 工具 schema 会占上下文。开启惰性后,工具表先只暴露 windows_desktop 入口,调用后再下发所选能力并按 session 记忆;可在设置里关闭以恢复全量下发。

依赖安装与镜像

在 设置 → 桌面控制 → 依赖 点「下载并安装」:并发测速 7 个镜像,按吞吐量排序后用 uv tool install 安装 Windows-MCP(首次约 60 MB),失败则换镜像;装完后改写桥配置并需再重启 DSH。可配置首选镜像(auto 或固定 USTC、阿里云等)。

安全与默认关闭

桌面控制默认关闭:工具不出现在工具表,调用也会被 guard 拦截。打开 Computer Use 等写操作须在 DSH 图形界面完成(带 GUI 签名的 session),模型不能自行开启。桥配置中禁用上游匿名遥测(ANONYMIZED_TELEMETRY=false)。开关打开后,能力与当前用户在本机桌面上的操作范围相当,不确定时应保持关闭。

安装与启用

1. 安装 uv

winget install --id=astral-sh.uv -e

安装后重启 DSH,确保跑 DSH 的进程能在 PATH 中找到 uv。

2. 添加插件

DSH Desktop → 设置 → 插件 → 添加 bundle:

github:xkzm123/dsh-windows-control

非 Electron 的 profile 也可用命令行(desktop profile 仅能通过图形界面操作):

dsh plugin --profile <profile> add github:xkzm123/dsh-windows-control

添加后重启 DSH。

3. 安装依赖并打开开关

进入 设置 → 桌面控制 → 依赖,点 下载并安装;完成后再重启一次 DSH。在对话输入框左下角打开 Computer Use(指示灯变绿),可用「截个屏看看我现在在干什么」做一次验证。

典型用法

单步快通道

{ "op": "windows", "filter": "Kingdom" }
{ "op": "click", "title": "王国保卫战", "x": 1073, "y": 745 }
{ "op": "pixel", "x": 600, "y": 730 }

配方串联

{
  "steps": [
    { "launch": { "path": "C:\\game.exe", "title": "Game", "timeoutMs": 20000 } },
    { "click_until": { "window": "Game", "at": [303, 473], "relative": true,
                       "until": { "minWidth": 1900, "stableMs": 700 } } },
    { "click_until": { "at": [440, 724], "retries": 3, "timeoutMs": 2500,
                       "until": { "pixel": [600, 730], "hex": "#A8AC97" } } }
  ]
}

README 在 1920×1080 上记录了用 windows_run 驱动游戏的端到端耗时,并与全走 MCP 桥的调用次数、等待时间做过对比;配方坐标绑定分辨率,换分辨率需重新测量。

适用场景与注意

适合谁: 在 Windows 上用 DSH 做 Computer Use、需要截屏/UI 树又要在游戏或自绘窗口上做可靠点击与启动流程的开发者。

运行权限: 插件与快通道以当前 DSH 进程的用户权限 操作本机桌面,包括注册表读写、结束进程等;安装前请阅读 仓库源码 与 MIT 许可证,仅在可信环境启用。

限制(摘自 README): 快通道不做 UIA,读浏览器控件仍走桥;快通道为 PowerShell 子进程,首次约 1.5 s 冷启动;桥上 USER_CONTROL 等上游行为未改。配置写入 $DSH_HOME/dsh-windows-control.settings.json;状态在 $DSH_HOME/dsh-windows-control.state.json。

社区插件目录 SkillHub 与 GitHub 仓库独立维护,不代表 DeepSeek 或幻方官方应用商店。DSH 生态理念是「一切皆插件」,按需选用即可。

小结

dsh-windows-control 把 Windows-MCP 经 DSH 官方桥接进工具表,并用 windows_fast / windows_run 补上窗口几何与输入的快路径;依赖安装、镜像测速与默认关闭的 Computer Use 开关集中在设置页完成。进一步细节见 GitHub README 与 SkillHub 目录页。

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

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

小夜