前言¶
DSH 的 web GUI 由一个本地 dsh web 进程提供。修改插件、调整配置或宿主需要刷新时,重启这个进程是常见操作。手动重启需要确认当前命令行、端口、profile 和 workspace,也容易打断当前会话。
dsh-restart-fab 是 DSH 的一个 web 插件:它在 DeepSeek Harness web GUI 的右下角增加一个悬浮按钮,点击确认后在当前页面就地重启宿主,并等待新宿主响应后自动回到页面。
这是什么¶
下面介绍这个插件的基本信息。
- 插件名:
dsh-restart-fab - 维护者:
miisaka19800 - 平台:
web - 许可证:MIT
- 作用:为 DeepSeek Harness web GUI 提供右下角的一键重启按钮,不依赖额外启动脚本。
核心功能¶
下面列出插件已说明的能力。
- 右下角悬浮按钮:第一次点击用于确认,第二次点击触发重启。
- 自包含重启:重启后的宿主使用启动当前宿主的相同命令行,保留 workspace、port、profile 和 flags。
- 跨平台:Windows 使用
taskkill;macOS/Linux 使用SIGTERM,然后使用SIGKILL。 - 快速重启:旧进程在确认约 1.6 秒后被终止,新宿主立即启动。
- 可视化等待:重启期间显示全屏 overlay、spinner 和 elapsed timer;页面每秒轮询宿主,新宿主响应后自动 reload;60 秒后出现 refresh-now 兜底。
- 会话恢复:DeepSeek Harness 会持久化 sessions,重启后会话自动恢复。
- 同源限制:restart route 只接受同源 POST,拒绝来自其他 origin 的请求。
安装与启用¶
README 给出三类安装方式。如果从 npm 安装,README 标注为 package 发布后使用;也可以直接安装 GitHub 仓库或本地 checkout。
从 GitHub 安装:
dsh plugin --profile web add github:miisaka19800/dsh-restart-fab
从本地目录安装:
dsh plugin --profile web add /path/to/dsh-restart-fab
如果 package 已发布,README 给出:
dsh plugin --profile web add dsh-restart-fab
安装完成后,重启一次 DeepSeek Harness。按钮随后在 web GUI 中可用。
卸载插件:
dsh plugin --profile web remove dsh-restart-fab
典型用法¶
经过上面的步骤后,典型使用流程如下。
1、打开 DSH web GUI,页面右下角出现重启按钮。
2、第一次点击按钮,进入确认状态。
3、第二次点击按钮,触发就地重启。
4、页面显示全屏 overlay 和计时器,同时每秒检查新宿主是否响应。
5、新宿主响应后页面自动 reload;如果 60 秒后仍未响应,页面提供 refresh-now 兜底。
重启过程与边界¶
这个插件的重启对象是当前 dsh web 进程。确认后,旧进程会被终止,随后用相同命令行启动新宿主。DeepSeek Harness 的 sessions 依赖持久化恢复,而不是靠旧进程保持运行。
需要区分两种情况:
- 会话可以恢复:DSH 持久化 sessions,重启后对话可继续。
- 正在执行的任务会被中断:重启会停止当前宿主进程,进程内运行中的工作不会在旧进程中继续。
适用场景与注意¶
下面说明它适合的使用位置,以及安装前需要确认的事项。
适合:
- 在 DSH web profile 中需要重启宿主进程的开发者。
- 希望保留当前 port、profile、flags 和 workspace,而不用手动复制启动命令的场景。
- 只需要 web GUI 内重启入口,不需要额外启动器的场景。
需要谨慎:
- 当前宿主中正在运行且无法中断恢复的工作。
- 需要依赖 npm 安装,但未确认 package 是否已发布的场景;此时可使用 GitHub 或本地 checkout 命令。
- restart route 只接受同源 POST;插件以当前 DSH 进程权限运行,能终止并重启宿主进程。安装前应检查源码,并确认接受 MIT 许可证和运行环境可信。
链接¶
- 插件目录页:https://www.skillhub.cn/plugins/miisaka19800/dsh-restart-fab
- GitHub:https://github.com/miisaka19800/dsh-restart-fab