dsh-computer-use-en:让 DeepSeek Harness 直接观察并操作 Windows 桌面

前言

在 DeepSeek Harness(DSH)里做智能体,常见做法是接 API、跑脚本或调 MCP。若任务必须「看屏幕、点按钮、填表单、读对话框」,纯文本工具链往往不够,还要自己拼截图服务、输入模拟和窗口管理。社区插件 dsh-computer-use-en(维护者 ALAMBICCO,分类:工作流)把上述能力收进 DSH 插件:Harness 可截屏、鼠标键盘、UI Automation(UIA)、剪贴板与窗口管理,并在接管时显示橙色控制层与 Esc 暂停/恢复。本文介绍其定位、能力与安装方式;事实以 GitHub 仓库 README 为准。

这是什么

dsh-computer-use-en 是 npm 包 @copylee/dsh-computer-use 的英文移植版,并针对 DSH 0.2.1 做了 unpacked koffi.node 的自动发现。一句话:在 Windows 10(2004 及以上)/ Windows 11 上,让 DeepSeek Harness 直接观察并操作本机桌面——看屏、点击、输入、启动或聚焦应用、管理窗口、读写 UIA 树与剪贴板。

接管期间,屏幕会出现 橙色光晕 与状态条(“DeepSeek Harness is controlling your computer”);Harness 会最小化为右下角可拖动的 迷你进度卡片,展示流式回复与近期步骤。随时按 Esc 暂停或恢复,或点 Stop 结束本轮。插件要求 DSH >=0.2.0-rc.2,Node ^22.19.0 || >=24.0.0,许可证 MIT;当前发布包版本 0.8.1(以 Release 安装命令为准)。

核心功能

下面按 README 功能表归纳,只列资料中已写明的能力。

坐标、截图与批量操作

  • 截图坐标空间:模型在最新截图的像素坐标上工作;DPI 缩放与多显示器偏移自动换算(README 称 150%–200% 缩放下仍较准确)。
  • 动作后自动截屏:点击、输入、按键、滚动与 wait 会等待画面稳定(最长约 2.5s),单次往返返回新截图。
  • 批量动作 computer_batch:多步序列(例如聚焦字段 → 输入 → Enter → 等对话框 → 保存)可在一次工具调用中执行。
  • 按名称定位 target:可传 target(如 "Save" 或 "button:OK")代替坐标;对批量中途出现的菜单项、对话框按钮有效(最长等待约 3s)。
  • 条件等待 until:wait 配合 until(如 "window:Save As"、"target:Save"),窗口或控件出现即继续;gone: true 可等其消失。

UI Automation、应用与权限

  • 窗口文本 ui_elements:对 ui_elements 传 text: true,或对 computer_batch 设 finish: "text",经 UIA 读取文档、网页、聊天或日志,无需靠滚动截图拼全文。
  • 分应用访问控制:通过 request_access 按会话申请权限(使用 danger-full-access 预设时可自动批准),或在 Settings 中切换 Allow all apps。不会控制 DeepSeek Harness 本身或密码管理器。
  • 应用 Skills(app_skill):按应用 Markdown 笔记位于 ~/.dsh/computer-use-skills/,open_application 打开应用时自动附带;内置 10 份英文 skill(Chrome、Word、Excel、PowerPoint、文件资源管理器、记事本、Obsidian、Typora、微信、QQ)。

交互与安全相关 UI

  • 迷你进度卡片与 overlay:右下角卡片流式展示 AI 回复与步骤时间线;截图时排除(WDA_EXCLUDEFROMCAPTURE),点击可穿透。
  • 即时人工接管(Esc):物理 Esc 暂停/恢复;物理键盘输入会暂停 AI 直至停止输入;切换窗口后 AI 会重新检查屏幕再行动。
  • 剪贴板与长文输入:长文本分段流式输入,减轻编辑器自动格式化问题;不进入 Windows 剪贴板历史(Win+V),回合结束后恢复剪贴板。

