🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

Yu-tao-Li/dsh-computer-use-win

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
✓ 可直接安装

给 DeepSeek Harness 装上 Windows 电脑操控能力——MCP stdio 服务器 +…

自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node >=22);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/10 · 已提供中文文档

Windows 计算机用于 DeepSeek Harness (dsh):MCP stdio 服务器 + PowerShell UIA 后端,22 个桌面工具

综合分
39.8
GitHub 分
39.8
用户评分
—
★ Stars
14
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-computer-use-win
npm 包 dsh-computer-use-win 已校验归属本仓库,走 npm 安装最省事
信任档位:已验证本站已于 4 天前真实安装成功(L4 · 真实安装)
是什么
dsh 原生插件 · ui
装得上吗
本站已真实安装成功(L4 · 真实安装,非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 15 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/21
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/21(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-computer-use-win @ 0.1.2
✓Node 引擎要求 >=22 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/21 20:14:44

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
English

dsh-computer-use-win

version
CI
license
platform
stars

Awesome DSH Plugin

给 DeepSeek Harness 装上 Windows 电脑操控能力——MCP stdio 服务器 + PowerShell/UIA 桌面引擎,22 个工具让 agent 能看(UIA 无障碍树、窗口裁剪截图、OCR 词框)也能做(鼠标、键盘、UIA 语义动作、窗口管理)真实的 Windows 桌面应用。

通过 DSH 内置的 @deepseek-ai/dsh-mcp-client 桥接,不改 DSH 本体,零运行时依赖。

| ① 文件资源管理器:find 定位 + 语义 invoke 选中文件(状态栏"选中 1 个项目") | ② type_text 写入真实文档(剪贴板路径,verifyValue 回读) | ③ UWP 计算器:find 定位按钮 + 语义 Invoke 点击(25×4=100) |
|---|---|---|
| 1 | 2 | 3 |

特性

- 文本优先的观察——UIA 无障碍树三视图(control/content/raw);按 name/automationId/类名/值找控件,不靠猜像素。元素 id 用 UIA RuntimeId(UI 刷新后仍稳定,过期报 stale 而非点错地方)。
- 三级截图链——PrintWindow(非前台窗口也能抓)→ WGC(Windows.Graphics.Capture,DirectComposition/被遮挡窗口)→ 屏幕区域兜底(带 occludedPossible 标记)。窗口裁剪 + 降采样 + imageScale/origin 坐标映射,PNG 30 分钟自动清理。
- 三条输入路径,诚实上报——语义(UIA pattern,不碰鼠标)/ 前台(SetCursorPos + SendInput + 剪贴板 / KEYEVENTF_UNICODE)/ 后台(PostMessage 直进窗口消息队列,不抢前台;投递未验证,如实 verified:false——Chromium/Electron/WinUI 会静默丢合成消息,工具会明说)。
- UIA 盲区 OCR 回退——Windows.Media.Ocr(csc 编译的 C# WinRT 助手);返回文字 + 逐词屏幕坐标词框,query 命中后自动回查匹配词下的控件(ControlFromPoint)。
- 内置安全机制
- 坐标 homing——观察后窗口被移动,点击自动补偿并回报 homed:{dx,dy}
- 急停 failsafe——物理鼠标停屏幕角落 500ms,所有输入被拒(EMERGENCY STOP),只有人把鼠标移开才恢复
- identity guard——按 windowTitle 操作时窗口 HWND/PID 变了就拒绝(identity_changed)
- 前台校验——输入 fail-closed:目标窗口不是真前台就直接报错,绝不打进别的窗口
- Win 键黑名单——Win+R/X/L/S 类组合按设计拦截
- 持久化后端——一个常驻 PowerShell 进程 + JSON 行协议,热态延迟 6–100ms(首次 ~500ms 冷启动);C# P/Invoke 助手按 hash 编译成缓存 DLL,重启免重编。

安装

从 npm(推荐)
dsh plugin --profile web add dsh-computer-use-win

从 GitHub(--profile 指定装进哪个 profile)
dsh plugin --profile web add github:Yu-tao-Li/dsh-computer-use-win
或在 DSH 设置的插件市场(dshmarket)搜索 dsh-computer-use-win

重启 dsh web,工具以 mcp__wincu__windows_computer_use_ 出现。

bundle 在启动时通过所在 profile 的 package.json 解析已安装包中的 server.mjs,因此适用于任意 profile / $DSH_HOME,也兼容 pnpm 布局,无硬编码路径。同一 profile 只保留一个 serverName: wincu 行。

工具清单(22 个,前缀 mcp__wincu__)

| 分组 | 工具 |
|---|---|
| 观察 | health · snapshot(树+截图)· accessibility_tree · list_windows · find · element_info · ocr |
| 动作 | click · double_click · move · drag · scroll · type_text(clipboard/sendinput/background)· keypress · focus · invoke · set_value |
| 窗口 | activate_window · move_window · close_window(WM_CLOSE,应用可弹保存框否决)· wait_for · wait |

所有工具都支持可选窗口定位(windowTitle 子串 / processId / nativeWindowHandle)+ activate: true;不指定 = 当前前台窗口。

架构

DSH agent
│  模型看到 mcp__wincu__windows_computer_use_ 工具
▼
@deepseek-ai/dsh-mcp-client   ← DSH 内置桥接(官方 MCP SDK StdioClientTransport)
│  JSON-RPC 2.0 over stdio(按行分帧)
▼
mcp/server.mjs                ← 本仓库:MCP 服务器(Node ≥22,零依赖)
│  保活一个持久化后端;JSON 行协议
▼
scripts/windows-uia.ps1       ← 本仓库:桌面引擎(PowerShell 5.1 兼容)
├─ UI Automation 程序集        → 无障碍树
├─ user32 P/Invoke(C# 缓存 DLL)→ 鼠标/键盘/窗口操作
├─ Windows.Media.Ocr(C# WinRT)→ OCR
└─ Windows.Graphics.Capture   → WGC 窗口捕获

安全与限制

- 动作是真实的——敏感操作前让 agent 先 snapshot;重要窗口用 windowTitle 明确限定。
- WinUI / Chromium / Electron 会丢弃 PostMessage 合成输入(verified:false 是诚实上报,不是成功)。这类目标走前台/剪贴板路径。
- 提权窗口(UAC/管理员程序)UIA 与合成输入都被 Windows 拦截,读不到也点不了。
- 坐标以物理像素为准(显式 Per-Monitor V2 DPI)。
- OCR 对 CJK 按字符给词框(引擎特性),点选足够用。
- 仅支持 Windows。

开发

mcp/server.mjs          MCP stdio 服务器 + 持久化后端管理
scripts/windows-uia.ps1 桌面引擎(one-shot 与 -Persistent 双模式)
test/                   self-test / MCP 协议 / Notepad E2E / 功能综合 / 延迟基准
docs/wiki/              上游架构文档(见 THIRD_PARTY.md)
docs/dev-notes.md       设计原理、踩坑记录、性能数据、测试记录

node mcp/server.mjs --self-test     # 全栈自检(仅 Windows)
node test/mcp-test.mjs              # initialize → tools/list → tools/call
node test/profile-resolution.mjs    # DSH profile node_modules 路径回归测试
node test/notepad-e2e.mjs           # 真实输入端到端(会开记事本)

npm test 运行自检、MCP 协议和 profile 路径回归测试;CI(.github/workflows/ci.yml)在每次 push/PR 时于 windows-latest 执行这些检查。

许可

MIT,见 LICENSE。本项目是 cgissing/windows-computer-use(MIT)的衍生作品,上游版权声明保留于 THIRD_PARTY.md。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群