dsh-restart-key
为 dsh web profile 提供「一键重启」按钮的 dsh 插件。新增插件后想立即生效时非常方便。
按钮位于 设置 → 通用设置 → 繁忙时 Enter 键行为 的下方:左侧为说明,右侧为「重启」按钮。点击后弹出二次确认框,确认后才执行重启;取消则不执行任何操作。

功能
- 在 dsh 通用设置区域中新增原生风格的一行设置。
- 与 dsh web 现有设计语言保持一致,复用同一套 CSS token 与 UI 原语。
- 执行前有二次确认,避免误触。
- 以原命令行、原工作目录、原环境变量重启当前 dsh web 进程。
- 自动轮询新进程,就绪后自动刷新页面。
- 仅面向 web profile;在
dsh web/dsh --profile web之外的调用中,宿主端不会激活。
安装
本地路径安装:
dsh plugin --profile web add link:/绝对路径/dsh-restart-key或从本仓库安装:
dsh plugin --profile web add github:TaNgent-Owl/dsh-restart-key安装完成后,先手动重启一次 dsh web 使插件生效:
dsh web之后在 设置 → 通用设置 中点击「重启」即可快速重启。
工作原理
1. 宿主端注册两个回环路由: - GET /dsh-restart-key/status - POST /dsh-restart-key/restart 2. 客户端确认后调用重启接口。 3. 宿主端先启动一个 supervisor 子进程,再通过 dsh 自身的 appExit 出口请求有界关闭。 4. supervisor 等待旧进程真正退出(超时后强制结束),然后重新执行原始的 dsh web 命令。 5. 客户端轮询 status 路由,直到看到新进程 ID 后自动刷新页面。
文件结构
lib/index.js 宿主端:路由与重启调度
lib/supervisor.cjs 重启监督进程
lib/client.js 浏览器端:设置行与二次确认框
cordis.patch.yml dsh bundle 补丁许可证
MIT