dsh-computer-use: Enabling DSH Agents to See and Operate Real Desktops on Windows

前言

在 DeepSeek Harness(DSH)里做桌面自动化,常见做法是写脚本或接 RPA,模型侧往往只能「描述步骤」而不能直接对照当前屏幕坐标点击。若你希望智能体像 Codex computer use 那样读截图、动鼠标键盘,又要在 Windows 上可控、可急停,就需要把能力做成 DSH 插件 bundle,而不是零散脚本。

下面介绍社区维护者 Iroul1212 发布的 dsh-computer-use(仓库 DSH-Computer-Use)。它在 DSH 的 tools 通道注册五类面向模型的工具,通过长驻 PowerShell 主机驱动本机桌面,并带有 Codex 风格的可见 overlay 与全局 Esc 急停。插件归类为工作流,可在社区目录 DSH-Computer-Use 查看条目(该站点为独立社区目录,与 DeepSeek / 幻方无官方从属关系)。

这是什么

dsh-computer-use 是面向 Windows 10 / 11(x64)的 DSH 插件包(当前 package 版本 0.2.0,MIT 许可证)。它解决的核心问题是:让会话中的智能体操作对话对象所在机器的真实桌面——截图、鼠标键盘、窗口管理、UI Automation(UIA)、剪贴板——并在执行变更动作时让人眼可见、可按 Esc 立刻冻结。

非 Windows 平台上 bundle 行保持 inactive(patch 中的 disabled: 守卫),不会注册工具。

核心功能

五个模型工具

工具 作用(据 README)
computer 对齐 Codex computer-use 动作面:截图、点击、输入等
app_window 启动、聚焦、枚举窗口等
ui_element 按无障碍路径寻址控件,不依赖像素
clipboard 读写剪贴板
app_skill 按应用下发短 recipe(快捷键、菜单路径、常见坑)

实现上,Node 侧仅依赖内置模块,桌面操作由 单次拉起、长驻 的 win-host.ps1 经 stdin/stdout 传 NDJSON 完成;首次工具调用才启动 PowerShell,避免拖慢 DSH 启动。

设计与安全要点

  1. 截图走 DSH attachment 管道:结果里是 attachment 引用,不是 base64,会话日志更小;插件在 attach 前将捕获压到 ≤600000 像素并 JPEG 编码,避免与 DeepSeek 请求路径二次缩放导致「看图坐标」与「实际点击」不一致。
  2. 纯文本模型可用:截图可附带 UIA 文本摘要;ui_element 按无障碍路径操作;app_skill 在碰应用前给出操作要点。
  3. 安全可见:变更动作时 overlay 显示边框与提示;全局 Esc 冻结变更(STOPPED_BY_HUMAN);还支持 dryRun、requireApproval、blocklist 等(详见仓库文档)。

内置应用技能

仓库 skills/ 目录附带 8 个应用技能文件:chrome、excel、explorer、notepad、powerpoint、terminal、vscode、word,供 app_skill 调用。

环境要求

项 说明
系统 Windows 10 / 11(x64)
Node.js ≥ 20(package.json engines)
PowerShell pwsh 7 优先,或 Windows PowerShell 5.1
DSH ≥ 0.1.5(README 写明在 0.1.5-rc.2 / 0.1.5-rc.3 验证)
pnpm dsh plugin add 需要;可用仓库 scripts/install.ps1 生成 shim

安装与启用

DSH 不必在 PATH 上,可用 npx @deepseek-ai/dsh。Profile 位于 $DSH_HOME\profiles\<name>,常用 web 或 desktop。

1、把 bundle 加入 profile。 路径请写绝对路径;相对路径以当前工作目录为锚点。

本地目录示例:

npx @deepseek-ai/dsh plugin --profile web add "file:C:\path\to\dsh-computer-use"

从 GitHub 指定版本(README 原文):

npx @deepseek-ai/dsh plugin --profile web add "github:Iroul1212/DSH-Computer-Use#v0.2.0"

也可使用自建 tgz(先 npm run pack:check)或仓库提供的安装脚本:

pwsh -NoProfile -File scripts\install.ps1 -Profile web

2、重启 DSH。 新增依赖在启动时解析 bundle 列表,加包后需重启(改 cordis.patch.yml 在 web profile 可热更,但加包不行)。

3、确认配置已挂载。

npx @deepseek-ai/dsh --profile web --dump-config

输出中应在 # == dsh-computer-use 下看到 id: computer-use。若要验证工具已注册,开新会话让智能体截图,或运行:

node test\plugin-selftest.mjs

卸载:

npx @deepseek-ai/dsh plugin --profile web remove dsh-computer-use

然后重启 DSH;若 CLI 不支持 remove,需手动编辑 profile 的 package.json 中 dependencies 与 dsh.profile.bundles 并 pnpm install。

典型用法

README Quick start 以记事本为例:先 app_window 启动应用拿到 hwnd,再用 computer 输入文本。你可以在 DSH 会话里用自然语言触发,例如:

  • 「帮我在记事本里写一段会议纪要」
  • 「Write a short meeting note in Notepad」

模型侧典型序列(非唯一路径,工具描述会引导模型):

  1. app_window — { action: "launch", command: "notepad.exe" }:启动并报告新窗口 hwnd。
  2. computer — { action: "type", text: "..." } 等:在已聚焦窗口内输入(具体字段以工具 schema 为准)。

复杂桌面任务可组合 computer 截图与点击、ui_element 按标签找按钮、clipboard 搬运文本,并在打开 Office / 浏览器等前调用 app_skill 读取对应 skills/*.md 中的 recipe。

适用场景与注意

适合: 在 Windows 上用 DSH 做 vibe coding 式桌面协助——填表、记笔记、按 UI 操作 legacy 应用、或需要「看见屏幕再点」的工作流实验。

务必注意:

  • 插件以当前 DSH 进程权限操作本机桌面,安装前请阅读源码与 MIT 许可证,确认 overlay、Esc、requireApproval、blocklist 等策略符合你的环境。
  • 仅 Windows 可用;Linux / macOS 上不会注册工具。
  • npm 名 dsh-computer-use 已被无关包占用,本仓库 README 说明未以该名发布到 npm;安装以上述 file: / github: / tgz 方式为准。

结尾

dsh-computer-use 把 Codex 风格的 computer use、UIA 与剪贴板通道、8 个应用技能和安全 overlay 收进一个 DSH bundle,适合在 Windows 上让智能体真正「看屏动手」。进一步细节见仓库 README(含 README.zh.md)。

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

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

Xiaoye