🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

桌面操控 988hj7tczd-oss/dsh-computer-use

DeepSeek Harnessv0.3.1
988hj7tczd-oss29 天前有提交已提供中文文档扫描:含敏感能力

让 DeepSeek Harness 像人一样操作桌面。…

49.9/100
综合分
41
GitHub 星标
2,274
npm 周下载
—/5
用户评分

数据截至 2026/10/6 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-computer-use
npm 源 · dsh-computer-use 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · vision
装得上吗
实装验证未通过(runtime_boot_failed),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 29 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(runtime_boot_failed · 2026/10/29) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-computer-use @ 0.3.1
✓Node 引擎要求 >=22.18.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 09:05:10

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
  • 发起网络请求
    lib/guard.js:98
    return await ctx.approval.request({ agent: exec.agent, toolName, reason })
  • 执行外部命令来自配置/变量
    lib/cua.js:85
    const child = spawn(CUA_BIN, ['call', tool, JSON.stringify(args)], {
  • 读取密钥环境变量
    lib/vision.js:37
    const env = process.env.ZHIPU_API_KEY || process.env.GLM_API_KEY
  • 读取密钥环境变量
    lib/vision.js:40
    process.env.ZHIPU_KEY_FILE,
  • 读取本地文件
    lib/vision.js:46
    const v = readFileSync(f, 'utf8').trim()
  • 发起网络请求
    lib/vision.js:202
    res = await fetch(VISION_BASE, {
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

1 张 · 点击查看大图

功能亮点

  • 桌面自动化可观测
  • 独立虚拟光标
  • 截图视觉观察

DeepSeek Harness 跨平台 Computer Use 插件:桌面自动化全程可观测,独立虚拟光标、AX/UIA 观察、截图视觉,外加 12 个带防护的工具。

v0.3.22026-10-05
· v0.3.2 更新说明 · 修复 · 将 @deepseek-ai/dsh-tools 与 @deepseek-ai/schemastery 改为宿主提供的 peer dependencies,避免插件在运行时加载与 DSH 宿主重复的依赖实例;同时声明支持的版本范围。 · 修复窗口观察请求遗漏 CUA session 参数的问题。 · 当驱动明确报告会话已结束时,自动恢复会话并重试一次;其他错误不会触发重试。 · 键盘/文本操作优先后台投递;驱动报告后台不可用或建议前台模式时,只有获得本次用户批准才尝试前台操作。取消或拒绝时不会前台重试。 · 验证 · 单元测试:36/36 通过。 · 语法检查、差异空白检查及 npm pack --dry-run 通过;打包预览未捆入宿主依赖。 · 尚未在真实 DSH 宿主和 Windows 环境完成集成验收,实际环境兼容性仍需用户侧验证。 · 兼容性提示 安装/加载插件前,请确认 DSH 宿主提供 @deepseek-ai/dsh-tools >=0.1.2-rc.1 =3.18.2 <4。 --- · Changes · Resolve DSH-owned packages from host peer dependencies, avoiding duplicate runtime instances. · Pass the CUA session through every window-observation path and recover once from ended-session errors. · Use background keyboard/text delivery first; foreground retry requires one-time user approval and is prevented after cancellation or denial. · Verification · Unit tests: 36/36 passed. · Syntax checks, git diff --check, and npm pack --dry-run passed; no bundled dependencies. · Not yet integration-tested against a live DSH host or Windows environment.
v0.3.12026-09-10
· 发布 版本从 0.3.0 升到 0.3.1。本次发布包含 v0.3.0 中已审核的快照安全、拒绝处理、权限披露和跨平台文档更新。 · 验证 · DSH 0.1.2-rc.1 依赖族:已验证 · 自动化测试:23/23 通过 · 主 CI:成功 · macOS 15.6 当前版本计算器 GUI 循环:已验证 · Windows 真实 GUI 验证:受阻——没有可用的 Windows 10/11 测试环境 · Linux 真实 GUI 验证:未验证 见 VERIFICATION.md 和 WINDOWS_TEST.md。
v0.3.02026-09-10
· 亮点 · 兼容 DSH 0.1.2-rc.1 依赖族。 · 执行桌面操作前,需要先获取一份新的 screen_observe 快照。 · 引擎的结构化拒绝会以 ok: false 上报。 · 支持发现 Windows 官方 cua-driver 安装程序路径。 · WinUI/XAML 组合键改用 hotkey;单独按键仍用 press_key。 · 可选的 GLM 视觉兜底会明确说明网络与凭据权限。 · 打包快照 TTL 对齐到 30 秒。 · 验证 · macOS 15.6 当前版本计算器 GUI 循环:已验证。 · DSH 0.1.2-rc.1 隔离运行时:已验证。 · 自动化测试:23/23 通过。 · 运行时验证:15/15 通过。 · npm run check:通过。 · npm audit --omit=dev:0 个漏洞。 · Windows 真实 GUI 验证:受阻——没有可用的 Windows 10/11 测试环境。 · Linux 真实 GUI 验证:未验证。 详见 VERIFICATION.md 和 WINDOWS_TEST.md。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-computer-use 让 DeepSeek Harness 像人一样操作桌面。 观察屏幕、定位界面元素、移动独立虚拟光标、点击、输入、滚动和拖拽。 Give DeepSeek Harness a safe, observable Computer Use layer. Observe desktop applications, locate UI elements, and act through an isolated virtual cursor. dsh-computer-use verified desktop demo 真实演示 · Real demo: a local, non-sensitive page was observed, filled, clicked, and verified through the Computer Use action loop. 中文文档 · English documentation - 中文文档 - English Documentation 生态入口 · Ecosystem | 入口 | 作用 | Link |
展开完整文档(README 剩余 1 节)
dsh-computer-use

让 DeepSeek Harness 像人一样操作桌面。 观察屏幕、定位界面元素、移动独立虚拟光标、点击、输入、滚动和拖拽。

Give DeepSeek Harness a safe, observable Computer Use layer. Observe desktop applications, locate UI elements, and act through an isolated virtual cursor.

dsh-computer-use verified desktop demo

真实演示 · Real demo: a local, non-sensitive page was observed, filled, clicked, and verified through the Computer Use action loop.

中文文档 · English documentation

- 中文文档
- English Documentation

生态入口 · Ecosystem

| 入口 | 作用 | Link |
| harness-desktop | 开箱即用的 DeepSeek Harness 桌面客户端 · Ready-to-use desktop client | 下载 / Download |
| AI House | 发现 AI 工具、模型和 Agent · Discover AI tools and agents | 工具中心 / Tools |
| npm | 安装和查看包信息 · Install and inspect the package | dsh-computer-use |
| awesome-dsh-plugin | 发现更多 DeepSeek Harness 插件 · Discover more plugins | Plugin list |
| Gitee 镜像 | 国内访问入口 · China mirror | Gitee |

中文文档

这是什么?

dsh-computer-use 是 DeepSeek Harness 的跨平台 Computer Use 插件,为 AI 智能体增加一套可观察、可约束、可验证的桌面操作能力。

它不是传统的鼠标宏:智能体必须先观察目标窗口,再基于新鲜快照执行动作。点击、双击和右键操作通过 cua-driver 的独立虚拟光标完成,用户可以看到操作过程,而不是让程序悄悄发送一串不可见事件。

适合用于:

- 让 DeepSeek Harness 操作原生 macOS、Windows 和 Linux 桌面应用;
- 操作 Electron、Canvas 或游戏等 Accessibility/AX 信息不完整的界面;
- 构建「打开应用 → 观察 → 点击 → 输入 → 再观察验证」的智能体闭环;
- 为桌面自动化、内部工具和个人工作流增加可审计的 Computer Use 执行层;
- 研究 Computer Use、视觉定位和安全护栏。

本项目是开源社区插件,不是 DeepSeek 官方产品,也不代表 DeepSeek 的官方立场。

为什么需要它?

普通文本智能体可以生成答案,但无法直接完成很多桌面任务。dsh-computer-use 把桌面交互拆成三个阶段:

观察 Observation → 决策 Decision → 受约束执行 Guarded Action

flowchart LR
A[DeepSeek Harness Agent] --> B[dsh-computer-use]
B --> C[安全护栏 Guard]
C --> D[AX / UIA 界面树]
C --> E[虚拟光标与键盘]
D --> F[cua-driver]
E --> F
F --> G[桌面应用 Desktop Apps]

核心原则:
1. 先观察,再操作:没有新鲜观察快照时,动作会被拒绝;
2. 模型所见即所点:元素编号和坐标来自同一窗口截图空间;
3. 语义优先:优先使用 element 编号,坐标模式保留视觉操作自由度;
4. 失败关闭:目标不明确、快照过期、应用不在白名单时不继续执行。

能力一览

| 能力 | 说明 |
| 屏幕观察 | 读取目标窗口元数据、Accessibility/AX/UIA 元素和坐标 |
| 三种观察模式 | ax 零视觉 Token、native 主模型直读图片、vision 视觉观察者 |
| 独立虚拟光标 | 点击、双击、右键会显示虚拟光标移动和操作过程,不抢用户真实鼠标 |
| 文本与快捷键 | 输入文本、发送 return、cmd+c、ctrl+shift+p 等按键 |
| 滚动与拖拽 | 支持上下左右滚动和窗口本地截图坐标拖拽 |
| 应用管理 | 列出运行中的应用,后台启动应用,按需前置窗口 |
| 安全护栏 | 快照 TTL、应用白名单、危险操作审批、密码框保护 |
| 跨平台 | macOS 已验证;Windows/Linux 需按真实环境完成平台验收 |

12 个模型工具

| 工具 | 作用 | 主要参数 |
| screen_observe | 获取窗口、AX/UIA 元素、坐标或截图 | window, mode, query, maxElements |
| screen_zoom | 截取并放大窗口局部区域 | window_id, pid, x1, y1, x2, y2 |
| computer_click | 点击元素或截图坐标 | element 或 x,y,可选 count |
| computer_double_click | 双击元素或坐标 | element 或 x,y |
| computer_right_click | 右键点击元素或坐标 | element 或 x,y |
| computer_type | 向焦点或指定元素输入文本 | text, 可选 element |
| computer_key | 发送按键或快捷键 | key,例如 return、cmd+c |
| computer_scroll | 在目标窗口滚动 | direction, amount, 可选 element |
| computer_drag | 拖拽窗口中的区域 | from_x, from_y, to_x, to_y |
| computer_wait | 等待界面加载或动画完成 | ms,最大 60000 |
| app_list | 列出正在运行的应用 | 无 |
| app_launch | 启动应用 | name 或 bundle_id,可选 bring_to_front |

快速开始

方式一:使用 harness-desktop

普通桌面用户建议先下载 harness-desktop。它是一个开箱即用的 DeepSeek Harness 桌面客户端,支持 macOS、Windows 和 Linux。

1. 下载并启动 harness-desktop
2. 完成首启配置
3. 安装本插件
4. 重启 harness-desktop
5. 在对话中让 Agent 操作桌面

方式二:从 GitHub 源码安装

git clone https://github.com/988hj7tczd-oss/dsh-computer-use.git
cd dsh-computer-use

先预演,不写入配置 ./install.sh --dry-run

安装到用户级 patch 层 ./install.sh

安装后重启 harness-desktop

安装脚本只做两件事:

1. 将插件链接到 $DSH_HOME/profiles/web/node_modules/dsh-computer-use;
2. 在 $DSH_HOME/cordis.patch.yml 注册插件。

脚本使用用户级 patch 层,不修改项目代码,也不修改其他 profile 的配置。

Windows / Linux

install.sh 默认使用 macOS 的 DSH_HOME 路径。Windows 或 Linux 用户请先指定自己的 DSH home:

export DSH_HOME="/path/to/your/dsh-home"
./install.sh --dry-run
./install.sh

如果系统不支持符号链接,请使用宿主 DSH 的插件管理方式,或按照 docs/store-evidence.md 中的手动安装说明操作。

方式三:npm 包

npm install -g dsh-computer-use

安装后仍需要让 DSH profile 加载该 bundle,并确认 cua-driver 已经安装且在 PATH 中,或设置:

export CUA_DRIVER_BIN=/path/to/cua-driver

在 Windows 官方安装器布局中,插件还会自动探测 %USERPROFILE%\\.cua-driver\\packages\\current\\cua-driver.exe;GUI 宿主的 PATH 不完整时无需手工把目录加入 PATH。

安装完成后重启宿主,再通过 app_list 或 screen_observe 验证工具是否出现。

第一个完整任务

安装并授权后,可以让 Agent 执行下面的任务:

请完成以下桌面任务:

1. 使用 app_list 列出正在运行的应用;
2. 使用 app_launch 打开一个普通桌面应用;
3. 使用 screen_observe 观察目标窗口;
4. 找到目标按钮,优先使用 element 编号点击;
5. 使用 computer_type 输入一段非敏感测试文本;
6. 再次使用 screen_observe 验证文本已经出现;
7. 如果界面发生变化,请重新观察,不要使用旧元素编号继续操作;
8. 如果动作被安全护栏拒绝,请报告拒绝原因,不要绕过护栏。

推荐的操作循环

app_list / app_launch
↓
screen_observe
↓
computer_click / computer_type / computer_key
↓
computer_wait(如需等待) ↓ screen_observe 验证结果

每一次界面明显变化后,都应重新调用 screen_observe。元素编号属于某一次观察快照,不应跨页面、弹窗或长时间等待复用。

观察模式

screen_observe 的 mode 有三种选择:

| 模式 | 原理 | 成本 | 适用场景 |
| ax(默认) | 读取 AX/UIA 界面树并返回编号和坐标 | 不消耗视觉 Token | 原生应用、元素树完整的界面 |
| native | 将截图作为图片块交给当前对话模型 | 图片 Token;不额外调用视觉观察者 | Canvas、游戏、Electron 或 AX 树为空的界面 |
| vision | 通过 Harness 的 ctx.llm 调用视觉模型,返回结构化元素列表 | 额外一次视觉模型调用 | 当前主模型不支持图片输入时 |

native 模式

当前对话模型必须声明支持 image 输入,例如视觉模型。插件通过 Harness attachments 传递图片,不额外发起独立视觉 API 请求。

screen_observe(mode="native")

vision 模式

默认观察模型为:

provider: deepseek-official
model: deepseek-v4-flash-vision-exp

老版本 Harness 需要在模型配置中声明:

models:
- id: deepseek-v4-flash-vision-exp
input: [text, image]

当 DeepSeek 视觉观察者不可用时,插件可以尝试 GLM 视觉兜底。GLM 兜底需要 ZHIPU_API_KEY,并可能受到免费模型访问量限制。

自动降级

当 AX/UIA 树为空时,插件会尝试:

native(当前路由支持图片时) → vision(宿主存在可用视觉模型时) → ax(返回可用的界面树信息或明确错误)

坐标语义

从 v0.2.0 起,所有坐标均为:

窗口本地截图像素(window-local screenshot pixels)

这意味着:

- 坐标原点在目标窗口左上角;
- screen_observe 输出的 @(x,y) 与 computer_click(x=,y=) 使用同一坐标系;
- 不需要乘以 2;
- 不需要加屏幕坐标或窗口偏移;
- 使用 screen_zoom 时,返回图片是局部区域,但点击仍应使用整窗截图坐标。

优先使用:

computer_click(element=5)

只有在元素无法通过 AX/UIA 识别,或视觉模式给出坐标时,才使用:

computer_click(x=640, y=420)

安全模型

已内置的安全机制

1. 无快照拒绝:没有先调用 screen_observe,动作不会执行;
2. 观察快照 TTL:快照过期后动作被拒绝,必须重新观察;
3. 应用白名单:配置 allowedApps 后,只允许指定应用接受操作;
4. 危险操作审批:元素标签命中删除、支付、购买、转账、退出登录等词时请求用户确认;
5. 密码框保护:检测到 AXSecureTextField / AXPasswordField 时拒绝自动输入;
6. 键盘前台重试审批:键盘/文本优先后台投递;只有驱动明确拒绝后台投递并建议前台模式、且当前工具/平台支持时,才请求用户对本次前台重试授权;未获 allowed-once 不切换焦点、不重试;
7. 固定 argv 调用:通过宿主以非 shell 方式启动 cua-driver;
8. 权限边界声明:核心桌面路径不读取业务文件或额外凭据;仅当用户配置视觉 GLM fallback 时,才读取指定 key 来源并向 GLM API 发起请求;没有 npm lifecycle 安装脚本。

重要限制

语义安全检测依赖观察到的元素标签,主要对 element 编号模式有效:

- x/y 坐标模式无法提前知道目标语义,主要依赖快照 TTL 和可见操作;
- computer_type 和 computer_key 作用于当前焦点时,无法预判最终目标内容;
- 驱动拒绝后台键盘/文本投递时,前台重试会先请求本次用户批准;授权后可能切换目标窗口焦点;
- computer_key 不会阻止 cmd+q、ctrl+alt+delete 等系统快捷键;
- 不要把本插件的操作权限授予不可信 Agent;
- 密码、API Key 和其他敏感信息必须由用户本人输入。

配置

插件配置位于 DSH 的用户级 patch 层:

- id: dsh-computer-use
config:
ttlMs: 30000
maxElements: 500
allowedApps: []
cursorTheme: com.dsh.computeruse.rainbow
nativeImage: auto
visionProvider: deepseek-official
visionModel: deepseek-v4-flash-vision-exp

| 配置项 | 默认值 | 说明 |
| ttlMs | 30000 | 观察快照有效期,单位毫秒;多步任务建议显式设置 30000-60000 |
| maxElements | 500 | 单次观察最多返回的编号元素数量 |
| allowedApps | [] | 空数组表示不限制;非空时只允许列表中的应用 |
| cursorTheme | com.dsh.computeruse.rainbow | 虚拟光标主题;空字符串使用引擎默认主题 |
| nativeImage | auto | auto 自动降级;full 原图;compact 始终使用小图 |
| visionProvider | deepseek-official | vision 模式使用的 provider |
| visionModel | deepseek-v4-flash-vision-exp | vision 模式使用的视觉模型 |

安装脚本或 bundle patch 可能覆盖代码层默认值。请以实际生成的 $DSH_HOME/cordis.patch.yml 为准;多步任务建议显式写入 ttlMs,不要依赖隐式默认值。

平台支持 · Platform Support

| 平台 | 状态 | 说明 |
| macOS | ✅ 已验证 | 可能需要 Accessibility 和 Screen Recording 权限 |
| Windows | ⛔ BLOCKED | 当前无 Windows 10/11 真机;路径和按键逻辑已测试,真实 GUI 未验收 |
| Linux | ⛔ 未验证 | 桌面环境、Accessibility 栈和窗口管理器可能影响元素识别 |

测试通过不代表所有应用的界面树都完全一致。AX/UIA 不完整时,请使用 native 或 vision 模式,并在提交问题时附上操作系统、目标应用和 screen_observe 输出。

故障排查

| 现象 | 常见原因 | 处理方式 |
| cua-driver not found | 引擎不在 PATH 或官方安装器路径不可用 | 安装 cua-driver,确认 ~/.cua-driver/packages/current/cua-driver.exe 存在,或设置 CUA_DRIVER_BIN |
| 没有可见窗口 | 图形会话或窗口权限不可用 | 确认目标应用正在运行并重新观察 |
| 快照已过期 | 超过 ttlMs | 重新调用 screen_observe |
| 元素编号点击失败 | 界面已经变化 | 重新观察后再使用新编号 |
| AX/UIA 树为空 | Canvas、游戏、Electron 或特殊窗口 | 使用 native 或 vision |
| native 被拒绝 | 当前主模型没有 image 输入能力 | 切换视觉模型或使用 vision |
| vision 模型不可用 | provider/model 未注册 image 输入 | 配置 visionProvider / visionModel |
| GLM fallback 不可用 | 没有 ZHIPU_API_KEY 或遇到限流 | 配置 Key,或使用 Harness 视觉模型 |
| 危险操作被拒绝 | 需要用户审批 | 检查审批提示,不要绕过安全护栏 |
| Windows 管理员窗口无法操作 | 目标窗口权限级别更高 | 使用普通用户窗口 |

开发与验证

项目使用隔离 profile 开发,避免污染真实 GUI 配置:

npm install
npm run check

运行时验证需要已安装 harness-desktop 和 cua-driver
node verify-runtime.mjs

macOS headless 验证示例:

DSH_HOME=$PWD/.dsh-p0 ELECTRON_RUN_AS_NODE=1 \
/Applications/harness-desktop.app/Contents/MacOS/harness-desktop --expose-internals \
/Applications/harness-desktop.app/Contents/Resources/app/node_modules/@deepseek-ai/dsh/lib/bin.js \
--profile test "请调用 screen_observe 观察当前窗口并报告"

更多证据:

- 权限声明
- 验证报告
- Windows 测试指南
- Store 安装证据
- 运行时验证脚本

相关项目

- harness-desktop:开箱即用的 DeepSeek Harness 桌面客户端;
- awesome-dsh-plugin:DeepSeek Harness 插件精选列表;
- AI House 工具中心:发现更多 AI 工具、模型和 Agent;
- cua-driver:底层跨平台桌面驱动;
- npm package:安装包和版本信息;
- Gitee mirror:国内镜像。

License

MIT License

English Documentation

What is dsh-computer-use?

dsh-computer-use 是 DeepSeek Harness 的跨平台 Computer Use 插件。它给智能体提供一层可观察、有护栏、可验证的桌面操作能力。

插件围绕一条明确的循环设计:

Observe → Decide → Execute with Guardrails → Observe and Verify
它能检查桌面窗口,暴露可操作的 AX/UIA 元素,在必要时回退到基于截图的视觉方案,并通过隔离的虚拟光标执行操作。桌面自动化、Computer Use 研究、内部工作流,以及需要受控桌面操作的智能体应用,都能用上它。

这是社区插件,不是 DeepSeek 官方产品,与 DeepSeek 无隶属关系。

亮点

- 观察原生桌面窗口和无障碍树;
- 支持 ax、native、vision 三种观察模式;
- 点击、双击、右键点击、输入、按键、滚动、拖拽;
- 启动应用,列出正在运行的应用;
- 把操作绑定到最新的观察快照;
- 用应用允许列表限制操作范围;
- 对高风险语义目标请求审批;
- 拒绝向密码字段自动输入;
- AX/UIA 数据不完整时回退到截图;
- macOS 已验证;Windows 有逻辑和路径覆盖,但真实 GUI 验证受阻;Linux 尚未验证。

快速开始

推荐的桌面体验

下载 harness-desktop,这是开箱即用的 DeepSeek Harness 桌面客户端。装好宿主后,安装本插件并重启宿主。

从源码安装

git clone https://github.com/988hj7tczd-oss/dsh-computer-use.git
cd dsh-computer-use

./install.sh --dry-run
./install.sh

安装脚本会创建用户级插件链接,并把 bundle 注册到 DSH home 补丁层。它不会改动项目源文件,也不会改动其他配置档。

在 Windows 或 Linux 上,运行脚本前先把 DSH_HOME 设为实际的 DSH home 目录:

export DSH_HOME="/path/to/your/dsh-home"
./install.sh

安装 npm 包

npm install -g dsh-computer-use

确保宿主加载了 bundle,并且 PATH 里能找到 cua-driver,或者把 CUA_DRIVER_BIN 设为它的绝对路径。

在 Windows 上,还会自动检测官方安装器的目录布局: %USERPROFILE%\\.cua-driver\\packages\\current\\cua-driver.exe,这样 PATH 里没有驱动的 GUI 宿主也能覆盖到。

工具

| 工具 | 用途 | 主要参数 |
| screen_observe | 观察窗口、AX/UIA 元素、坐标或截图 | window、mode、query、maxElements |
| screen_zoom | 截取更小的区域做视觉检查 | window_id、pid、x1、y1、x2、y2 |
| computer_click | 点击元素或截图坐标 | element 或 x,y;可选 count |
| computer_double_click | 双击元素或坐标 | element 或 x,y |
| computer_right_click | 右键点击元素或坐标 | element 或 x,y |
| computer_type | 向聚焦或选中的字段输入 | text,可选 element |
| computer_key | 发送按键或快捷键 | key,例如 return、cmd+c |
| computer_scroll | 滚动目标窗口 | direction、amount,可选 element |
| computer_drag | 在截图坐标之间拖拽 | from_x、from_y、to_x、to_y |
| computer_wait | 等待页面加载或动画结束 | ms,最大 60000 |
| app_list | 列出正在运行的应用 | 无 |
| app_launch | 启动应用 | name 或 bundle_id;可选 bring_to_front |

标准操作循环

app_list / app_launch
↓
screen_observe
↓
computer_click / computer_type / computer_key
↓
computer_wait
↓
screen_observe to verify the result

快照只在本次观察内有效。UI 一旦变化,先重新观察,再使用上一次状态里的元素索引或坐标。

观察模式

| 模式 | 工作方式 | 适用场景 |
| ax | 返回紧凑的 AX/UIA 树,带索引元素和坐标 | 无障碍数据可用的原生应用 |
| native | 把截图作为图像块返回给当前多模态模型 | Canvas、游戏、Electron,或 AX/UIA 数据不完整的窗口 |
| vision | 调用 Harness ctx.llm 视觉模型描述截图 | 纯文本主模型,需要单独的观察者 |

native 要求当前路由声明支持图像输入。vision 使用配置好的 visionProvider 和 visionModel;默认模型是 deepseek-v4-flash-vision-exp。可选的 GLM 回退需要 ZHIPU_API_KEY,并且可能触发限流。

无障碍树为空时,回退顺序是:

native → vision → ax

插件会挑一条可用的路径;如果没有任何视觉路径可用,就返回明确的错误。

坐标语义

从 v0.2.0 起,所有坐标都是窗口本地截图像素:

- 原点是目标窗口的左上角;
- screen_observe 返回的坐标和 computer_click 接受的坐标共用同一空间;
- 不要乘以二;
- 不要加屏幕或窗口偏移;
- screen_zoom 返回裁剪后的图像,但点击坐标仍是整窗截图空间里的坐标。

优先用语义化的元素操作:

computer_click(element=5)

目标没有通过 AX/UIA 暴露,或者由视觉观察者给出坐标时,才用 x,y。

安全模型

插件包含:

1. 先观察再操作:没有新观察结果的操作会被拒绝;
2. 快照 TTL:快照过期后必须重新观察;
3. 应用允许列表:allowedApps 可以限制操作范围;
4. 风险操作审批:删除、支付、购买、转账、退出登录之类的标签可以要求用户批准;
5. 密码字段保护:拒绝向密码字段自动输入;
6. 键盘前台重试审批:键盘/文本操作优先走后台投递;只有在驱动明确拒绝,且驱动支持该模式时,前台重试才需要用户一次性审批。没有审批,就不改变焦点,也不重试;
7. 固定非 shell 驱动调用:宿主用固定 argv 启动 cua-driver;
8. 明确权限边界:核心桌面路径不读取业务文件,也不读取额外凭据。可选的 GLM 回退只读取其配置的密钥来源,并向 GLM 视觉 API 发送 HTTPS 请求;没有 npm 生命周期脚本。

语义检查对基于 element 的操作最可靠。坐标操作,以及未聚焦的 computer_type/computer_key 调用,无法预测最终的语义目标。computer_key 不校验系统快捷键。不要把这项能力交给不受信任的智能体,密码和密钥始终自己输入。

如果驱动报告 background_unavailable,在当前工具/平台支持的前提下,插件会先请求一次性审批,再以前台模式重试;这次重试可能把目标窗口带到前台。拒绝审批或没有审批,操作就保持被拒绝状态。

配置

- id: dsh-computer-use
config:
ttlMs: 30000
maxElements: 500
allowedApps: []
cursorTheme: com.dsh.computeruse.rainbow
nativeImage: auto
visionProvider: deepseek-official
visionModel: deepseek-v4-flash-vision-exp

| 选项 | 默认值 | 说明 |
| ttlMs | 30000 | 观测有效期,单位毫秒 |
| maxElements | 500 | 观测返回的索引元素上限 |
| allowedApps | [] | 留空表示不限制;否则只允许列表内的应用 |
| cursorTheme | com.dsh.computeruse.rainbow | 虚拟光标主题;留空使用引擎默认值 |
| nativeImage | auto | 截图策略:auto、full 或 compact |
| visionProvider | deepseek-official | vision 模式使用的服务商 |
| visionModel | deepseek-v4-flash-vision-exp | 支持图像的观测模型 |

如果安装器或 bundle 补丁覆盖了代码级默认值,以生成的 $DSH_HOME/cordis.patch.yml 为准。多步任务请显式设置 ttlMs,不要依赖隐式默认值。

平台支持

| 平台 | 状态 | 说明 |
| macOS | ✅ 已验证 | 可能需要辅助功能和屏幕录制权限 |
| Windows | ⛔ 已阻塞 | 逻辑/路径覆盖已存在;真实 GUI 验证需要 Windows 10/11 普通用户桌面会话 |
| Linux | ⛔ 未验证 | 桌面环境、辅助功能栈和窗口管理器都会影响元素发现 |
macOS 路径已在项目证据中验证。Windows 和 Linux 仍需在真实平台上跑一遍,之后才能宣称已完整测试。这不代表每个应用都会暴露相同的无障碍树。遇到 AX/UIA 数据不完整时,改用 native 或 vision,并在 bug 报告里附上操作系统、目标应用和观测输出。

故障排查

| 现象 | 可能原因 | 处理 |
| cua-driver not found | 驱动不在 PATH 中,或官方安装路径不可用 | 安装驱动,确认 ~/.cua-driver/packages/current/cua-driver.exe 存在,或设置 CUA_DRIVER_BIN |
| 看不到窗口 | 缺少图形会话或权限 | 确认目标应用可见,然后重新观测 |
| 快照已过期 | ttlMs 已耗尽 | 再次调用 screen_observe |
| 元素点击失败 | UI 已变化 | 重新观测,使用新的索引 |
| AX/UIA 树为空 | Canvas、游戏、Electron 或特殊窗口 | 改用 native 或 vision |
| native 被拒绝 | 主路由不支持图像 | 切换到支持图像的模型,或改用 vision |
| 视觉模型不可用 | 服务商/模型未声明图像输入 | 配置 visionProvider / visionModel |
| GLM 回退不可用 | 缺少 ZHIPU_API_KEY 或触发限流 | 配置密钥,或改用 Harness 视觉模型 |
| background_unavailable | 驱动无法在后台发送键盘/文本输入 | 如果接受切换窗口焦点,批准一次性前台重试 |
| 风险操作被拒绝 | 未获得用户批准 | 遵循批准结果,不要绕过防护 |
| Windows 提权窗口被拒绝 | 目标权限级别更高 | 改用普通用户窗口 |

开发与验证

npm install
npm run check
node verify-runtime.mjs

运行时验证需要可用的 harness-desktop 安装和 cua-driver。更多证据见:

- PERMISSIONS.md
- VERIFICATION.md
- WINDOWS_TEST.md
- docs/store-evidence.md
- verify-runtime.mjs

生态

- harness-desktop —— 开箱即用的 DeepSeek Harness 桌面客户端;
- awesome-dsh-plugin —— DeepSeek Harness 插件精选列表;
- AI House Tools —— 发现 AI 工具、模型和智能体;
- cua-driver —— 底层跨平台桌面驱动;
- npm package —— 包版本与下载量;
- Gitee mirror —— 国内镜像。

License

MIT License

与 DeepSeek 无隶属关系。DeepSeek Harness 是 DeepSeek AI 的开源项目。
预览分享卡片长什么样 ↓988hj7tczd-oss/dsh-computer-use
分享 · DeepSeek Harness Hub
988hj7tczd-oss/dsh-computer-use

让 DeepSeek Harness 像人一样操作桌面。…

回到顶部