前言¶
DeepSeek Harness (DSH) 采用插件化架构,允许开发者扩展核心功能。dsh-computer-use 是一个独立的 Cordis bundle,由 leolee9086 维护。它为 DSH 提供了视觉、原生无障碍和 Windows 讲述人操作路径。0.5.0 版本注册了 18 个 computer_* 工具。无障碍观测、阅读和语义动作可以独立使用,文本模型也能操作原生应用。
核心功能¶
该插件主要覆盖以下能力:
* 18 个 computer_* 工具:覆盖视觉、指针、键盘、无障碍、窗口和讲述人操作。
* 独立无障碍循环:不依赖图像能力,仅通过无障碍接口进行元素查找、读取与控制。
* Windows 原生运行时验证:作为主要后端,支持 UIA 和 MSAA。
* 跨平台契约测试:macOS AX 和 Linux AT-SPI 已实现并做契约测试。
* 后台捕获:支持 PrintWindow 捕获目标窗口,无需激活窗口。
* 能力覆盖:包括 Pointer、Keyboard、Accessibility、Window、Narrator。
安装与启用¶
在 Harness CLI 可用的环境中,将仓库或打包产物添加为 profile bundle。安装命令如下:
pnpm dsh plugin --profile web add <path-to-dsh-computer-use>
bundle patch 会同时激活 host computer 服务、工具和工作流提示词,无需编辑 agent 预设。安装后需重启 Harness 入口加载新 host 代码。
典型用法¶
独立无障碍循环¶
这条路径不需要图像能力。操作顺序如下:
- 调用
computer_windows,参数为operation:"list",获取短期window_id;也可直接观察当前焦点应用。 - 调用
computer_accessibility。Windows 可以指定window_id,backend:"native"默认 UIA,backend:"msaa"为传统实现。 - 使用
computer_find缩小元素范围,或直接使用快照中的element_id。 - 使用
computer_read读取有界内容。 - 使用
computer_element使用控件暴露的 pattern 操作。 - 每次控制尝试后重新观测,再进行下一次动作。
视觉与输入¶
- 视觉:使用
computer_screenshot、computer_find_image、computer_click_image。Windows 支持多显示器、区域/缩放、前台窗口捕获、显式后台 PrintWindow、模板匹配与唯一匹配点击。图像以 DSH 附件返回。 - 指针与键盘:使用
computer_move、computer_click、computer_drag、computer_scroll、computer_key、computer_type、computer_input。Windows 支持三击、modifier、按住、带路径拖动,以及扩展键和输入序列。
Windows 讲述人¶
调用 computer_narrator(operation:"status") 只检查当前会话中的 Narrator 进程,不启动讲述人。支持 item/view 移动、当前项/窗口/标题/文档/选择/行/词阅读、scan 切换等命令。响应明确标为 unknown / Standard assumption。
平台能力¶
| 能力 | Windows | macOS | Linux |
|---|---|---|---|
| 桌面截图/基本输入/窗口列出与聚焦 | 已实测 | 已实现、契约测试 | 已实现、契约测试;输入/窗口需 X11 xdotool |
| 独立无障碍观测/读取/基本动作 | UIA、MSAA 已实测 | AXValue / AXSelectedText;需 Automation + Accessibility | AT-SPI 文本/范围/选择/caret/数值;需 Python + pyatspi + AT-SPI 总线 |
| 区域/窗口截图、图像匹配 | 已实测 | 明确不支持 | 明确不支持 |
| 原子输入序列/路径拖动/扩展 hold/repeat | 已实现及核心真机检查 | 明确拒绝 | 明确拒绝 |
| PrintWindow/子 HWND/窗口管理/讲述人 | Windows 专属 | 明确拒绝 | 明确拒绝 |
依赖与注意事项¶
- 环境要求:Node >= 22.19,pnpm;Rust >= 1.88。
- 跨平台快照:macOS/Linux 的快照目前从焦点应用获取,不支持 Windows 形式的目标窗口语义根。
- 依赖项:Windows 无障碍/讲述人依赖可选
edge-js,C# 在 Node 进程内编译并调用;视觉/窗口输入走仓库自带的 Rust exe。 - 审批模式:默认
observeApproval/controlApproval为ask。权威 DSH 权限预设为 Full access 时继承免提示。 - 清理机制:强制结束进程无法保证析构清理执行。
- 不确定事实:目前没有任务成功率基准,也没有 SOTA 等效结论。
总结¶
dsh-computer-use 提供了一套完整的计算机操作工具集,重点验证了 Windows 平台的原生能力,并在 macOS 和 Linux 上完成了契约测试。它适合需要文本模型直接操作桌面应用、且对无障碍接口有强依赖的开发场景。