安装验证:运行验证通过 (L5) · 验证于 dsh 0.2.1-rc.2 · 验证日期 安装验证详情 →
功能介绍AI
DeepSeek Harness 桌面版重启插件,提供多处重启入口并清理残留的临时快照。
- 在侧栏、会话标题栏、设置页添加重启入口,并提供 /restart desktop 斜杠命令
- 每个入口都可在插件设置里单独开关
- 启动时清理 DSH 残留的临时快照,并可隐藏意见反馈菜单项
能力标签为 AI 推断或 README 规则抽取(见角标),词表受限、未经安装验证;AI = 推断,README = 原文关键词。
安装
dsh plugin --profile web add @luoshuizhiwei/dsh-desktop-restart安装方式: npm · 运行验证通过 (L5)
验证与兼容性
按插件版本分组:每张卡是该插件版本实测过的 dsh 版本与安装兼容结论(L5 优先)。只列真测过的组合——未列出 = 未实测,不推定兼容。L1–L3 为插件级静态档(与 dsh 版本无关,各 dsh 行同值):在行内「验证等级」格里与 L4/L5 并列显示、标注「静态」,证据体为插件级单份、随行内「查看检查项与证据」出现,不在各版本重复存储。
External credentials(插件级):未检测到
○ 作者未声明 dsh 版本要求 —— 安装不会因版本被拒。
| 插件版本 \ dsh | dsh 0.2.1-rc.2 当前 | dsh 0.2.1-alpha.2 |
|---|---|---|
| 0.4.4 | · | · |
| 0.3.3 | ✓ | ✓ |
| v0.3.0 | · | · |
0.4.4npm2026-10-21
@luoshuizhiwei/dsh-desktop-restart
该版本无运行时安装实测(仅静态扫描)——兼容性未知,不推定。
0.3.3npm✓ 运行验证通过 22026-10-19
@luoshuizhiwei/dsh-desktop-restart
✓dsh 0.2.1-rc.2当前2026-10-19L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-rc.2
- • 被测插件工件: npm · @luoshuizhiwei/dsh-desktop-restart@0.3.3
ID: dsh-desktop-restart@0.3.3@dsh0.2.1-rc.2 · 档位: l4-sandbox
签发:2026-10-19 · 有效至:2026-10-26
查看检查项与证据
↳ 沿用自更早记录 dsh-desktop-restart@0.4.4@dsh0.2.1-rc.2(l3-fullscan)
↳ 沿用自更早记录 dsh-desktop-restart@0.4.4@dsh0.2.1-rc.2(l3-fullscan)
↳ 沿用自更早记录 dsh-desktop-restart@0.4.4@dsh0.2.1-rc.2(l3-fullscan)
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
✓dsh 0.2.1-alpha.22026-10-15L5 · 运行验证通过
- • Node.js: v24.14.0
- • DSH: 0.2.1-alpha.2
- • 被测插件工件: npm · @luoshuizhiwei/dsh-desktop-restart@0.3.3
ID: dsh-desktop-restart@0.3.3@dsh0.2.1-alpha.2 · 档位: l3-fullscan
签发:2026-10-15 · 有效至:2026-10-22
查看检查项与证据
↳ 沿用自更早记录 dsh-desktop-restart@0.4.4@dsh0.2.1-rc.2(l3-fullscan)
↳ 沿用自更早记录 dsh-desktop-restart@0.4.4@dsh0.2.1-rc.2(l3-fullscan)
↳ 沿用自更早记录 dsh-desktop-restart@0.4.4@dsh0.2.1-rc.2(l3-fullscan)
已在加载器目录树中激活(150 个条目)
L1–L3 为插件级静态结论(基础门槛,全 dsh 版本相同):证据为插件级单份,不在各版本重复存储。
v0.3.0github2026-10-14
https://github.com/luoshuizhiwei/dsh-desktop-restart
该版本无运行时安装实测(仅静态扫描)——兼容性未知,不推定。
作者徽章
将官方徽章嵌入你的 README,展示插件的安全与安装检测状态:
`[](https://www.dsh.so/artifact/dsh-desktop-restart/)``[](https://www.dsh.so/artifact/dsh-desktop-restart/)`安全报告
两层自动化检查,都不是人工审核:静态扫描(逐插件规则判定)与模型驱动的动态安全审计(只覆盖静态判定 warn 及以上的插件子集,不执行插件代码)。
静态扫描 低,动态审计最高 中,按「取更严者」→ 总评级 中。
v0.4.4dsh 清单0.4.4npm2026-10-210.4.4版本一致clean · npmvet 为 AST 静态扫描(npm 发布物或 git 源码)。
静态发现(11 条)
- 警告childProcess · code-exec
lib/helper.cjs:246const child = spawn(shell, ['-NoProfile', '-NonInteractive', '-EncodedCommand', encoded], { - 警告childProcess · code-exec
lib/helper.cjs:492const child = spawn(exe, relaunchArgs ?? [], { - 警告shellExec · shell
lib/helper.cjs:205out = execFileSync(shell, ['-NoProfile', '-NonInteractive', '-EncodedCommand', encoded], { - 警告shellExec · shell
lib/helper.cjs:317execFileSync('taskkill', ['/PID', String(pid), '/F'], { stdio: 'ignore', windowsHide: true }) - 警告shellExec · shell
lib/helper.cjs:336const out = execFileSync('tasklist', args, { encoding: 'utf8', windowsHide: true }) - 警告fsWrite · files
lib/helper.cjs:592fs.appendFileSync(logPath, `[${new Date().toISOString()}] ${line}\n`) - 警告childProcess · code-exec
lib/index.js:668const helper = spawn(process.execPath, [HELPER_PATH, handoffPath], { - 警告netIp · network
lib/index.js:408return new URL(url ?? '/', 'http://127.0.0.1').searchParams.get('force') === '1' - 警告netIp · network
lib/index.js:421return new URL(url ?? '/', 'http://127.0.0.1').searchParams.get('wait') === '1' - 警告netIp · network
lib/index.js:434return new URL(url ?? '/', 'http://127.0.0.1').searchParams.get('cancelWait') === '1' - 警告netIp · network
scripts/smoke.mjs:118origin: overrides.origin ?? 'http://127.0.0.1:19387',
展开 3 条审计发现
- medium重启接口没有共享密钥,本机任意进程都能强制结束并重启桌面应用
lib/index.js:278授权完全建立在启发式判据上:回环对端、回环 Host,加上 Origin 与 Host 相同,或在没有 Origin 时走 desktopForwarded()(只要求没有 Sec-Fetch-Site / 转发头)。浏览器的跨站 POST 会被挡住,但任何本机进程只要不带 Origin,就能 POST /dsh-desktop-restart/api/restart?force=1 通过校验,绕过「有任务在跑」守卫,让 helper 对 Electron 主进程执行 taskkill /F 并重新拉起,打断正在进行的智能体工作。Windows 上回环并不按用户隔离,其他已登录用户访问 127.0.0.1 同样能做到。
- low客户端默认用文字匹配修改 DOM,隐藏宿主内置的账号菜单项
lib/client.js插件用一个观察整个 document.body 子树的 MutationObserver,在用户未主动开启的情况下就把宿主内置的「意见反馈」入口从界面移除,且这发生在本插件注册的座位之外;用户只有打开插件设置页才会知道。判定只按按钮文字,宿主若复用同一文案也会被一并隐藏,直到用户手动关掉开关。
- low路径信息不可得时,helper 会按映像名结束所有同名进程
lib/helper.cjs当编码 PowerShell 查询失败、或没有任何条目匹配目标可执行文件路径时,helper 退化为只按映像名匹配,并对除 helper/主进程/host 之外的所有同名 pid 执行 taskkill /F。因此同一应用的另一份安装或便携副本可能被结束,而文件其余部分精心保持的进程身份校验在这条兜底路径上被静默放弃。
重启路由仅凭回环+Origin 判定且无共享密钥,本机任意进程可强制重启;客户端默认隐藏宿主内置菜单项。
口径:动态审计只会把风险往严重里判,不会把风险降下来(只升不降,不构成豁免);模型判错时由人工复核撤回,撤回后回到静态判定。合并判定 = 两层中更严的那一个。
免责声明:静态扫描与动态安全审计都是自动化分析,不构成安全保证。安装前请自行审查。
活跃度
最近提交 2026-10-21 · 活跃度:活跃
• 仓库创建: 2026-10-05
• 星标: ★ 3 · 复刻: 0
• 健康度: 活跃 — 近 30 天有提交
来源
作者 README
GitHub 原文 ↗展示作者仓库中的原始 README 内容,实时抓取、未做改写;优先加载中文版(README.zh-CN.md 等),无中文版时回退英文。
