DSH Plugins
返回列表
🧩

dsh-restart

admin-security 更新于 2026.09.29

在终端中运行以下命令:

dsh plugin install ajia1206/dsh-restart

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 中执行 dsh plugin install ajia1206/dsh-restart,或从开源仓库 https://github.com/ajia1206/dsh-restart 按 README 安装到 profile。

插件介绍

改已挂载插件的源码时,DSH 不会热更新模块,只能重启;而重启会让浏览器断开,一旦起不来就等于把服务关在自己门外。dsh-restart 把「安排一次重启」做成工具调用和 Web 控件,并在退出前留下可对照的 JSONL 记录,而不是发完信号就不管。

核心路径是优雅退出:优先走宿主自带的 appExit,先 dispose 插件树、落盘会话、关掉 HTTP,再结束进程。插件会先判断托管方式——macOS 桌面版走应用退出、launchd 在确认无条件 KeepAlive 且本进程就是 job 主进程时才直接退出、否则在无可靠托管时派 detached supervisor,握手与恢复预检通过后才允许自己退出,失败则取消退出、服务继续跑。

你可以用 dsh_restart 安排延迟重启并写原因,用 dsh_restart_status 查看托管策略、是否已武装以及配对后的停机时长,用 dsh_restart_cancel 在触发前撤回。Web 界面右下角还有悬浮重启按钮,与三条同源路由共用同一套实现;headless 等没有 webServer 的载体仍可用工具。

适合在本地或自托管环境长期跑 DSH、需要改插件后重启、又希望有日志可核验「是否真的换了一个 pid 起来」的开发者与运维;若完全依赖外部进程管理且从不改源码,也可以只把它当作带审计的重启入口。

使用场景

  • 改已挂载插件源码后需要重启才能让变更生效
  • 希望重启前有延迟并留下可核验的 JSONL 记录
  • 无 launchd KeepAlive 时仍要确认有人能把 DSH 拉起来

适合人员

  • 本地或自托管长期运行 DSH 的开发者
  • 需要改插件并可控重启的运维人员
  • 在意停机证据与重启成败判定的管理员