插件变动后一键静默重启,并可展开查看本次改动差异
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 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
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 个小配置文件和已安装模块的名字,仅用于本地展示。不碰会话内容,不发网络请求,不上传任何东西。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
x3416067-bit/dsh-plugin-restart-prompt
插件变动后一键静默重启,并可展开查看本次改动差异
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,270已汉化DSH
70.8
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。