实现要点

  • 零本地编译步骤(原生侧):使用 DSH 内置签名的 koffi.node 做进程内截图与输入;首次运行通过 Windows 自带 .NET Framework csc.exe 编译 helper/CuHelper.cs。

Agent 工具一览

Harness 通过下列工具与桌面交互(名称与职责来自 README):

工具 说明
computer 单次动作:screenshot、left_click、double_click、triple_click、right_click、middle_click、mouse_move、left_click_drag、left_mouse_down、left_mouse_up、scroll、type、key、hold_key、wait、zoom、cursor_position
computer_batch 有序动作数组,一次往返;遇错即停,返回一张稳定截图或窗口文本
open_application 按开始菜单名、桌面快捷方式、.exe 路径或 URL 打开;可将运行中窗口置前,或从通知区图标恢复托盘应用
windows 对顶层窗口:list、focus、minimize、maximize、restore、close、tidy
ui_elements 读取可点/可编辑 UIA 控件(含截图空间坐标),或 text: true 读窗口文本
clipboard 读写 Windows 剪贴板纯文本(回合后恢复)
switch_display 列出显示器或切换截图与坐标所针对的屏幕
app_skill 对应用操作笔记:list、read、append、write
request_access / list_granted_applications 申请与查看本会话的应用控制授权

安装与启用

官方安装方式来自 GitHub Release 的 .tgz 包(版本 0.8.1),不要凭仓库名自行拼接 dsh plugin add github:...。

dsh plugin --profile web add "https://github.com/ALAMBICCO/dsh-computer-use-en/releases/download/v0.8.1/dsh-computer-use-en-0.8.1.tgz"

安装前请确认:本机为 Windows 10(2004+)/ Windows 11;DSH 与 Node 版本满足 package.json 中的 dsh.engines 与 engines.node;插件以 当前 DSH 进程权限 运行,安装前应阅读源码与 MIT 许可证,并理解「Allow all apps」与 danger-full-access 的风险。

典型用法思路

README 未给出完整对话示例,但工具组合方式可从能力描述复现思路:

  1. 先看再点:computer 的 screenshot,或 ui_elements 列出控件坐标 / 名称。
  2. 按名操作:在 computer 或 computer_batch 中使用 target,减少纯坐标漂移。
  3. 等多步 UI:computer_batch 串联输入与 wait + until,等待「另存为」等窗口或按钮出现。
  4. 读长文:对目标窗口使用 ui_elements 且 text: true,或 computer_batch 末尾 finish: "text"。
  5. 开应用带笔记:open_application 打开 Chrome、Word 等时,会自动带上 ~/.dsh/computer-use-skills/ 中对应 skill(可用 app_skill 维护)。

操作过程中若需人工介入,按 Esc 暂停;结束本轮用界面 Stop。

适用场景与注意

适合:需要在 Windows 上把「看界面、点控件、填表、读对话框/文档文本、管窗口」纳入 DSH 工作流的开发者;希望 Harness 与桌面在同一坐标系、动作后自动刷新截图的场景。

不适合或非目标平台:非 Windows 系统(package.json 中 os 仅为 win32);无法在资料核实的环境外假设 Linux/macOS 支持。

务必注意:

  • 插件能力等价于高权限桌面自动化:分应用授权、Settings 与 preset 需按团队安全策略配置。
  • 不会控制 Harness 自身与密码管理器,但不替代你对其他敏感应用的白名单审查。
  • 社区目录 SkillHub 插件页 与 GitHub 为独立信息源;DSH 生态强调「一切皆插件」,该目录站点与 DeepSeek / 幻方无官方从属关系,勿当作官方应用商店。

结尾

dsh-computer-use-en 把 Windows 桌面观察与操作、UIA、剪贴板、窗口与应用打开、批量动作与 Esc 人工接管,封装为 DSH 工作流插件,便于在 Harness 里完成「计算机使用」类任务。进一步了解可访问:

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

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

Xiaoye