dsh-desktop-sidecar:为 DeepSeek Harness 提供原生 Windows 桌面控制

前言

在 DeepSeek Harness(DSH)里做智能体时,常见需求是让模型不只生成文本,还能操作本机上的真实应用:查窗口、读界面文字、点按钮、输入中文、按快捷键。很多软件没有公开 API,只能靠桌面自动化;若再依赖 Python 运行时、额外驱动或弹窗式辅助工具,部署和权限都会变复杂。

下面介绍社区插件 dsh-desktop-sidecar(维护者 111xjyuan),它在 Windows 上为 DSH 提供一套原生桌面控制能力:基于 UIA 控件树、离线 OCR、带校验的点击与 Unicode 输入,README 写明无需外部运行时。插件在 SkillHub 目录中归类为「客户端」;当前 GitHub 星标为 0(以目录页信息为准)。

这是什么

dsh-desktop-sidecar 是给 DeepSeek Harness 装的「手」:在 Windows 10/11 上枚举窗口、读控件树、截图、OCR 找字、点击、打字、发组合键,并包含网课自动播放与环境自检等工具。设计目标是不依赖 Python、不下载驱动、不弹窗口;OCR 使用 Windows 本地引擎,README 说明完全离线,不上传屏幕内容。

许可为 MIT;package.json 中版本为 0.4.5,仅支持 win32(macOS / Linux 未实现)。peer 依赖为 @deepseek-ai/dsh-tools >= 0.1.5-rc.1,原生 FFI 依赖 koffi。

核心功能

插件向 DSH 暴露一组以 desktop_ 为前缀的工具,README 中的能力如下:

工具 作用
desktop_windows 列出当前有哪些窗口
desktop_tree 获取指定窗口的 UIA 控件树(名字、角色、能力)
desktop_invoke 直接触发控件(不移动鼠标、不要求窗口在前台)
desktop_read 读取窗口文字(离线 OCR,带坐标)
desktop_capture 截图(可直接供模型查看)
desktop_click 按文字或坐标点击(点击后做像素校验)
desktop_type 输入中文(剪贴板 + 真 Ctrl+V)
desktop_key 按键 / 组合键
desktop_course 网课自动播放(帧差判断播放状态 + 自动下一节)
desktop_doctor 环境自检,异常时给出修复建议

适用对象包括记事本、Office、浏览器、网课播放器,以及微信等无自动化接口的常见软件。

两条识别路线

README 强调按应用类型选路径,经验法则:能用 desktop_invoke 就别用 desktop_click;能按文字点就别按坐标点。

应用类型 识别方式 说明
记事本、Office、资源管理器、设置、WinUI 应用 UIA 控件树 desktop_tree 拿到按钮/菜单名字与 Invoke 能力,desktop_invoke 直接触发
微信、VS Code、Discord、Electron/Qt 自绘界面 OCR + 坐标点击 不实现 UIA 时 desktop_tree 可能为空并附 OCR 摘要;用 desktop_read 找字、desktop_click 的 text 参数按字点击

安装与启用

安装任选一种,命令来自官方 README:

# A. npm(已发布,推荐)
plugin_manager install_bundle dsh-desktop-sidecar

# B. 插件市场:搜 desktop-sidecar

# C. 本地源码(开发用)
plugin_manager install_bundle file:<本目录绝对路径>

安装后先自检。调用 desktop_doctor,期望返回 ok: true,并检查四项:platform / ocr / foreground / editable-child。有异常时 README 会直接给出修复建议(例如 OCR 语言包缺失)。

插件一切操作在本机桌面会话内执行,权限与当前 DSH 进程一致;非提权进程无法向提权窗口发送输入(UIPI),README 建议用管理员身份启动 DSH。安装前宜自行查看 GitHub 源码 与 MIT 许可证。

典型用法

README 给出的 3 分钟上手示例:让模型「打开记事本,写一句“你好,世界”」。模型通常会依次调用 desktop_windows → desktop_type → desktop_read 做验证。

开发时可在源码目录执行:

powershell -NoProfile -File scripts/sync.ps1

用于把包同步进 DSH profile 的 node_modules;改完 lib/ 后在 DSH 插件面板「禁用 → 启用」即可热重载,无需重启 DSH。

适用场景与注意

适合谁: 在 Windows 上用 DSH 做 RPA、办公自动化、网课辅助、或需要操作无 API 的桌面应用时,需要一套与 Harness 集成的原生工具链。

平台: Windows 10 1809+ / Windows 11,x64 与 arm64。

常见问题(摘自 README):

  • OCR 返回 0 行:多为系统缺「中文(简体)」OCR 语言包;desktop_doctor 会指出,需在系统语言可选功能中安装光学字符识别。
  • 点了没反应:看返回里的 changed 和 hint;纯文本区 changed:false 且 inClient:true 可能是光标移动;按钮/菜单宜改 desktop_invoke 或 desktop_key。
  • 中文乱码:desktop_type 走剪贴板粘贴;若目标禁用粘贴,改用 desktop_key 逐键发送。
  • 截图临时文件在 %TEMP%\dsh-sidecar,超过 1 小时自动清理。

前台锁、UIPI、锁屏/安全桌面等系统限制不会被绕过,README 将其视为设计选择。

结尾

dsh-desktop-sidecar 把 Windows UIA、离线 OCR 与点击校验收进 DSH 插件,让智能体在常见桌面软件里「看、读、点、打」而不必再搭一套 Python 或外部驱动。DSH 生态强调「一切皆插件」;社区目录 SkillHub 插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系。源码与详细说明见 GitHub:111xjyuan/dsh-desktop-sidecar。

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

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

Xiaoye