在开发基于 DeepSeek Harness 的智能体时,让 agent 在 Windows 桌面环境中执行操作是一个常见需求。现有的解决方案通常需要安装复杂的原生驱动或 SDK。datuloar/dsh-computer-use-win 插件通过 CLI 工具 dsh-cu,为 Harness 提供了截图、点击、输入和滚动的能力,并包含一个供人类观察和干预的屏幕覆盖层。
插件定位¶
这是一个为 DeepSeek Harness 设计的 Windows computer use 插件。它不依赖外部驱动或 SDK,直接利用 Windows 自带的 .NET Framework 和 UI Automation 进行操作。CLI 工具 dsh-cu 独立运行,也可以配合 Harness 的技能系统使用。
核心功能¶
- 屏幕读取:支持将屏幕内容转换为文本(OCR)或读取 UI 控件树,支持通过名称点击控件。
- 输入与操作:支持截图、鼠标移动、点击、拖拽、滚动、键盘输入及组合键操作。
- 人类监督:内置屏幕指示器,人类可以实时看到 agent 的操作状态,并按下 ESC 键停止 agent。
- 通用 CLI:命令行工具可与任何 Harness 技能或独立脚本配合使用。
安装与启用¶
使用官方安装命令添加插件:
dsh plugin --profile web add github:datuloar/dsh-computer-use-win
安装后,系统将注册名为 dsh-computer-use 的技能,并提供 dsh-cu 命令行工具。
典型用法¶
插件提供了一系列命令用于桌面操作:
- 启动覆盖层(供人类观察):
dsh-cu overlay
- 截图:
dsh-cu shot
- 点击指定坐标:
dsh-cu click 640 380
- 输入文本:
dsh-cu type "hello"
- 输入组合键:
dsh-cu keys ctrl+l
- 拖拽:
dsh-cu drag 420 300 980 300
- 通过控件名称点击:
dsh-cu tap "Save"
- 读取屏幕内容:
dsh-cu read
- 获取控件树:
dsh-cu tree
依赖与环境要求¶
运行此插件需要满足以下条件:
- 操作系统:Windows 桌面环境。
- 运行环境:
- Node.js 18+。
- Windows PowerShell 5.1。
- 注意事项:PowerShell 7 (
pwsh) 不受此插件支持,因为后端依赖于 Windows 自带的 .NET Framework 和 WinRT,而非 .NET Core 运行时。
局限性与注意事项¶
- 无浏览器 DOM:插件基于 UI Automation,获取的信息是应用暴露的控件,而非浏览器 DOM 树。
- 无多显示器支持:目前不支持多显示器环境。
- 无应用程序白名单:没有限制只能在特定应用中操作。
- 安全机制:
- 在覆盖层开启期间,输入操作会被拒绝,直到覆盖层启动。
- agent 无法通过注入 ESC 键来关闭覆盖层,必须由人类手动停止。
- 沙箱运行:该插件可以在 Harness 的沙箱环境中运行,但依赖文件描述符捕获而非管道 stdio(针对 Harness 的文件沙箱限制做了适配)。
总结¶
datuloar/dsh-computer-use-win 插件提供了一个轻量级、无需额外驱动的 Windows 桌面自动化方案。通过 CLI dsh-cu,开发者可以方便地让智能体与本地应用交互,同时通过覆盖层机制确保了操作的可观测性和安全性。