安装验证:生态插件:`dsh plugin add` 装得上,但未声明 dsh.bundle、不挂载任何插件能力——L1-L5 插件安装验证阶梯不作评级依据;安全扫描照常执行。安装验证详情 →
功能介绍AI
用于 DeepSeek Harness 智能体的 Windows 桌面自动化插件,使智能体能够查看和控制屏幕。
- Windows 桌面自动化
- DeepSeek Harness 智能体集成
- 让智能体感知屏幕画面
能力标签为 AI 推断或 README 规则抽取(见角标),词表受限、未经安装验证;AI = 推断,README = 原文关键词。
安装
dsh plugin --profile web add github:jaychouu/see_the_screen安装方式: GitHub · 运行验证未定论 (L5 unknown)
验证与兼容性○ 生态插件
按插件版本分组:每张卡是该插件版本实测过的 dsh 版本与安装兼容结论(L5 优先)。只列真测过的组合——未列出 = 未实测,不推定兼容。L1–L3 为插件级静态档(与 dsh 版本无关,各 dsh 行同值):在行内「验证等级」格里与 L4/L5 并列显示、标注「静态」,证据体为插件级单份、随行内「查看检查项与证据」出现,不在各版本重复存储。
External credentials(插件级):未检测到
○ 作者未声明 dsh 版本要求 —— 安装不会因版本被拒。
| 插件版本 \ dsh | dsh 0.2.1-rc.2 当前 | dsh 0.2.1-alpha.4 | dsh 0.2.1-alpha.2 | dsh 0.2.0-rc.2 | dsh 0.2.0-rc.1 |
|---|---|---|---|---|---|
| c3d38c | · | · | · | · | · |
| 4df4eb | ○ | ○ | ○ | ○ | ○ |
c3d38clocal2026-09-05
生态插件:`dsh plugin add` 装得上,但未声明 dsh.bundle、不挂载任何插件能力——等级位显示 L5 · 生态插件。
4df4ebgithub○ 生态插件 142026-10-19
https://github.com/jaychouu/see_the_screen
○dsh 0.2.1-rc.2当前2026-10-19生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • 被测插件工件: github · https://github.com/jaychouu/see_the_screen(版本未标注)
ID: see-the-screen@4df4eb@dsh0.2.1-rc.2 · 档位: l4-sandbox
签发:2026-10-19 · 有效至:2026-10-26
查看检查项与证据
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.1-alpha.42026-10-17生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.4
- • 被测插件工件: github · https://github.com/jaychouu/see_the_screen(版本未标注)
ID: see-the-screen@4df4eb@dsh0.2.1-alpha.4 · 档位: l4-sandbox
签发:2026-10-17 · 有效至:2026-10-24
查看检查项与证据
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.1-alpha.22026-10-11生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.2
- • 被测插件工件: github · https://github.com/jaychouu/see_the_screen(版本未标注)
ID: see-the-screen@4df4eb@dsh0.2.1-alpha.2 · 档位: l4-sandbox
签发:2026-10-11 · 有效至:2026-10-18
查看检查项与证据
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.0-rc.22026-10-09生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.2
- • 被测插件工件: github · https://github.com/jaychouu/see_the_screen(版本未标注)
ID: see-the-screen@4df4eb@dsh0.2.0-rc.2 · 档位: l4-sandbox
签发:2026-10-09 · 有效至:2026-10-16
查看检查项与证据
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.2.0-rc.12026-09-30生态插件
- • Node.js: v24.14.0
- • DSH: 0.2.0-rc.1
- • 被测插件工件: github · https://github.com/jaychouu/see_the_screen(版本未标注)
ID: see-the-screen@4df4eb@dsh0.2.0-rc.1 · 档位: l4-sandbox
签发:2026-09-30 · 有效至:2026-10-07
查看检查项与证据
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.7-rc.22026-09-26生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.2
- • 被测插件工件: github · https://github.com/jaychouu/see_the_screen(版本未标注)
ID: see-the-screen@4df4eb@dsh0.1.7-rc.2 · 档位: l4-sandbox
签发:2026-09-26 · 有效至:2026-10-03
查看检查项与证据
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.7-rc.12026-09-24生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.7-rc.1
- • 被测插件工件: github · https://github.com/jaychouu/see_the_screen(版本未标注)
ID: see-the-screen@4df4eb@dsh0.1.7-rc.1 · 档位: l4-sandbox
签发:2026-09-24 · 有效至:2026-10-01
查看检查项与证据
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
该档位在这次扫描中未执行。
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.7-alpha.22026-09-23生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.7-alpha.2
- • 被测插件工件: github · https://github.com/jaychouu/see_the_screen(版本未标注)
ID: see-the-screen@4df4eb@dsh0.1.7-alpha.2 · 档位: l4-sandbox
签发:2026-09-23 · 有效至:2026-09-30
查看检查项与证据
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.6-alpha.22026-09-19生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.2
- • 被测插件工件: github · https://github.com/jaychouu/see_the_screen(版本未标注)
ID: see-the-screen@4df4eb@dsh0.1.6-alpha.2 · 档位: l4-sandbox
签发:2026-09-19 · 有效至:2026-09-26
查看检查项与证据
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.6-alpha.12026-09-17生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.6-alpha.1
- • 被测插件工件: github · https://github.com/jaychouu/see_the_screen(版本未标注)
ID: see-the-screen@4df4eb@dsh0.1.6-alpha.1 · 档位: l4-sandbox
签发:2026-09-17 · 有效至:2026-09-24
查看检查项与证据
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.5-rc.22026-09-11生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.5-rc.2
- • 被测插件工件: github · https://github.com/jaychouu/see_the_screen(版本未标注)
ID: see-the-screen@4df4eb@dsh0.1.5-rc.2 · 档位: l4-sandbox
签发:2026-09-11 · 有效至:2026-09-18
查看检查项与证据
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.3-alpha.22026-09-08生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.3-alpha.2
- • 被测插件工件: github · https://github.com/jaychouu/see_the_screen(版本未标注)
ID: see-the-screen@4df4eb@dsh0.1.3-alpha.2 · 档位: l4-sandbox
签发:2026-09-08 · 有效至:2026-09-15
查看检查项与证据
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○dsh 0.1.3-alpha.12026-09-07生态插件
- • Node.js: v24.14.0
- • DSH: 0.1.3-alpha.1
- • 被测插件工件: github · https://github.com/jaychouu/see_the_screen(版本未标注)
ID: see-the-screen@4df4eb@dsh0.1.3-alpha.1 · 档位: l4-sandbox
签发:2026-09-07 · 有效至:2026-09-14
查看检查项与证据
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
○版本史前2026-10-05生态插件
- • Node.js: v24.14.0
- • DSH: unknown
- • 被测插件工件: github · https://github.com/jaychouu/see_the_screen(版本未标注)
ID: see-the-screen@4df4eb@dshunknown · 档位: l4-sandbox
签发:2026-10-05 · 有效至:2026-10-12
查看检查项与证据
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
本次为 L5 Web 冒烟专项扫描,该档位不在范围内;结果见更早的标准档记录
未出现在 Web 档 loader 清单中
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
作者徽章
将官方徽章嵌入你的 README,展示插件的安全与安装检测状态:
`[](https://www.dsh.so/artifact/see-the-screen/)`安全报告
两层自动化检查,都不是人工审核:静态扫描(逐插件规则判定)与模型驱动的动态安全审计(只覆盖静态判定 warn 及以上的插件子集,不执行插件代码)。
静态扫描 低,动态审计最高 高,按「取更严者」→ 总评级 高。
v1.0.01.0.0git2026-10-211.0.0版本一致clean · gitvet 为 AST 静态扫描(npm 发布物或 git 源码)。
静态发现(10 条)
- 严重shellExec · shell
src/plugins/desktop-control/index.ts:816execSync(`start "" "${appPath}"`, { windowsHide: true, shell: 'cmd.exe', timeout: 15000 }); - 严重shellExec · shell
src/plugins/desktop-control/index.ts:1043const result = execSync( - 严重shellExec · shell
src/plugins/desktop-vision/index.ts:858const result = execSync( - 严重shellExec · shell
src/plugins/safety-guard/index.ts:229execSync(`powershell -Command "${psScript.replace(/"/g, '\\"')}"`, { windowsHide: true, timeout: 2000 }); - 严重shellExec · shell
src/server.ts:55execSync(`start "" "${url}"`, { windowsHide: true, shell: 'cmd.exe' }); - 警告childProcess · code-exec
src/plugins/desktop-control/index.ts:819const child = spawn(appPath, args, { - 警告childProcess · code-exec
src/plugins/desktop-control/index.ts:1018const child = spawn('powershell', [ - 警告fsWrite · files
src/plugins/desktop-control/index.ts:1012fs.writeFileSync(tmpFile, '\ufeff' + dpiPreamble + '\n' + script, { encoding: 'utf8' }); - 警告fsWrite · files
src/plugins/desktop-control/index.ts:1041fs.writeFileSync(tmpFile, '\ufeff' + dpiPreamble + '\n' + script, { encoding: 'utf8' }); - 警告fsWrite · files
src/plugins/desktop-vision/index.ts:856fs.writeFileSync(tmpFile, '\ufeff' + dpiPreamble + '\n' + script, { encoding: 'utf8' });
展开 6 条审计发现
- highrun_command 工具会执行 LLM 提供的任意系统命令
src/plugins/desktop-control/index.ts:329该工具把原始 command 字符串直接交给 child_process.exec,没有白名单、沙箱或参数校验,等于赋予调用模型的(以及任何能影响其上下文的人,例如通过屏幕文本或 Web UI 任务接口)以当前用户权限在 Windows 上执行任意命令的能力。
- high无鉴权的本地 Web/WebSocket 接口可驱动代理并执行命令
src/server.ts:108HTTP 路由(/api/task、/api/command)与路径 '/ws' 的 WebSocket(第 34 行)都不需要鉴权,也不校验 Origin。WebSocket 不受同源策略保护,因此只要用户在 Web UI 运行时访问任意恶意网页,该网页即可连接 ws://127.0.0.1:3000/ws 提交任务/命令;结合 run_command 与桌面控制工具,可导致由网页触发的命令执行与完整桌面控制。
- highlaunch_app 使用未校验的 appPath 拼接 shell 命令(命令注入)
src/plugins/desktop-control/index.ts:813appPath 直接来自模型的工具参数:URL 形态的值被插入 cmd.exe 命令行,非 URL 分支则使用 spawn(appPath, args, { shell: true })(第 816-821 行)。若值中包含 cmd 元字符(例如引号加 '& calc'),即可执行额外的任意命令,因此 launch_app 是第二条更隐蔽的任意命令执行路径。
- medium不可信的屏幕文本被原样返回给决定工具调用的智能体上下文
src/plugins/desktop-vision/index.tsOCR 结果与窗口标题(可被攻击者影响:网页、聊天消息、文件名)被原样写入返回给 LLM 的工具结果,没有数据/指令隔离或来源标记。任何包含指令的页面或窗口文本都可诱导模型调用 run_command、launch_app 或 type_text——形成通向本地命令执行的间接提示注入路径。
- medium工具参数被插入 PowerShell 双引号字符串且未屏蔽 $() 子表达式
src/plugins/desktop-control/index.ts:905escapePS 只做单引号加倍与双引号转义;在 PowerShell 双引号字符串中,形如 $(Start-Process calc) 的内容仍会被求值,因此窗口标题关键词(模型会从攻击者可控的窗口标题中复制)可执行任意 PowerShell。desktop-vision 的 region 对象也存在同样模式(截图脚本中的 "${regionStr}"),且同样没有数值校验。
- low全屏截图被持久化到磁盘且无自动清理
src/plugins/desktop-vision/index.ts每次截图都会把整屏 PNG(可能包含密码、私人聊天、令牌)写入 <cwd>/temp/screenshots。cleanupTempFiles() 虽存在但在已采集代码中从未被调用,且默认 saveScreenshot=true 会保留文件,导致明文的屏幕截图无限累积。
该Windows桌面自动化代理暴露无限制命令执行(run_command/launch_app)、无鉴权的本地Web/WS控制接口,且屏幕文本会直接进入LLM工具调用链。
口径:动态审计只会把风险往严重里判,不会把风险降下来(只升不降,不构成豁免);模型判错时由人工复核撤回,撤回后回到静态判定。合并判定 = 两层中更严的那一个。
免责声明:静态扫描与动态安全审计都是自动化分析,不构成安全保证。安装前请自行审查。
活跃度
最近提交 2026-09-04 · 活跃度:稳定
• 仓库创建: 2026-09-04
• 星标: ★ 0 · 复刻: 0
• 健康度: 稳定 — 近 90 天有提交
来源
作者 README
GitHub 原文 ↗展示作者仓库中的原始 README 内容,实时抓取、未做改写;优先加载中文版(README.zh-CN.md 等),无中文版时回退英文。
