前言¶
在 DeepSeek Harness(DSH)里做自动化时,很多任务卡在「没有 API、只能点图形界面」:填表、点按钮、读窗口状态。官方文档里已有实验性的 Computer Use 方案(例如 Cua Driver MCP 与原生提供方),Windows 也可走上游 Cua Driver。若你希望在本机 Windows 上走一套独立的社区实现——UI Automation、窗口截图、鼠标键盘、会话授权与审批审计——可以看一下维护者 STARDUSTLC666 发布的 deepseek-computer-use。本文按仓库 README 与 package 信息整理安装、能力与注意点;该插件归类为 DSH 社区目录中的「客户端」插件,非 DeepSeek 官方出品(官方包在 @deepseek-ai/* scope 下)。
这是什么¶
deepseek-computer-use 通过 DSH 的 apply(ctx) / inject / bundle patch 接入宿主,向模型注册 16 个 Computer Use 工具:发现窗口、截图观测、鼠标键盘、控件操作,以及可选的系统音频录制。底层使用 UI Automation + SendInput + Windows.Graphics.Capture;工具语义参考 Codex window2,并针对 DSH 的会话、审批和截图附件机制做了适配。
典型流程是:先 list_windows / get_window_state 观测(无障碍树 + 可选截图),再 click、type_text、set_value 等操作;失败或界面变化后需重新观测,避免用过期元素编号误点。
- 目录页:skillhub.cn/plugins/STARDUSTLC666/deepseek-computer-use
- 源码与文档:github.com/STARDUSTLC666/deepseek-computer-use
- 当前 npm 版本(资料中):0.1.2,许可证 MIT
核心功能¶
工具一览¶
README 中列出的工具及作用如下(节选说明用法方向):
| 工具 | 作用 |
|---|---|
list_apps |
列出当前有可操作窗口的应用及其窗口 |
list_windows |
列出可见窗口:id、标题、应用、z 序、边框 |
get_window |
按 id 重新读取窗口 |
launch_app |
启动应用(可带参数),默认需要审批 |
get_window_state |
观测:带编号的无障碍树 +(可选)窗口截图 |
click |
按元素编号或窗口相对坐标点击 |
press_key |
单键或组合键(X keysym 风格) |
type_text |
注入 Unicode 文本 |
scroll / drag |
滚动与拖拽 |
set_value |
用 Value 模式直接改控件值 |
perform_secondary_action |
Invoke、Expand、Toggle 等辅助动作 |
activate_window |
将窗口提到前台 |
start_audio_recording / stop_audio_recording |
系统音频环回录制(需配置开启) |
computer_use_health |
自检 helper、编译器、策略、窗口数 |
截图通过 DSH attachments 保存并输出模型可见的 image block;敏感操作走 approval.request 并写入会话审计。同一桌面上的工具调用串行执行;每个会话独立保存授权、helper、截图与元素快照。
运行时与原生组件¶
- 平台:Windows 10/11(
package.json中os: ["win32"]) - Node:≥ 18.17
- 零 npm 原生依赖、零 .NET 运行时依赖:helper 与覆盖层用系统自带的
csc.exe现编;抓屏(WGC)和录音(WASAPI)为 net48 程序,依赖系统自带的 .NET Framework 4.8。 - 首次调用任意 Computer Use 工具时会自动编译 helper 与覆盖层(约 1 秒)。需要抓屏/录音等可选能力时,可在包目录执行
npm run build;无 .NET SDK 时抓屏可退回 PrintWindow,录音会报audio_missing。
使用中指示与安全¶
操作时会有与 Codex 类似的两层覆盖层:屏幕边缘呼吸提示与虚拟光标;用户可按 Esc 取消当前回合内的操作。安全模型包括应用白名单/黑名单(allowApps / denyApps)、审批三档(never / sensitive / always)、前台窗口校验、元素快照 TTL(默认 120 秒)及 dryRun 演练模式。没有 DSH 审批服务时,需要审批的请求会被直接拒绝,不会静默降级。
插件以当前 dsh 进程权限运行,能访问本机用户可见的桌面与文件能力边界内的资源;安装前建议阅读源码与 MIT 许可证,并按团队规范配置 allowApps、denyApps 与 approval。
安装与启用¶
环境要求:Windows 10/11、Node ≥ 18.17,以及系统自带的 UI Automation、.NET Framework 4.8 等组件。
通过 npm 安装包¶
npm install deepseek-computer-use
包地址:npmjs.com/package/deepseek-computer-use
在本机 profile 的 cordis.patch.yml 中启用(与 README 示例一致):
- insert:
- id: deepseek-computer-use
name: 'deepseek-computer-use'
package.json 中通过 dsh.bundle.patch 指向 ./cordis.patch.yml,由 patch 向宿主配置插入插件行。
通过 DSH 插件命令(示例 profile:web)¶
README 给出的 Git Bash 示例:
dsh plugin --profile web add deepseek-computer-use
dsh web --no-open
装好后重启宿主,让模型调用 computer_use_health 做自检。开发时可将依赖改为本地路径,例如 file:E:/deepseek/dsh-computer-use,以加载源码。
可选构建(helper、overlay,并尝试 dotnet 编 capture/audio):
npm run build
配置示例¶
在 patch 或插件配置中可设置(字段含义以 README 为准):
- id: deepseek-computer-use
config:
approval: sensitive # never | sensitive | always
allowApps: ["notepad", "chrome"] # 空 = 不限制
denyApps: []
defaultIncludeScreenshot: true
maxElements: 260
snapshotTtlMs: 120000
dryRun: false
toolPrefix: ''
timeoutMs: 10000
approval: sensitive 为默认:元素标签命中危险词或 launch_app 时会询问;宿主侧 approval 策略与插件项 approval: never 含义不同,应用级授权由 appConsent 等机制单独控制,详见 README「安全模型」一节。
典型用法与自检¶
- 在已启用插件的 DSH profile 中启动 Web 或 CLI 会话。
- 让模型先调用
computer_use_health,确认 helper 与策略正常。 - 用
list_windows或list_apps定位目标,再get_window_state获取带编号的树与截图。 - 根据观测结果执行
click、type_text、set_value等;若返回fresh_observation_required,须重新get_window_state后再操作。
仓库提供的测试命令(不依赖模型):
npm test # 参数/策略回归 + WinForms 集成验证
npm run test:contracts # 仅参数与策略,不操作桌面
npm run test:harness -- --dsh-root /path/to/node_modules/@deepseek-ai/dsh
test:harness 会启动隔离的真实 DSH CLI/profile,验证附件、审批与原生操作,且不调用模型、不录音。
适用场景与注意¶
适合:需要在 DSH 对话中自动化没有稳定 API 的 Windows 桌面软件;希望工具契约接近 window2 语义、并自带 DSH 会话授权、审批与中断恢复(超时/取消会停止 helper,回合结束会清理原生进程)。
不适合或需知:仅支持 Windows;与官方 Computer Use / Cua Driver 功能有重合,README 明确说明未与官方驱动做过效果或性能对比。社区目录(如 SkillHub)与 DeepSeek / 幻方无官方从属关系,插件为社区维护。
遇到问题或改进建议,可在 GitHub 提交 issues 与 PR。
结尾¶
deepseek-computer-use 把 Windows 桌面观测与操作收进 DSH 工具面:16 个工具、附件式截图、审批与审计、串行原生 RPC。按上文安装到 profile、配置安全项并用 computer_use_health 验证后,即可在 Harness 里处理依赖 GUI 的任务。