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

Windows 桌面操控 ltmroberthk915/dsh-computer-use

DeepSeek Harnessv1.2.3
ltmroberthk9150 天前有提交已提供中文文档扫描:含敏感能力

让 DeepSeek 看得见,也点得动。Windows Computer…

33.6/100
综合分
5
GitHub 星标
870
npm 周下载
—/5
用户评分

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · ui
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 0 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

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

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

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/21 15:43:58

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 20 处,展示前 20 条)
  • 发起网络请求
    lib/attention.js:39
    try { before = await native.request('probe') } catch (e) { probeError = e.message }
  • 发起网络请求
    lib/attention.js:57
    try { result = await native.request('raise') }
  • 读取本地文件
    lib/core/index.js:112
    if (!this.workerExe || !existsSync(this.workerExe)) {
  • 执行外部命令来自配置/变量
    lib/core/index.js:123
    this.proc = spawn(this.workerExe, [], { env, windowsHide: true, stdio: ['pipe', 'pipe', 'pipe'] })
  • 读取本地文件
    lib/core/index.js:130
    try { file = `${existsSync(this.workerExe)} exists, ${statSync(this.workerExe).size} bytes` } catch { file = 'stat failed' }
  • 读取本地文件
    lib/core/index.js:130
    try { file = `${existsSync(this.workerExe)} exists, ${statSync(this.workerExe).size} bytes` } catch { file = 'stat failed' }
  • 读取本地文件
    lib/core/index.js:830
    const sha = createHash('sha256').update(readFileSync(join(__dirname, 'worker.cs'))).digest('hex').slice(0, 16).toUpperCase()
  • 读取本地文件
    lib/core/index.js:832
    if (!existsSync(exe)) return null
  • 执行外部命令来自配置/变量
    lib/core/index.js:833
    const out = execFileSync(exe, ['--op', 'ping'], { encoding: 'utf8', timeout: 4000, windowsHide: true })
  • 写入本地文件
    lib/audit.js:16
    if (!existsSync(shots)) mkdirSync(shots, { recursive: true })
  • 读取本地文件
    lib/audit.js:16
    if (!existsSync(shots)) mkdirSync(shots, { recursive: true })
  • 写入本地文件
    lib/audit.js:28
    appendFileSync(join(dataDir.root, 'audit.jsonl'), JSON.stringify(rec) + '\n')
  • 执行外部命令来自配置/变量
    lib/attention-native.js:37
    const child = spawn(binary, [this.journal], { windowsHide: true, stdio: ['pipe', 'pipe', 'pipe'] })
  • 执行外部命令来自配置/变量
    lib/core/native-runtime.js:25
    execFileSync(compiler, ['/nologo', '/target:exe', '/platform:x64', '/optimize+', '/warn:1', `/out:${output}`,
  • 写入本地文件
    lib/artifacts.js:10
    writeFileSync(path, bytes, { flag: 'wx' })
  • 写入本地文件
    lib/artifacts.js:12
    try { appendFileSync(manifest(dir), JSON.stringify({ file: basename(path), sha256: digest(bytes), size: bytes.length, createdAt: Date.now() }) + '\n')
  • 读取本地文件
    lib/artifacts.js:19
    try { lines = readFileSync(manifest(dir), 'utf8').split('\n') } catch { return { dryRun, files: [], bytes: 0 } }
  • 读取本地文件
    lib/artifacts.js:28
    const path = join(dir.shots, record.file), stat = lstatSync(path)
  • 读取本地文件
    lib/artifacts.js:29
    if (!stat.isFile() || stat.isSymbolicLink() || stat.size !== record.size || digest(readFileSync(path)) !== record.sha256) continue
  • 删除本地文件
    lib/artifacts.js:30
    if (!dryRun) unlinkSync(path)
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

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

功能亮点

  • Windows桌面操作
  • 四种审批模式
展开完整介绍(123 字)↓

DeepSeek Harness 的 Windows 桌面操作:18 个 computer_* 工具跑在原生 C# worker 上,带 Set-of-Marks 定位、四种审批模式、JSONL 审计记录,还能把人工刹车直接播报进正在运行的会话。

v1.2.32026-10-19
· 完整更新:正常安装即可生效 1.2.3 已将审批误报修复集成到插件运行时。正常安装或更新插件后,computer-use 调用无需再单独修改 DSH 宿主文件。 · never 策略导致的自动拒绝会明确提示“审批弹窗已禁用,操作自动拒绝,未询问用户”。 · computer_key、computer_batch 等 computer-use 调用均覆盖。 · 宿主仍决定审批结果并记录完整审计;原有放行、取消和按键策略保留。 · 修复已兼容的宿主不会重复改写结果,卸载插件时恢复原服务方法。 · 包含 1.2.1 的原生提醒修复,以及两份预编译原生组件。 · 安装和更新 在 DSH 插件市场更新 dsh-codex-style-computer-use,或按宿主支持的方式安装 dsh-codex-style-computer-use@1.2.3。已经加载旧版的宿主请按其提示重启。 附完整插件包 dsh-codex-style-computer-use-1.2.3.tgz 和 SHA256SUMS.txt。GitHub 自动生成的源码归档也包含全部修复和测试。 · 验证 · 23 项审批归因回归,包含自动安装、卸载恢复、Cordis 服务代理和批处理使用的统一审批路径。 · 对实际 TGZ 解压后的运行时重复测试通过。 · 原审批策略、16 项提醒测试、发布守卫、原生组件哈希及隔离原生往返通过。 · 真实运行中的 DSH Cordis 服务验证通过;验证使用内存会话,没有键鼠输入或真实会话写入。 · Windows CI 通过。 版本说明 --- Full runtime update: the plugin automatically corrects the known legacy approval-attribution message for computer-use calls. Normal package installation/update is sufficient on the tested host; no separate host-file patch is required. Host approvals, audit, cancellation and key policy remain authoritative. Includes both prebuilt native helpers and the native attention fix. 23 attribution regressions, packed-module verification and Windows CI passed.
v1.2.22026-10-19预发布
已由 1.2.3 完整正式版 替代:正常安装或更新插件即可自动修复 computer-use 审批归因,无需单独修改宿主文件。以下保留 1.2.2 工具预发布的原始说明。 · 审批误报修复工具 本版包含修复提交 ca3e3f7,以及 1.2.1 的原生提醒请求修复。 DSH 宿主将 never 策略下的自动拒绝误报成“用户拒绝工具”。补丁会明确说明:审批弹窗已禁用,操作被自动拒绝,未询问用户,并保留原始审批原因。 部署范围:误报发生在 DSH 宿主。安装本版 computer-use 插件不会自动替换宿主代码;宿主补丁需单独部署。你原有的审批限制、取消和审计行为保持不变。 · 下载 · dsh-codex-style-computer-use-1.2.2.tgz:完整插件包,包含两份预编译原生组件及补丁工具。 · computer-use-approval-patch-1.2.2.zip:独立宿主补丁工具、说明及 14 项回归测试。解压后先读 README.md;工具默认只预览,指定输出路径才生成新文件。 · SHA256SUMS.txt:附件 SHA-256 校验值。 补丁工具适用于已验证的 DSH Desktop 0.2.1-rc.2 宿主模块,其他构建需重新核对源代码。 · 验证 · 14 项审批归因回归通过;ZIP 解压后的独立运行复验通过。 · 原有提醒、发布策略和插件包校验通过;TGZ 解压后原生 probe/raise/cleanup 往返验证通过。 · 本机修复曾通过当前宿主真实审批服务的内存会话验证,以及独立 Electron 加载验证。 · Windows CI 已纳入本次新增回归。 这是 GitHub 预发布。本次没有发布到 npm,也没有调整 npm 的 latest 或市场版本。 完整说明 · 宿主补丁用法 --- Includes the host approval-attribution patch utility and regression suite, plus the 1.2.1 native attention fix. Automatic refusals under disabled prompts identify their actual policy source. Host deployment is separate from plugin installation. This GitHub pre-release does not publish or promote an npm package.
v1.2.12026-10-03预发布
修复 issue #2:缺少 node:crypto 导入,导致 1.2.0 里所有原生 attention 探测/唤起请求在到达 helper 之前就抛错。1.2.1 补上这个导入,并在原生守卫和包冒烟测试里跑真实的请求/响应往返。 已发布 npm 版本:dsh-codex-style-computer-use@1.2.1,tag 为 next。latest 仍指向 1.2.0,等修复走完发布年龄窗口。24 小时发布者阈值是 2026-10-04 07:01:20 UTC / 北京时间 15:01:20;过了这个时间,要移动 latest 得单独执行带守卫的晋升命令。这个 GitHub release 是预发布,不替代 v1.2.0 成为最新 release。 想立刻显式安装修复,在 DSH 设置 → 插件 → 添加插件里输入 dsh-codex-style-computer-use@1.2.1。严格的发布年龄策略仍然生效。已装的 1.2.0 需要更新才能拿到这个运行时修复;重装 1.2.0 不会应用它。替换已加载模块时,按 DSH 的提示重启。 用已安装的 DSH Desktop 0.2.0-rc.2 管理器、自带的 Electron/Node 和 pnpm 11.7.0、以及 dshmarket 1.66.7 在隔离配置档里验证:全新安装 npm 1.2.1;在已发布的 1.2.0 里复现错误;升级到 1.2.1;原生探测/唤起/清理响应带唯一 ID,且与原生日志条目对应;空 PATH/冷缓存下的 helper 和只读截图冒烟测试;全部 18 个工具 schema。现有 16 个 attention 事件测试通过。原生请求测试用一个不存在的可执行文件,不会唤起真实应用窗口。 剩余宿主边界:在冷却期内立刻重新添加同一个新的 1.2.1 版本,pnpm 的 lockfile 冷却检查报 ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION 失败,即使自动版本例外已开启。已安装的 1.2.1 仍保持选中。冷却期内同版本重装不保证可用。 npm 归档已下载并逐字节比对。两个附件归档包含同一个 326,611 字节的包。SHA-256:458600caa5ccdccc6302366a6294c7381f4c4b5b699ab883f70debba63fb5828。原生 C# 源码和二进制未改动。 验证 · npm
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
dsh-codex-style-computer-use · Codex 风格桌面操控 让 DeepSeek 看得见,也点得动。 把 Windows 应用里的重复操作交给 AI:看屏幕、找控件、点鼠标、敲键盘。AI 实际操控前提示 1.5 秒,非操控期间你可以正常使用电脑;操控中接管后,AI 等待交回并接续原任务。默认保留操作审批。 给 DeepSeek Harness 用的 Windows 桌面操控插件:18 个桌面工具加一个 Agent 激活入口,通过一个 C# worker 观察并驱动原生 Windows 应用。发布包已包含编译好的原生组件,无需安装 PowerShell 7、SDK 或执行编译命令。 仅支持 Windows(os: win32)。需要 Node.js ≥ 22 与 Windows 自带的 .NET Framework 4.x。 1.3.0 桌面控制周期升级:实际操控与深蓝色指示同步;鼠标轻微抖动有 16 像素容差;紫色操作前提示持续 1.5 秒;接管后返回必须继续任务的断点;同一时间只有一个 agent/worker 拥有控制周期。桌面工作和验证结束后调用 computer_ctrl {action:"release"} 即可释放,聊天继续,同一轮后来仍可重新开始。正常收尾自动释放,不再弹出结束确认选项单。人工暂停、明确退出和待回答的问题保持有效。
展开完整文档(README 剩余 1 节)
dsh-codex-style-computer-use · Codex 风格桌面操控

让 DeepSeek 看得见,也点得动。

把 Windows 应用里的重复操作交给 AI:看屏幕、找控件、点鼠标、敲键盘。AI 实际操控前提示 1.5 秒,非操控期间你可以正常使用电脑;操控中接管后,AI 等待交回并接续原任务。默认保留操作审批。

给 DeepSeek Harness 用的 Windows 桌面操控插件:18 个桌面工具加一个 Agent 激活入口,通过一个 C# worker 观察并驱动原生 Windows 应用。发布包已包含编译好的原生组件,无需安装 PowerShell 7、SDK 或执行编译命令。

仅支持 Windows(os: win32)。需要 Node.js ≥ 22 与 Windows 自带的 .NET Framework 4.x。

1.3.0 桌面控制周期升级:实际操控与深蓝色指示同步;鼠标轻微抖动有 16 像素容差;紫色操作前提示持续 1.5 秒;接管后返回必须继续任务的断点;同一时间只有一个 agent/worker 拥有控制周期。桌面工作和验证结束后调用 computer_ctrl {action:"release"} 即可释放,聊天继续,同一轮后来仍可重新开始。正常收尾自动释放,不再弹出结束确认选项单。人工暂停、明确退出和待回答的问题保持有效。

灯效统一为贴合屏幕直角的 2 像素光线和最多 8 像素柔光,四角没有圆弧缺口。普通工作状态不显示悬浮文字牌;让出、暂停和预告使用紧凑提示,正文区域保持透明。此次美工调整不改变状态逻辑或闪烁节奏。

1.2.3 自动修复:正常安装或更新插件,即会为受影响宿主中的 computer-use 调用安装审批归因修正,无需手工修改宿主。审批决定与审计仍由宿主处理;更新已加载插件后按宿主提示重启。详见 1.2.3。

1.2.1 提醒修复:补齐 crypto 导入,修复 1.2.0 原生 probe / raise 请求还未发送就抛错的问题。这次是运行时代码修复,需要从 1.2.0 更新;重复安装 1.2.0 无效。新版本先发布到 npm 的 next,再提升为 latest,市场普通更新跟随 latest。详见 1.2.1 验证和发布状态。

宿主在禁用审批弹窗时仍提示“用户拒绝工具”的问题,详见 DSH 审批归因补丁与回归测试。

1.2.2 GitHub 预发布:收录独立部署的宿主审批归因补丁和 14 项回归测试。插件输入与审批行为延续 1.2.1,详见 发布内容及部署范围。GitHub 发布不会自动更新 npm 或市场版本。

它能做什么

- 观察 —— 窗口列表、截图(区域 / JPEG / PNG / 降采样)、可点元素的 Set-of-Marks 编号图,以及带精确 AutomationId 的 UI Automation 树。
- 操作 —— 点击、移动、拖拽、滚动、选中文本区间、键入、按键,并可走控件自身的 UI Automation 模式,而不是盲猜坐标。
- 批量 —— 一次 computer_batch 串行执行一组动作,遇错即停,因此一段已知流程只花一轮模型往返。
- 提问 —— computer_ask 把问题发到 DSH 与 ask_user_question 相同的那张聊天卡片上,且没有倒计时。
- 能传到模型的人为刹车 —— 停止事件被推入正在运行的会话,agent 当场知道自己被打断,而不是等到下一轮才发现。

工具读的是桌面,不读你的文件。插件自己只写三处:worker 二进制(%LOCALAPPDATA%\dsh-computer-use\worker\)、审计日志与截图($DSH_HOME/data/computer-use/)。

在 dsh-market 安装和更新

市场收录同步后,搜索 computer-use,选择 dsh-codex-style-computer-use,作者 ltmroberthk915(npm 维护者 ltmroberthk),点击安装。以后通过市场的更新或全部更新安装符合宿主发布策略的版本。两份原生组件都已随包提供,无需 PowerShell 7、SDK 或构建白名单。

目录尚未同步时,在 设置 → 插件 → 添加插件 输入修复版 dsh-codex-style-computer-use@1.2.1。正式标签提升前,省略版本号仍会装到 1.2.0。这里填 npm 包名即可;填写 GitHub 仓库网址会转为下载源码,容易受 GitHub 下载线路影响。默认非严格 pnpm 11.7.0 配置可以直接安装 1.2.1;宿主显式启用严格策略时,才可能需要等待冷却。首次新增 bundle 在官方桌面端可热加载;确认工具与 skill 已出现即可使用。替换已经加载的版本、客户端界面未刷新或界面明确提示 restart-required / 需要重启 时,再从托盘完整退出 DSH 并重新打开。

发布未满 24 小时

默认非严格 pnpm 11.7.0 配置会自动记录单版本例外并完成安装;“这台能装”不能推断另一台也允许安装新版本。

只有在 minimumReleaseAgeStrict: true(或宿主显式启用严格冷却)、版本未满配置的冷却时间且没有匹配例外时,才会在插件代码运行前被拒绝。已实测在该策略下,裸包名、dsh-codex-style-computer-use@1.2.0 和 npm 的 tgz 下载地址都会报 ERR_PNPM_NO_MATURE_MATCHING_VERSION。在 pnpm 11.7.0 中,显式设置 minimumReleaseAge: 1440 也会启用严格行为,除非另行设置 minimumReleaseAgeStrict: false。重启 DSH、反复重装或安装 PowerShell 都不能解决严格策略的拒绝。官方桌面桥接不接受额外 pnpm 参数。

如果被严格策略拦截,无需改配置的做法是等待该版本满冷却时间后,再安装或更新。 1.2.0 的 npm 发布时刻为 2026-10-03 11:50:11.586(北京时间),24 小时门槛在 2026-10-04 11:50:12 后满足。自定义更长冷却或镜像同步延迟仍以宿主提示为准。默认非严格配置的用户安装本包不需要等待,也不需要手动修改配置。

若明确要在冷却期内安装,经确认后可在目标 profile 的 pnpm-workspace.yaml 中,将下面的单个版本合并进现有列表,再回到市场重试;不要覆盖原有项,也不需要把全局冷却设为 0:

minimumReleaseAgeExclude:
- dsh-codex-style-computer-use@1.2.0

默认 desktop 文件位于 %USERPROFILE%\.dsh\profiles\desktop\pnpm-workspace.yaml;设置过 DSH_HOME 时以实际目录为准。例外仅限这个版本,过了冷却可删除该项。

此前文档和发布检查修正没有改变 1.2.0 运行时,因此无需重装;1.2.1 的原生提醒修复则需要更新版本。某些安装路径重复添加同一来源会触发宿主的 ambiguous-install;重复安装 1.2.0 不会得到 1.2.1 的修复。

已有本仓库旧 Git/tgz 版本:在市场卸载旧的 dsh-computer-use,再安装 dsh-codex-style-computer-use。npm 上的无 scope 包 dsh-computer-use 属于另一仓库,不能用作本插件的更新。旧 Git 依赖不会因仓库改名自动迁移;完成这一次界面内迁移后,后续使用普通市场更新即可。原有 computer_* 工具名与 computer-use 设置命名空间保留。

旧配置也要迁移:先备份目标 profile 的 cordis.patch.yml,仅把 id: computer-use 覆盖项里的 name: dsh-computer-use 改为 name: dsh-codex-style-computer-use,保留整段 config 和 disabled。只保留设置命名空间并不足够:旧 name 不匹配时,DSH 会跳过覆盖项,连 read-only、dryRun、禁用状态也可能失效。不要全文替换其他插件或共享 home 层配置。可使用仓库的 scripts/migrate-profile.mjs:默认预览,--apply 才备份并原子写入,且会拒绝并发修改。

也可下载 配置迁移工具,解压后双击 migrate-profile.cmd。它自动寻找已安装的官方 DSH,使用 Windows 自带的 PowerShell 5.1 和 DSH 自带的 Node,修复默认 desktop profile;新包未安装或旧 bundle 仍在时会停止。它不改变发布冷却策略。自定义 profile 可通过 migrate-profile.ps1 -ProfileDirectory <完整目录> 预览,确认后追加 -Apply。

GitHub Release 仍提供 dsh-computer-use.tgz,供离线或手动安装。市场自动更新优先使用 npm 包。

网页版的命令行安装方式:

dsh plugin --profile web add dsh-codex-style-computer-use

桌面版排障必须使用官方桌面自带的入口。例如默认安装目录可这样查询:

$CuDshInstall = Join-Path $env:LOCALAPPDATA 'Programs\DeepSeek Harness'
& "$CuDshInstall\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop why dsh-codex-style-computer-use

若安装在 D 盘等自定义位置,先将 $CuDshInstall 改成桌面快捷方式实际指向的安装目录。PATH 上旧 npm CLI 的 dsh 可能拒绝 desktop profile;不要把 resources/runtime/bin 加到全局 PATH,也无需自己安装 pnpm。GUI 安装仍是首选。

随包 skill

驱动类工具会被锁住,直到会话给出那句只存在于 skills/computer-use/SKILL.md 里的回执短语。
这是刻意的——没有任何工具层能"看见"模型是否读过文档,这是"先读规程再动手"最诚实的一种实现。

插件在宿主提供 skills 服务时通过 ctx.skills.register() 注册随包规程。服务缺失时,computer_use_activate 也能返回同一份规程、源文件绝对路径及当前 Agent 的工具列表。回执门禁和既有审批、刹车检查仍然有效。

1.2.0-rc.2 的人机共用输入

本预发布版采用“立即让权 → 持续输入 2 秒进入等待 → 静默 3 秒后继续”。等待由本地事件完成,不消耗模型轮询。中途被打断的写入先读回实际结果,避免重复执行。宿主取消任务时释放自动化实际按下的输入,不新增持续暂停。此前 DSH Pet 主窗口识别和原有置顶位恢复修复均保留。

已配置的 GLM 5.3 Max、GLM 5.3 Flash 和 DeepSeek Flash 通过受控续作协议测试;原生操作与实体热键另行验证。这些结果不代表任意真实桌面或视觉任务的成功率,详见发布验证说明。

1.1 的按需控制

- 按 Agent 加载:未激活时暴露 computer_use_activate、computer_ctrl、computer_ask。成功读取 computer-use skill、确认规程或调用激活入口后,该 Agent 获得原有 18 个工具,加入口共 19 个。其他 Agent 和子 Agent 独立启用,支持原生调用和 Node run_code。激活本身不启动控制,也不释放人为刹车。
- 已观察的 UIA 目标:指定窗口和 name/id 的聚焦查询默认生成 target 句柄。控件重建时,显式 rebind:true 才允许在同一窗口内进行唯一身份或语义匹配。上下文变化、歧义、扫描不完整时拒绝动作。宽查询需 targets:true 才生成恢复句柄,避免普通观察承担额外开销。
- 增量观察:重复相同查询并传入上一 observation 的 since,返回新增、变化、删除及顺序信息。每 Agent 保留最近 64 份完整快照,snapshot 可取回确切的历史结果。缺少基线、范围变化、证据不完整或增量更大时自动回退全量。

保留的是提供器实际返回的完整字段,沿用原有提供器限制;历史快照不代替动作后的新验证。缓存上限和恢复边界见详细协议。

工具

| 分组 | 工具 |
| 激活 | computer_use_activate |
| 观察 | computer_state computer_shot computer_marks computer_uia |
| 操作 | computer_click computer_move computer_drag computer_scroll computer_select computer_key computer_type computer_uia_act computer_window computer_clip |
| 流程 | computer_wait computer_batch |
| 元 | computer_ask computer_ctrl |

computer_marks 返回屏幕上元素的编号列表;computer_marks {shot:true} 额外保存对应的标注图。computer_shot 返回普通截图,在支持图片输入的模型路由上直接附带图片。mark 是一次快照 ID:派发输入前会核对窗口身份与采样像素,因此过期的 mark 会被拒绝,而不是点到错误的位置。

审批模式

automationMode 在插件设置里配置,默认 standard:

| 模式 | 观察 | 操作 |
| read-only | 允许 | 拒绝 |
| standard | 允许 | 每个动作都经宿主审批卡确认 |
| autonomous | 允许 | 允许,高危动作仍需确认 |
| unrestricted | 允许 | 允许(worker 自身的失效保护与限速仍在) |

高危动作(关闭窗口、alt+f4、win+r 等)在任何模式下都要确认。
密码框通过 UI Automation 的 IsPassword 识别,默认拒绝输入。

安全模型

- 人机共用输入 —— 思考、观察和预告期间允许用户正常操作。实际操控时,键盘、滚轮和按钮立即触发让出;鼠标位移有 16 像素容差。持续输入或按住键/按钮 2 秒进入自动等待;全部松开并静默 3 秒后,agent 必须重新观察并接续原任务,不盲目重放部分写入。人操作时显示温和的淡黄色边缘渐变。
- 工具用完即释放 —— computer_ctrl {action:"release"} 结束电脑控制但保持聊天继续;正常收尾自动释放,不弹确认选项单。暂停和待回答问题不会被自动清除。
- 一个操作者 —— 会话/agent 所有权与跨 worker 独占锁覆盖整个控制周期,另一 agent 必须等当前操作者释放。
- 人工暂停 —— 只有实体 Ctrl+Esc 触发持续输入刹车,Ctrl+Alt+R 恢复。普通 Esc、打字、滚动、鼠标距离/频率和屏幕左上角不再触发这种暂停;显式提问、诊断暂停保持独立。
- 退出 —— Ctrl+Alt+Q 结束会话:覆盖层消失、监听全部拆除,后续注入被拒,直到之后某一轮重新开启。
- 刹车是关于机器的事实,不属于某一个进程 —— 闩锁状态落盘,每个 worker 都会遵守,包括之后从命令行启动的。
- 审计 —— 每次操作连同脱敏后的参数追加到 $DSH_HOME/data/computer-use/audit.jsonl。
- 插件级开关 —— DSH_COMPUTER_USE_KILL=1 让插件拒绝启动;dryRun: true 只模拟并记录。

配置

| 键 | 默认 | 含义 |
| automationMode | standard | 审批模式(见上) |
| progressiveTools | true | 按 Agent 激活;设为 false 可保留原有 18 个全局工具 |
| dryRun | false | 只模拟操作并记录 |
| maxActionsPerMinute | 60 | 核心层操作限速 |
| annotateMarks | true | 在截图上绘制 Set-of-Marks 方框 |
| workerExe | "" | 显式指定 worker 路径;留空则自动发现或编译 |
| snapshotDir | "" | 截图目录;留空为 $DSH_HOME/data/computer-use/shots |

MCP 服务

mcp/ 是建立在同一核心之上的零依赖 MCP stdio 服务,供只讲 MCP、不讲 Cordis 的客户端使用:

node mcp/src/index.js

开发

发布者检查默认查询 npm 官方源。若本地无法访问,可用 CU_REGISTRY 为只读的 check 命令指定镜像;JSON 输出会注明 registry 和 authoritative。PowerShell 示例(只影响当前终端):

$env:CU_REGISTRY = 'https://registry.npmmirror.com'
node scripts/release-channel.mjs check 1.2.0
Remove-Item Env:CU_REGISTRY

退出码 0 表示通过发布者的 24 小时检查,2 表示仍在冷却,1 表示检查失败。网络失败不代表版本未发布,镜像也可能尚未同步。promote 会忽略 CU_REGISTRY,始终向 https://registry.npmjs.org 重新检查并写入 latest,因此需要能访问官方源,必要时使用 npm 的代理配置。本工具只供发布者使用,普通用户安装不需要运行它。详见 发布流程。

仓库自带守卫套件,保护上面这些不变量——循环生命周期、提问/刹车协议、操作分类、skill 门禁,以及随包 skill 的注册接线:

pwsh -NoProfile -ExecutionPolicy Bypass -File build/run-guards.ps1 # 全部守卫
node build/verify-tools-schema.mjs # 工具 schema 加载守卫

工具定义走真实的 @deepseek-ai/dsh-tools DSL 编译,因此 schema 写错会在这里失败,而不是在宿主重启时把整棵插件树带崩。部分守卫会编译原生 worker,仅 Windows 可跑。

许可

MIT —— 见 LICENSE。
预览分享卡片长什么样 ↓ltmroberthk915/dsh-computer-use
分享 · DeepSeek Harness Hub
ltmroberthk915/dsh-computer-use

让 DeepSeek 看得见,也点得动。Windows Computer…

回到顶部