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

重启提醒 x3416067-bit/dsh-plugin-restart-prompt

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

插件变动后一键静默重启,并可展开查看本次改动差异

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
L4 · 真实安装等级说明 →
数据截至 2026/10/23·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 13 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

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

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

可执行外部命令发起外部网络请求
查看扫描证据(共 5 处,展示前 5 条)
  • 执行外部命令来自配置/变量
    lib/index.js:421
    const result = spawnSync(wscript, ['//B', '//Nologo', launcherScript], {
  • 执行外部命令来自配置/变量
    lib/index.js:446
    const child = spawn(host, args, { detached: true, stdio: 'ignore', windowsHide: true })
  • 发起网络请求
    lib/client.js:94
    return fetch(PREFIX + path, { method: 'POST', cache: 'no-store' })
  • 发起网络请求
    lib/client.js:250
    fetch(PREFIX + '/changes.json', { cache: 'no-store' })
  • 发起网络请求
    lib/client.js:288
    fetch(PREFIX + '/state.json', { cache: 'no-store' })
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DSH 插件变动后提示「重启 DSH」,一键静默重启(无黑框),并可展开本次改动差异。

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-restart-prompt DSH 插件变动后提示「重启 DSH」,并一键完成静默重启(全程无命令提示符窗口);同一张卡片上还能展开「查看变动」,看这次到底改了什么。 仅 Windows。重启链路用 VBScript + WMI + taskkill,依赖 wscript.exe 与 System32\taskkill.exe。 English · 安装 · 接口 它解决什么 DSH 的插件组合在宿主启动时构建:装完 / 更新完 / 卸掉一个插件,界面不会自己变,必须重启 DSH。手动重启的麻烦在于——要么在进程管理器里翻出 PID,要么看着终端闪一个黑框,而且如果此刻智能体正在跑任务,重启会直接中断它。 本插件把这条链路收成一张卡片: | 场景 | 表现 | | 配置档的插件清单 / 依赖树落盘变化 | 变化稳定约 0.7s 后在右下角弹出卡片,列出变了什么(插件清单 / 依赖锁 / 补丁层 / 插件目录) | | 点「查看变动」 | 展开面板:逐文件行级差异(+ / − / 上下文),依赖版本变化、dsh.profile.bundles 增删、新增的插件目录 | | 点「重启 DSH」(DSH 空闲) | 直接派发重启,卡片变为「正在重启 DSH…
展开完整文档(README 剩余 1 节)
dsh-plugin-restart-prompt

DSH 插件变动后提示「重启 DSH」,并一键完成静默重启(全程无命令提示符窗口);同一张卡片上还能展开「查看变动」,看这次到底改了什么。

仅 Windows。重启链路用 VBScript + WMI + taskkill,依赖 wscript.exe 与 System32\taskkill.exe。

English · 安装 · 接口

它解决什么

DSH 的插件组合在宿主启动时构建:装完 / 更新完 / 卸掉一个插件,界面不会自己变,必须重启 DSH。手动重启的麻烦在于——要么在进程管理器里翻出 PID,要么看着终端闪一个黑框,而且如果此刻智能体正在跑任务,重启会直接中断它。

本插件把这条链路收成一张卡片:

| 场景 | 表现 |
| 配置档的插件清单 / 依赖树落盘变化 | 变化稳定约 0.7s 后在右下角弹出卡片,列出变了什么(插件清单 / 依赖锁 / 补丁层 / 插件目录) |
| 点「查看变动」 | 展开面板:逐文件行级差异(+ / − / 上下文),依赖版本变化、dsh.profile.bundles 增删、新增的插件目录 |
| 点「重启 DSH」(DSH 空闲) | 直接派发重启,卡片变为「正在重启 DSH…」 |
| 点「重启 DSH」(DSH 正在工作) | 先弹确认框「DSH 正在工作 / 正在进行的任务会被中断」,「是」为红色高亮,点「是」才重启 |
| 点「稍后」 | 收起卡片;下一次变动会重新提示 |

重启怎么实现(全程无窗口)

两段 VBScript,由 wscript.exe(GUI 子系统,启动时不分配控制台) 承载 → WMI 派生 → taskkill 结束整套 DSH 进程 → 重新拉起外壳 exe。

' launcher.vbs —— 宿主同步执行(约 100ms,退出码 = WMI ReturnValue) Set svc = GetObject("winmgmts:\\.\root\cimv2:Win32_Process")
rv = svc.Create("""C:\Windows\System32\wscript.exe"" //B //Nologo ""...\relaunch.vbs""")
WScript.Quit rv

' relaunch.vbs —— WMI 子进程执行(宿主被杀也不受影响) WScript.Sleep 700 Set sh = CreateObject("WScript.Shell") sh.Run """C:\Windows\System32\taskkill.exe"" /F /T /IM ""<外壳进程名>""", 0, True ' 0 = 窗口隐藏 WScript.Sleep 1800 sh.Run """<DSH 外壳 exe>""", 1, False ' 1 = 正常显示新窗口

关键决策:

| 决策 | 原因 |
| 用 wscript.exe 而不是 powershell.exe / cmd.exe | 后两者是控制台子系统程序,即使 -WindowStyle Hidden 也会先抢一个控制台窗口闪一下;wscript 是 GUI 子系统,从头到尾没有窗口 |
| 用 WMI Win32_Process.Create 派生 | 桌面壳把子进程收进 Job Object,宿主被杀时 detached 子进程会被连带终止;WMI 派生的进程挂在 WmiPrvSE 下,不受宿主 Job 管辖 |
| 一切走绝对路径 | 机器 PATH 里可能既没有 pwsh 也没有 powershell;spawn 失败只异步抛 error(try/catch 抓不到),曾表现为「点了只有动画」 |
| 失败要能看见 | 派发失败或 20 秒内未生效,卡片显示红色错误与「重试」;派发结果追加到 $DSH_HOME/dsh-plugin-restart/relaunch.log |

什么算「插件变动」

只有插件身份变化才提示重启,判定口径:

| 观测面 | 判定方式 |
| package.json | 只比 dependencies 与 dsh.profile.bundles,其它字段(scripts、description…)变了不算 |
| cordis.yml / cordis.patch.yml | 只比插件条目结构(id / name 行);config 段改动不算 |
| pnpm-lock.yaml | 按 mtime / size 变化算(只有装包才会变) |
| node_modules | 比顶层包清单,忽略 .开头的缓存目录 |

因此改推理等级、切模型、调主题这类只写 config 段的设置不会再弹重启卡片。

变动详情面板

- 差异来源:本次变动前后的 package.json、cordis.yml、cordis.patch.yml、pnpm-workspace.yaml 快照;cordis 层只保留 id / name 条目行,不贴 config。
- 行级 diff 为 LCS 实现,改动行上下各留 2 行上下文,其余折成「… 跳过 N 行」,单文件上限 400 行。
- 结构化摘要:依赖版本变化(a 1.0.0 → 1.1.0)、dsh.profile.bundles 增删、node_modules 里新增 / 移除的包。
- pnpm-lock.yaml 体积大,只标注「依赖锁已变化」,不做行级对比。
- 快照只在变动稳定后采集,不增加 1s 轮询的开销;内容不落盘。

安装

dsh plugin --profile desktop add dsh-plugin-restart-prompt

装好后重启 DSH 一次,插件开始工作;此后每次插件变动都由它提示重启。

本地开发(把源码目录 link 进去,改完即生效):

cd ~/.dsh/profiles/desktop
package.json: dependencies 增加 "dsh-plugin-restart-prompt": "link:/path/to/dsh-plugin-restart-prompt" dsh.profile.bundles 末尾增加 "dsh-plugin-restart-prompt"sh
pnpm install

接口

| 方法 | 路径 | 说明 |
| GET | /dsh-restart-prompt/state.json | {needRestart, busy, workingAgents, changes, changedAt, restartRequested} |
| GET | /dsh-restart-prompt/changes.json | {ok, at, changes, sections, profileDir},变动详情(只读) |
| POST | /dsh-restart-prompt/restart.json | 派发重启(仅回环 Host / 同源 Origin,否则 403) |
| POST | /dsh-restart-prompt/dismiss.json | 收起当前提示 |
| GET | /dsh-restart-prompt/client.js | 客户端脚本 |

客户端注入走两条通道:桌面端 webserver/index-inject 内联行、Web 形态 webServer.tapIndex。

隐私

只读 profile 目录下 4 个小配置文件的文本与 node_modules 的目录名,用于本地差异展示;不读取会话内容,不上传任何数据,不发起外部网络请求。

冒烟 sh
node smoke.mjs # 路由 / 注入行 / 变动监听 / 本机栅栏;不会真的重启
node smoke-changes.mjs # 差异计算(构造快照)+ 真实 profile 快照采集

插件有变动后提示你重启 DSH,一键就能重启——静默执行,不弹控制台窗口——还能把改了什么原样列给你看。

仅支持 Windows:重启走 VBScript + WMI Win32_Process.Create + taskkill,所以需要 wscript.exe 和 System32\taskkill.exe。

它做什么

- 监听 profile 的插件清单和依赖树(package.json、pnpm-lock.yaml、cordis*.yml、node_modules)。变动稳定下来后,右下角弹出卡片。
- View changes 打开面板,按文件展示行级差异、依赖版本变动、dsh.profile.bundles 的新增项,以及 node_modules 里新装的包。pnpm-lock.yaml 只报「有变动」,不做差异对比。
- Restart DSH 派发重启。有智能体在跑时先弹确认——Yes 按钮标红,因为进行中的工作会被打断。
- Later 收起卡片;下次变动再提示。

为什么这么实现

wscript.exe 是 GUI 子系统二进制,不像 powershell.exe 或 cmd.exe 那样闪一下控制台。真正的杀进程再拉起放在 WMI 下跑,而不是作为分离子进程,因为桌面 shell 会把子进程放进 Job Object——分离子进程会和它本该替换的宿主一起死掉。全程用绝对路径,因为 PATH 里可能既没有 pwsh 也没有 powershell,而 spawn 失败只会抛异步 error,try/catch 根本接不到。失败时显示红色提示和重试按钮,并追加写入 $DSH_HOME/dsh-plugin-restart/relaunch.log。

隐私:只读 profile 里 4 个小配置文件和已安装模块的名字,仅用于本地展示。不碰会话内容,不发网络请求,不上传任何东西。
预览分享卡片长什么样 ↓x3416067-bit/dsh-plugin-restart-prompt
分享 · DeepSeek Harness Hub
x3416067-bit/dsh-plugin-restart-prompt

插件变动后一键静默重启,并可展开查看本次改动差异

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部