dsh-windows-mcp-lite:用配置把 Windows 桌面自动化接到 DSH

前言

在 DeepSeek Harness(DSH)里让智能体操作 Windows 桌面,常见做法是再挂一套 MCP 服务端,或写 Host 插件把桥接逻辑跑在 harness 进程里。前者要维护进程与超时,后者会扩大攻击面、增加审计成本。下面介绍 sheilacraig 维护的 dsh-windows-mcp-lite:纯配置包,把 DSH 自带的 MCP 客户端桥接到 CursorTouch/Windows-MCP,默认暴露上游 21 个工具中的 16 个,整份集成可读 cordis.patch.yml(约 25 行,无 JavaScript)。

这是什么

dsh-windows-mcp-lite 是「Config-only DeepSeek Harness bundle」:不安装 index.js,不在 harness 进程内运行作者代码;通过 patch 挂载内置的 @deepseek-ai/dsh-mcp-client,经 stdio 启动 uvx windows-mcp@0.8.8 serve,最终落到本机 UI Automation、Win32 输入与截屏。

调用链如下:

DSH agent
  └─ mcp__windows__Snapshot / Click / Type / ...
       └─ @deepseek-ai/dsh-mcp-client        (ships with DeepSeek Harness)
            └─ uvx windows-mcp@0.8.8 serve   (stdio child process)
                 └─ your desktop: UI Automation tree, Win32 input, screen capture

在 SkillHub 等社区目录中分类为工作流;GitHub 仓库:https://github.com/sheilacraig/dsh-windows-mcp-lite,当前星标为 0。许可证 MIT,package 版本 1.0.0。

刻意不做的事(设计边界)

README 把这些当作设计选择,而非缺功能清单,安装前值得通读:

  • 无 Host 插件、无 web 路由、无状态文件、无向 profile 自动写入的安装器。
  • dependencies 为空,无构建步骤;桥接通过 PATH 上的 uvx 启动,仓库测试会拒绝发布物中出现机器专属绝对路径。
  • 不提供 screenshots.json;需要应用内依赖安装、默认关闭的「Computer Use」开关或 doctor 工具时,应选用生态里其他插件。本插件用体积换可审计性——涉及键盘、鼠标与屏幕时这一点尤其重要。

环境与依赖

  • Windows 10 或 11(上游 Windows-MCP 仅支持 Windows)。
  • DeepSeek Harness 且带内置 MCP 客户端桥:engines.dsh 为 >=0.2.0-rc.1 <0.3.0-0;作者在 0.2.0-rc.2(desktop)上验证过。
  • 运行 DSH 的进程 PATH 上要有 uv,由 uvx 拉起上游服务并构建隔离环境。
  • 可选:支持图像输入的模型,以便 Screenshot 以真实图像返回;否则桥接会把图像降级为文本诊断。Snapshot 返回纯文本,不依赖视觉模型。

Node 引擎要求 >=22(见 package.json)。

核心能力:模型可见的工具

默认 16 个工具,命名形如 mcp__windows__<Tool>。上游 0.8.8 共 21 个;本插件默认排除 5 个(见下文「最小权限」)。

工具 作用
Screenshot 截屏,含光标位置与窗口列表
Snapshot 完整桌面状态:无障碍树、可交互元素、可滚动区域
DisplayInventory 显示器布局、工作区、DPI
Click, Move, Scroll 鼠标输入(含拖拽)
Type, Shortcut 键盘输入
Wait, WaitFor 固定延迟或轮询 UI 直至条件满足
MultiSelect, MultiEdit 批量选择 / 批量文本输入
Clipboard 读写剪贴板
Notification Windows toast
App 启动应用、调整或聚焦窗口
ControlStatus 当前谁占用桌面(上游无法排除此项)

安装与启用

在应用内:Settings → Plugins → Add plugin,填入以下之一:

dsh-windows-mcp-lite                                # npm package
github:sheilacraig/dsh-windows-mcp-lite             # GitHub repository
C:\path\to\a\local\checkout                         # absolute path

由 CLI 管理的 profile:

dsh plugin --profile <profile> add dsh-windows-mcp-lite

Electron 桌面版的 profile 归属应用本身,应在应用内插件面板安装,而非仅用 CLI 写到错误 profile。

