给 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-usernpm 源 · computer-user 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · vision
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 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🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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 闭环「看-做-验」。
最近更新
在 GitHub 查看全部 →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预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
jing-hy/computer-user
给 DeepSeek Harness 的 Windows 电脑操控插件Codex 风格。 模型能看屏幕、点鼠标、敲键盘…
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,359已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,514已汉化DSH
71.8
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,289已汉化DSH
71.6
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 92,675已汉化DSH
71.2
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,522已汉化DSH
71