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

电脑操作 jing-hy/computer-user

DeepSeek Harnessv0.5.9
jing-hy5 天前有提交已提供中文文档扫描:含敏感能力

给 DeepSeek Harness 的 Windows 电脑操控插件Codex 风格。 模型能看屏幕、点鼠标、敲键盘…

39/100
综合分
5
GitHub 星标
2,563
npm 周下载
—/5
用户评分

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

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

状态速览

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

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

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

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

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

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 19:57:32

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 19 处,展示前 18 条)
  • 发起网络请求
    src/tools.js:653
    const res = await fetch(url, opts);
  • 执行外部命令固定命令
    src/ps.js:28
    const child = spawn(
  • 读取本地文件
    src/ps.js:101
    return existsSync(GUARD_STOP_FLAG);
  • 写入本地文件
    src/ps.js:107
    mkdirSync(GUARD_DIR, { recursive: true });
  • 写入本地文件
    src/ps.js:108
    writeFileSync(GUARD_STOP_FLAG, 'reason=' + reason + ' at=' + new Date().toISOString(), 'utf8');
  • 删除本地文件
    src/ps.js:114
    try { rmSync(GUARD_STOP_FLAG, { force: true }); } catch { }
  • 读取本地文件
    src/ps.js:127
    const raw = readFileSync(GUARD_PID_FILE, 'utf8').trim();
  • 删除本地文件
    src/ps.js:133
    try { rmSync(GUARD_PID_FILE, { force: true }); } catch { }
  • 删除本地文件
    src/ps.js:134
    try { rmSync(join(GUARD_DIR, 'guard.json'), { force: true }); } catch { }
  • 删除本地文件
    src/ps.js:135
    try { rmSync(GUARD_LOCK, { force: true }); } catch { }
  • 读取本地文件
    src/ps.js:146
    const raw = readFileSync(GUARD_PID_FILE, 'utf8').trim();
  • 读取本地文件
    src/ps.js:167
    const startedAt = existsSync(GUARD_LOCK) ? statSync(GUARD_LOCK).mtimeMs : 0;
  • 读取本地文件
    src/ps.js:167
    const startedAt = existsSync(GUARD_LOCK) ? statSync(GUARD_LOCK).mtimeMs : 0;
  • 写入本地文件
    src/ps.js:169
    mkdirSync(GUARD_DIR, { recursive: true });
  • 写入本地文件
    src/ps.js:170
    writeFileSync(GUARD_LOCK, String(Date.now()), 'utf8');
  • 执行外部命令固定命令
    src/ps.js:176
    const child = spawn(
  • 写入本地文件
    src/ps.js:187
    writeFileSync(join(GUARD_DIR, 'guard.spawn.json'), JSON.stringify({ at: new Date().toISOString(), ok: false, error: String(error?.message || error), s
  • 写入本地文件
    src/ps.js:192
    writeFileSync(join(GUARD_DIR, 'guard.spawn.json'), JSON.stringify({ at: new Date().toISOString(), ok: true, pid: child.pid ?? null, scriptPath }), 'ut
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

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

功能亮点

  • 读取屏幕内容
  • 驱动鼠标键盘
  • 看-做-验闭环

DSH 插件:Windows 上的 Codex 式电脑操作——读屏,用 SendInput 驱动鼠标键盘;搭配 picturereader 闭环「看-做-验」。

v0.5.92026-10-29
· 电脑操作 0.5.9 0.5.x 这一串版本把 computer-user 从「能截图能点击」做成了「agent 可以安心接管」:21 个工具、UI Automation 结构化观测、 会跟着虚拟桌面走的接管提示条、以及在 DSH 界面里和官方插件长得一样的入口。 · 观测与输入(0.5.0) · computer_screenshot 返回 PNG 路径 + 前台窗口,有视觉的模型直接 read_image(path);picturereader 从必需降为可选。 · 新增 computer_snapshot + computer_invoke / computer_set_value / computer_focus:按控件名操作,不移动鼠标、不抢前台。 · 新增窗口工具 computer_list_windows / computer_activate_window / computer_move_window / computer_close_window。 · computer_wait 支持 window / target / title_contains + timeout_ms 条件等待;computer_screenshot 支持 expected_window 围栏。 · 工具分档 tool_mode=all|lite|custom、computer_doctor 自检、computer_browser(只读 CDP 页面列表,0.5.1)。 · 接管提示条 · 屏幕上方居中的蓝色圆角提示条:WPF 渲染(ClearType 矢量字、真圆角、投影),标题 + 「请勿操作鼠标 · 按 Ctrl+Alt+Esc 停止」(0.5.2)。 · 跟着虚拟桌面切换:每 1.5 秒用公开 IVirtualDesktopManager::IsWindowOnCurrentVirtualDesktop 检测,不在当前桌面就重建窗口并重注册热键(0.5.3)。 · computer_stop 软关闭(0.5.6):任务结束 agent 自己收掉提示条,批准保留;hard: true 才是真急停。 · 0.5.7 修了三个叠加的「进程活着但看不见窗口」:detached: true 在 Windows 上是 DETACHED_PROCESS(PowerShell 立刻退出)、tick 里 PeekMessage 把 dispatcher 自己的消息吃掉、DispatcherTimer 被 GC。 · 与 DSH 界面一致 · 插件清单显示「电脑操作 / Computer Use」+ 蓝色光标图标:locale/zh.json、locale/en.json、package.json.icon,exports 导出 ./locale/*(0.5.4)。 · 斜杠菜单里 /computer 显示为 [空心光标] 电脑操作 computer · 批准或撤销电脑操作(0.5.8,0.5.9 改成空心描边并去掉图标与文字间距)。 宿主的命令 schema 只接受 name / description,图标与本地化标签在客户端私有表里 —— 这里和 meow-memory 一样,在 client 侧用 MutationObserver + [data-trigger-menu] 装饰渲染出来的那一行,宿主换结构时最坏退回原样、不报错。 · 稳定性 · locator 现在带 automation id(|a=),优先级高于序号 —— 浅层快照和深层重走之间 i= 会漂移,a= 不会(0.5.5)。 · computer_doctor 返回值去掉 undefined 字段(宿主要求 lossless JSON)。 · 提示条启动锁(guard.lock)+ 诊断日志(guard.spawn.json / guard.debug.log / guard.desktop.log)。 · 兼容性 | DSH | 状态 | |---|---| | 0.2.0-rc.1 … 0.2.2-alpha.2 | 支持;门禁 @deepseek-ai/dsh-settings >=0.1.0-rc.6 <0.3.0-0 | | 0.1.0-rc.6 … 0.1.7-rc.2 | 支持,走 0.1.x 命名空间 settings scope | | 0.3.0 及以后 | 未验证,门禁不放行 | Windows 10/11 x64;PowerShell 5.1 实测。 · 安装 dsh plugin --profile desktop add computer-user 重启 DSH:工具在所有会话可用,设置卡在「设置 → 电
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。

README

由 DeepSeek 最新模型翻译生成
computer-user 给 DeepSeek Harness 的 Windows 电脑操控插件(Codex 风格)。 模型能看屏幕、点鼠标、敲键盘 —— 也能直接按名字操作 UI Automation 控件。没有 sidecar,不需要编译原生模块。 computer-user 是 DeepSeek Harness 的一个 bundle,给 agent 提供二十一个 computer_ 工具:截图、UI Automation 控件树、鼠标键盘输入、窗口控制,以及一个带全局停止热键、会跟着你切虚拟桌面的接管提示条。 它就是一个普通 DSH 插件:package.json + 一份 cordis.patch.yml + 设置卡 + 三个 PowerShell 脚本。 没有原生插件、没有常驻 daemon、不走 MCP 桥。 为什么选这个 - 原生 DSH bundle,不是转接层。 工具走 ctx.tools.register;设置走 0.2.x 的 SettingsForms 条目; Web 卡片是一等公民的 settings section,而不是另开一页。 - 零原生依赖。 输入用 SendInput,截图用 GDI,观测用 UI Automation —— 全部走系统自带的 Windows PowerShell 5.1。 - 视觉可选。
展开完整文档(README 剩余 1 节)
computer-user

给 DeepSeek Harness 的 Windows 电脑操控插件(Codex 风格)。 模型能看屏幕、点鼠标、敲键盘 —— 也能直接按名字操作 UI Automation 控件。没有 sidecar,不需要编译原生模块。

computer-user 是 DeepSeek Harness 的一个 bundle,给 agent 提供二十一个 computer_ 工具:截图、UI Automation 控件树、鼠标键盘输入、窗口控制,以及一个带全局停止热键、会跟着你切虚拟桌面的接管提示条。

它就是一个普通 DSH 插件:package.json + 一份 cordis.patch.yml + 设置卡 + 三个 PowerShell 脚本。
没有原生插件、没有常驻 daemon、不走 MCP 桥。

为什么选这个

- 原生 DSH bundle,不是转接层。 工具走 ctx.tools.register;设置走 0.2.x 的 SettingsForms 条目; Web 卡片是一等公民的 settings section,而不是另开一页。
- 零原生依赖。 输入用 SendInput,截图用 GDI,观测用 UI Automation —— 全部走系统自带的 Windows PowerShell 5.1。
- 视觉可选。 computer_screenshot 返回 PNG 路径:有视觉的模型调 read_image,纯文本模型用 picturereader 的 OCR,而 computer_snapshot 完全不看像素、直接按控件名操作。
- 叫停就停。 agent 接管期间屏幕上方会出现蓝色提示条;按停止热键(默认 Ctrl+Alt+Esc)或点按钮会写停止标记,之后任何调用都会明确拒绝,直到用户重新批准。一段任务结束、暂时不用了,agent 自己也能调 computer_stop 把提示条收掉(保留批准,随时可以再来);提示条还会跟着虚拟桌面切换。
- 不会点到旧位置。 元素 id 每次动作都重新解析,截图还可以用 expected_window 做前台窗口围栏 ——界面变了就直接报错。

快速开始

npm:

npm install computer-user

DSH profile:

dsh plugin --profile desktop add computer-user

重启 DSH:工具在所有会话可用,设置卡出现在「设置 → 电脑操作」。

从源码:

git clone https://github.com/jing-hy/computer-user.git
cd computer-user
npm install --no-save @deepseek-ai/schemastery@3.18.5 # peer 依赖,运行时由宿主提供
node --test

闭环

computer_screenshot -> PNG 路径 + 前台窗口
read_image(path) -> 有视觉的模型直接看图(纯文本用 image_ocr / image_scan)
computer_snapshot -> UI Automation 控件树,每个元素一个可重放 id computer_invoke / set_value -> 按名字操作控件,不动鼠标 computer_screenshot -> 验证(可传 expected_window 做围栏)

坐标方式同样保留:所有输入工具都收虚拟屏像素,computer_screenshot 返回 virtual_offset,多屏也对得上。

工具

二十一个工具。tool_mode 可以收敛到 9 个常用工具。

| 分组 | 工具 |
| 观测 | computer_screenshot、computer_snapshot、computer_list_windows、computer_get_cursor_position |
| 指针与键盘 | computer_click、computer_type、computer_keypress、computer_scroll、computer_drag、computer_move_mouse |
| 控件操作 | computer_invoke、computer_set_value、computer_focus |
| 窗口 | computer_activate_window、computer_move_window、computer_close_window |
| 等待 | computer_wait —— 固定等待,或等到窗口 / 元素 / 标题出现 |
| 运行时 | computer_doctor、computer_browser(只读 CDP 列表)、computer_set_mode |
| 收尾 | computer_stop —— 关掉提示条、结束本次接管(保留批准;hard: true 才是急停) |

元素 id 形如 h=<hwnd>|r=<Role>|n=<Name>|i=<nth>|a=<autoId>,每次动作都重新解析 —— 旧快照里的 locator 会报错,而不是点到挪过去的新控件。a= 是 automation id,优先级高于序号:浅层快照和深层重走之间 i= 会漂移,a= 不会。

在 DSH 界面里的样子

- 插件清单显示为「电脑操作」+ 蓝色光标图标(locale/zh.json、locale/en.json、package.json.icon)。
- 斜杠菜单里显示为 [空心光标] 电脑操作 computer · 批准或撤销电脑操作。名字和图标是 client 侧装饰出来的—— 宿主的命令 schema 只收 name / description,图标与本地化标签在官方私有表里,插件注入不进去。
- 设置卡在「设置 → 电脑操作」。

设置

这张卡写的是插件条目的 Config(所有字段都可热改)。

| 字段 | 默认 | 作用 |
| mode | manual | disabled 全拒;readonly 只允许观测;manual 需要 /computer;auto 自由调用 |
| ai_can_change_mode | false | AI 能否通过 computer_set_mode 自己改模式 |
| screenshot_dir | 空 | 截图输出目录(空 = 系统临时目录) |
| default_scale | 1 | 截图默认缩放 0.1–1 |
| typing_interval_ms | 0 | 逐字输入间隔 |
| scroll_units | 1 | 每次滚动的格数(每格 120 WHEEL delta) |
| output_guard | true | 把伪工具调用/XML 写成对话文本时打回;同内容第二次放行 |
| debug | false | 日志里打印 PowerShell 脚本路径 |
| tool_mode | all | all / lite / custom |
| enabled_tools | [] | custom 时的白名单(空 = 全部) |
| stop_hotkey | ctrl+alt+esc | 提示条上显示的停止热键;提示条按钮始终有效 |
| takeover_minutes | 30 | 提示条多久后自动收起(并停止);0 = 不自动收起 |
| takeover_message | 空 | 提示条标题;{key} 会替换成热键 |
| cdp_port | 0 | Chromium --remote-debugging-port,供 computer_browser 使用(0 = 关闭) |
| approve_observe | false | 开启后,截图 / 控件快照 / 窗口列表在 manual 模式下也要 /computer |

安全模型

- 模式。 disabled / readonly / manual / auto;readonly 下观测工具仍然可用。
- 会话批准。 manual 下副作用工具拒绝执行,直到用户在该会话输入 /computer;再输一次撤销批准。
- 接管提示条与停止键。 任何副作用调用都会拉起提示条(屏幕上方居中,蓝色圆角,显示「请勿操作鼠标」)。
热键、提示条按钮或超时都会写停止标记;之后所有调用都返回明确的「已急停」错误,直到重新批准。
提示条是独立进程,输入后端忙时热键依然有效。
- 观测也可以要求批准(可选)。 approve_observe 把批准要求扩展到截图与控件快照 —— 适合「看一眼屏幕本身也敏感」的场景。默认关闭。
- 过期拒绝。 locator 每次重新解析;截图可加 expected_window 围栏。

工作原理

flowchart LR
A[Agent] -->|computer_ tools| B[computer-user host bundle]
B -->|capture.ps1| C[PNG + 前台窗口]
B -->|input.ps1| D[SendInput 鼠标 / 键盘]
B -->|observe.ps1| E[UI Automation 控件树 / locator / 窗口]
B -->|guard.ps1| F[接管提示条 + 停止热键]
C --> G{看}
G -->|有视觉| H[read_image]
G -->|纯文本| I[picturereader OCR]

宿主半侧注册工具并读取自己的 Config 条目;浏览器半侧(client.js)通过 ctx.configForms 和官方设置表单的样式词汇渲染设置卡。

兼容性

| DSH | 状态 |
| 0.2.0-rc.1 … 0.2.2-alpha.2 | 支持;门禁为 @deepseek-ai/dsh-settings >=0.1.0-rc.6 <0.3.0-0 |
| 0.1.0-rc.6 … 0.1.7-rc.2 | 支持,走 0.1.x 的命名空间 settings scope |
| 0.3.0 及以后 | 未验证,门禁不放行 |

Windows 10/11 x64;截图与 UIA 路径在 Windows PowerShell 5.1 上实测。

开发

node --test # 78 项:工具、门禁、提示条、设置卡、入口形状

布局:src/index.js(入口 / 命令 / 输出守卫)、src/tools.js(工具面与门禁)、src/ps.js(PowerShell 调用 + 提示条状态)、src/capture.ps1 / src/input.ps1 / src/observe.ps1 / src/guard.ps1、client.js(设置卡)、 tests/。

许可

MIT
预览分享卡片长什么样 ↓jing-hy/computer-user
分享 · DeepSeek Harness Hub
jing-hy/computer-user

给 DeepSeek Harness 的 Windows 电脑操控插件Codex 风格。 模型能看屏幕、点鼠标、敲键盘…

回到顶部