安装后重启 DSH,新的 patch 层在启动时合并。

首次运行:先预热

uvx 首次会为上游服务构建隔离环境并下载若干十 MB 级 Python 依赖;慢网下可能耗时数分钟,桥接在初次连接上的等待时间往往短于该过程。建议在 harness 外、无超时地预热:

npm run prewarm

该脚本以与桥接相同的参数运行 uvx windows-mcp@0.8.8 serve --exclude-tools ...,对服务执行 initialize 与 tools/list,打印服务标识、耗时与工具列表后退出。作者文档称环境预热后,initialize 约 2.1 s。

典型验证步骤

  1. 执行一次 npm run prewarm,确认 pinned 版本与服务可用。
  2. 在 DSH 中让智能体调用 mcp__windows__DisplayInventory(只读显示几何,不点击、不输入)。
  3. 再调用 mcp__windows__Snapshot,以文本形式查看无障碍树。

默认最小权限

桥接参数包含:

--exclude-tools PowerShell,Registry,FileSystem,Process,Scrape

上述五个上游工具默认关闭:DSH 已在自有审批与沙箱下提供 shell、文件、注册表与进程能力;再开上游副本会形成第二条无相同管控的路径。若需调整,在你自己 profile 的 patch 里覆盖对应行;去掉 --exclude-tools 可恢复全部 21 个工具。

同一 profile 只能有一个 Windows-MCP 桥;相同 serverName 的第二行会在加载时冲突。启用本插件前,请关闭同 profile 下其他 Windows-MCP 类插件。

配置覆盖

默认值均在插件包内的 cordis.patch.yml。修改时应覆盖 $DSH_HOME/profiles/<profile>/cordis.patch.yml,不要改已安装副本。示例(与 README 一致,截断处仅作结构参考;完整键以仓库文件为准):

# $DSH_HOME/profiles/<profile>/cordis.patch.yml
- id: windows-mcp-lite
  config:
    serverName: windows
    transport: stdio
    command: uvx
    args: [windows-mcp@0.8.8, serve, --exclude-tools, "PowerShell,Registry,FileSystem,Process,Scrape,App"]
    toolCallTimeoutMs: 120000
    failOnStartupError: true
    env:
      ANONYMIZED_TELEMETRY: "false"
      WINDOWS_MCP_DISABLE_FLASH: "1"

注意两点:

  1. patch 会整体替换 config 对象,不会深度合并;漏写的键等于删除。stdio 传输需要 command;streamable-http 需要 url。
  2. serverName 决定全部工具前缀(mcp__<serverName>__<tool>),改名会使整套工具名与 prompt-cache 前缀失效。

若已用 uv tool install windows-mcp 预装解释器,可将 command 改为 windows-mcp,args 以 serve 开头。常驻 HTTP 时可改 transport 为 streamable-http 并设置 url(HTTP 形式无 env,遥测与 flash 相关设置需另谋配置)。

适用场景与注意

适合:已在 Windows 上用 DSH 做工作流自动化,希望用 MCP 统一暴露桌面快照、输入与窗口操作,且愿意用一份短 YAML 审计权限边界,而不是引入额外 Host 代码或 HTTP 攻击面。

务必注意:

  • 工具以当前 DSH 进程权限运行,能点击、输入、读屏与剪贴板;安装前应阅读仓库源码、cordis.patch.yml 与 MIT 许可证。
  • 社区插件目录(如 SkillHub)为独立站点,与 DeepSeek / 幻方无官方从属关系;安装来源以你填写的 npm / GitHub / 本地路径为准。
  • 与「大而全」的 Windows MCP 集成插件相比,本包不提供内置 doctor 或一键装依赖,换取的是一屏读完的配置面。

结尾

dsh-windows-mcp-lite 把 DSH 内置 MCP 桥和 Windows-MCP 0.8.8 用 stdio 接在一起:无插件代码、默认关掉五项与 DSH 重复的高权限工具,适合需要桌面自动化又重视配置可审计的 Windows 用户。目录页:https://www.skillhub.cn/plugins/sheilacraig/dsh-windows-mcp-lite;源码与完整说明:https://github.com/sheilacraig/dsh-windows-mcp-lite。

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

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

Xiaoye