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

桌面操控鲸娘 Mrkennyhungry/dsh-cua

DeepSeek Harness
Mrkennyhungry5 天前有提交已提供中文文档扫描:含敏感能力

用物理鼠标精准操作 Windows 桌面与浏览器

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

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Mrkennyhungry/dsh-cua
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · desktop
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 5 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 86 处,展示前 29 条)
  • 读取本地文件
    index.js:204
    if (existsSync(productCatalogPath)) {
  • 读取本地文件
    index.js:207
    const parsed = JSON.parse(readFileSync(productCatalogPath, 'utf8'))
  • 发起网络请求
    index.js:239
    bridge.request(bridge.taskPath(taskId, '/stop'), owner, { body: {} })))
  • 发起网络请求
    index.js:318
    const started = await bridge.request('/tasks', owner, { body: { task: args.task, request_id: requestId }, signal: exec.signal })
  • 发起网络请求
    index.js:336
    const value = await bridge.request(bridge.taskPath(started.task_id), owner, { signal: exec.signal })
  • 发起网络请求
    index.js:345
    await bridge.request(bridge.taskPath(started.task_id, '/stop'), owner, { body: {} }).catch(() => {})
  • 发起网络请求
    index.js:369
    const value = await bridge.request(bridge.taskPath(args.task_id), owner, { signal: exec.signal })
  • 发起网络请求
    index.js:373
    const value = await bridge.request(bridge.taskPath(args.task_id), owner, { signal: exec.signal })
  • 发起网络请求
    cursor-state.js:25
    await bridge.request('/mascot/state', owner, {
  • 发起网络请求
    cursor-state.js:59
    bridge.request('/mascot/state',owner,{body:{active:false,client_pid:process.pid},timeoutMs:3000})))
  • 读取本地文件
    kernel.js:34
    const value = JSON.parse(readFileSync(file, 'utf8'))
  • 写入本地文件
    kernel.js:43
    mkdirSync(dirname(file), { recursive: true })
  • 写入本地文件
    kernel.js:46
    writeFileSync(file, JSON.stringify(value, null, 2), { mode: 0o600 })
  • 读取本地文件
    kernel.js:54
    const text = readFileSync(file, 'utf8')
  • 发起网络请求
    kernel.js:164
    const response = await fetch(`${base}/health`, {
  • 读取本地文件
    kernel.js:237
    const text = readFileSync(join(moduleRoot, 'dsh_desktop', 'version.py'), 'utf8')
  • 读取本地文件
    kernel.js:242
    const text = readFileSync(join(paths.root, 'pyproject.toml'), 'utf8')
  • 读取本地文件
    kernel.js:265
    if (!existsSync(paths.python)) {
  • 读取本地文件
    kernel.js:270
    if (existsSync(paths.python)) {
  • 读取密钥环境变量
    kernel.js:296
    const inherited = process.env.DEEPSEEK_API_KEY
  • 执行外部命令固定命令
    kernel.js:329
    const query = spawnSync('schtasks', ['/Query', '/TN', ELEVATED_TASK_NAME], {
  • 写入本地文件
    kernel.js:339
    writeFileSync(
  • 执行外部命令固定命令
    kernel.js:353
    spawnSync('icacls', [bootFile, '/inheritance:r',
  • 执行外部命令固定命令
    kernel.js:359
    const run = spawnSync('schtasks', ['/Run', '/TN', ELEVATED_TASK_NAME], {
  • 写入本地文件
    kernel.js:379
    mkdirSync(paths.state, { recursive: true })
  • 执行外部命令来自配置/变量
    kernel.js:436
    child = spawn(
  • 删除本地文件
    kernel.js:557
    try { unlinkSync(stateFile) } catch {}
  • 删除本地文件
    kernel.js:560
    try { unlinkSync(legacyStateFile) } catch {}
  • 执行外部命令固定命令
    kernel.js:588
    const killer = spawn('taskkill', ['/PID', String(pid), '/T', '/F'], { windowsHide: true, stdio: 'ignore' })
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

让你的dsh也拥有精准迅速的computer use能力

README

由 DeepSeek 最新模型翻译生成
DSH 桌面自动化 桌面坐标操作使用物理鼠标。任务反馈用一个停靠在屏幕边缘、可点击穿透的像素鲸鱼女仆指挥官,配对话气泡和魔杖姿势,外加 2 秒窗口辉光。详见 commander mode。 为 DSH 提供 Windows 桌面与浏览器自动化。Python 内核源码随插件一起发布,放在 kernel/dsh_desktop 下;运行时安装只装 Python 依赖 —— OCR 和视觉模型权重已打包在 vendor/weights 里。 一行安装 —— 把下面这行粘进 DSH 的 Plugins → Add plugin,重启,然后运行一次 scripts\bootstrap.ps1: dsh-doraemon@git+https://github.com/Mrkennyhungry/dsh-cua.git#v0.4.6 或者在 Plugins → Discover 里添加市场索引 https://raw.githubusercontent.com/Mrkennyhungry/dsh-cua/main/market/index.json,从那里安装。两种方式下面都有说明。 时间紧?QUICKSTART.md 只有一屏:三个前置条件、四个步骤、一条要避开的报错。 安装插件 两种方式,同一个 spec。
展开完整文档(README 剩余 1 节)
DSH 桌面自动化

桌面坐标操作使用物理鼠标。任务反馈用一个停靠在屏幕边缘、可点击穿透的像素鲸鱼女仆指挥官,配对话气泡和魔杖姿势,外加 2 秒窗口辉光。详见 commander mode。

为 DSH 提供 Windows 桌面与浏览器自动化。Python 内核源码随插件一起发布,放在 kernel/dsh_desktop 下;运行时安装只装 Python 依赖 —— OCR 和视觉模型权重已打包在 vendor/weights 里。

一行安装 —— 把下面这行粘进 DSH 的 Plugins → Add plugin,重启,然后运行一次 scripts\bootstrap.ps1:

dsh-doraemon@git+https://github.com/Mrkennyhungry/dsh-cua.git#v0.4.6

或者在 Plugins → Discover 里添加市场索引 https://raw.githubusercontent.com/Mrkennyhungry/dsh-cua/main/market/index.json,从那里安装。两种方式下面都有说明。

时间紧?QUICKSTART.md 只有一屏:三个前置条件、四个步骤、一条要避开的报错。

安装插件

两种方式,同一个 spec。

从 Web UI 安装: 打开 DSH 侧边栏的 Plugins,把下面这行粘进安装对话框,确认,然后重启 DSH:

dsh-doraemon@git+https://github.com/Mrkennyhungry/dsh-cua.git#v0.4.6

从配置档的 package.json 安装,把同一个值加为依赖:

{
"dependencies": {
"dsh-doraemon": "git+https://github.com/Mrkennyhungry/dsh-cua.git#v0.4.6"
}
}

tag 可以被移动;需要不可变的目标时,改为锁定发布 commit (git rev-parse v0.4.6 会打印出来):

dsh-doraemon@git+https://github.com/Mrkennyhungry/dsh-cua.git#445cbc7fd639f7ab99f2780b82ddaf4d9fd27a8d

要求: Windows、Node.js >= 22,以及 DSH 0.2.x —— 当前稳定线,在 engines.dsh 里声明为 >=0.2.1-rc.2 <0.3.0。DSH 会强制执行这个范围,不会忽略它,所以 0.3 客户端会拒绝这个包。DSH 0.3 还不存在;等它发布后,这个插件必须在新版本上重新测试,上界会在新版本里调整。在那之前不用做任何事。

从 Discover 安装(可选)

DSH 自带的自定义插件市场默认关闭。想让这个插件出现在 Plugins → Discover 里:

1. 打开 Web 侧边栏的 Plugins,在 Experimental plugins 旁边选 More,打开 Custom plugin markets。页面随后会显示 Installed 和 Discover 两个标签页。
2. 在 Discover 里添加这个索引源:

https://raw.githubusercontent.com/Mrkennyhungry/dsh-cua/main/market/index.json

镜像,如果 raw.githubusercontent.com 访问不了:https://cdn.jsdelivr.net/gh/Mrkennyhungry/dsh-cua@main/market/index.json。
3. 选 dsh-doraemon,安装 0.4.6 版本,然后重启 DSH。
DSH 没有官方市场:Discover 只列出用户自己添加的索引源,所以上面那个 URL 就是本插件进入该列表的方式。这份文档是 DSH 自己的 format: 1 市场索引,提交前已用 @deepseek-ai/dsh-plugin-market-index 校验过,并且锁定的是不可变的 commit,不是分支。

92 MB 的 ONNX 权重已提交到本仓库,所以全新 clone 下来就能离线运行,无需下载步骤。GitHub 对单文件超过 50 MB 会告警;最大的文件是 76.7 MB,仍在 100 MB 硬上限之内。这里刻意不用 Git LFS,这样安装时永远不需要第二个工具。

在新机器上首次运行

安装插件不会安装 Python 运行时。bootstrap 没跑过一次之前,内核会拒绝启动,并给出提示:Run the bundled scripts/bootstrap.ps1 or set repoRoot/pythonPath。

1. 安装 uv。 Bootstrap 依赖它,缺失就直接退出;uv 还会为虚拟环境拉取 Python 3.11 解释器。

2. 在 PowerShell 里跑一次 bootstrap:

cd <plugin directory>
.\scripts\bootstrap.ps1

它会在 %LOCALAPPDATA%\dsh-desktop\venv 创建虚拟环境,安装 requirements.txt(onnxruntime、pywinauto、pywebview、playwright、opencv 等,几百 MB,这一步需要联网),并把随包附带的权重复制到 %LOCALAPPDATA%\dsh-desktop\weights。

3. 重启 DSH。 内核在首次使用工具时启动,之后在各会话之间保持可用。

4. 可选 —— 提权宿主。 如果你要自动化那些本身以提权方式运行的应用,请从提权的 PowerShell 里跑一次 scripts/install-elevated-task.ps1。该任务会以 High 完整性级别启动随包附带的内核,它启动的应用可以继承这一权限。

API key

插件复用 DSH 里已经配置好的 DeepSeek key(Settings → Models)。它通过 ctx.credentials 解析 DEEPSEEK_API_KEY 并交给内核,所以环境里不用再设第二份。

如果内核启动时没有 key,提交任务会被拒绝并给出提示。在 DSH 里配置好 key,再调用一次工具——插件会替换掉它自己启动的那个无 key 内核。

key 只用于图标说明文字。没有 key 时,OCR 和图标检测仍在本地运行;未命名的图标只是不带描述。见 数据边界。

浏览器

Web 自动化默认驱动已安装的 Microsoft Edge,所以不用额外下载。设置 DSH_DESKTOP_BROWSER=chromium 可切换到 Playwright 的 Chromium,这需要先执行 playwright install chromium。

浏览器配置档放在状态目录下,所以 web 登录状态不会跨机器迁移 —— 在新主机上重新登录。

安装后自检

1. doraemon_health 返回 status: ok —— bridge 和内核都已就绪。
2. 对任意已绑定窗口调用 doraemon_analyze,返回的 ui_elements 列表非空 —— YOLO 和 OCR 权重已加载。
3. doraemon_web 能打开页面 —— Edge 通道工作正常。

数据边界与「成功」的含义

在屏幕上有私密内容的机器上启用前,先读 docs/data-boundary.md。简要说明:

- OCR(RapidOCR)和图标检测(YOLO)本地运行。
- 图标描述文字是屏幕像素唯一离开机器的地方:有可用密钥时,desktop_analyze(caption=true) 会把标注过的画面和图标裁剪图发到 api.deepseek.com。没有密钥就不发起任何网络请求。
- 工具结果混合三种强度的证据 —— 动作已发出、UI 已变化、业务结果已验证。effect: "confirmed" 只表示屏幕动了,不代表任务成功。

任务窗口生命周期

第一次桌面/浏览器请求会记录一份轻量窗口和浏览器页面基线。任务结束时清理只关闭任务自己启动的窗口和页面,保留要求保留的项,并报告剩余的窗口差异。已有桌面窗口不会仅因为没出现在任务动作里就被关闭。

包变体

这个通用构建不含任何公司专属页面或组件目录。

应用启动会确认新窗口及其进程证据。转发的启动或无法归属的共享进程返回 LAUNCH_UNCONFIRMED;重试前先检查窗口。

提权计划任务的输出追加到配置的 stateDir 下的 kernel.out.log 和 kernel.err.log(旧配置则写到任务主目录的 state 文件夹)。清理会发送正常关闭请求,把弹出的保存提示报告为失败,不会强制终止仅有进程记录的条目。

新的工具入口日志会脱敏常见文本、路径和凭据字段,包括动作批次里的值。已有日志文件保留。
预览分享卡片长什么样 ↓Mrkennyhungry/dsh-cua
分享 · DeepSeek Harness Hub
Mrkennyhungry/dsh-cua

用物理鼠标精准操作 Windows 桌面与浏览器

回到顶部