前言¶
在 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 启动。
设计与安全要点¶
- 截图走 DSH attachment 管道:结果里是 attachment 引用,不是 base64,会话日志更小;插件在 attach 前将捕获压到 ≤600000 像素并 JPEG 编码,避免与 DeepSeek 请求路径二次缩放导致「看图坐标」与「实际点击」不一致。
- 纯文本模型可用:截图可附带 UIA 文本摘要;
ui_element按无障碍路径操作;app_skill在碰应用前给出操作要点。 - 安全可见:变更动作时 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」
模型侧典型序列(非唯一路径,工具描述会引导模型):
app_window—{ action: "launch", command: "notepad.exe" }:启动并报告新窗口hwnd。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)。