DSH Plugins
返回列表
dsh-simple-restart

dsh-simple-restart

客户端 更新于 2026.09.16

在终端中运行以下命令:

dsh plugin install yizhixiaokong/dsh-simple-restart

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

在 DeepSeek Harness 终端中执行 dsh plugin install yizhixiaokong/dsh-simple-restart 即可安装,插件源码位于 https://github.com/yizhixiaokong/dsh-simple-restart 。

插件介绍

dsh-simple-restart 解决的是一个很具体的痛点:修改了 dsh web 的客户端插件代码后,必须重启宿主进程才能看到效果,而重启意味着回到终端——找不到窗口、进程被 systemd 守护,都不方便。这个插件在 Settings → General 里加了一行按钮,二次确认后让 dsh web 带着原有启动参数重新跑起来,全程不离开浏览器。

实现上有一个值得留意的设计:宿主进程无法替换自身,新进程又必须在监听端口真正释放之后才能启动,否则撞上 EADDRINUSE。因此重启被组织成两个进程之间的一次握手——宿主生成一个 detached helper,把完整的启动信息交给它后退出;helper 通过向端口发起连接(而非绑定)来确认端口已释放,再启动替代进程并等待最多 20 秒确认绑定成功。若后续出错,诊断信息写入 $TMPDIR 下的 .err.log 与 .out.log。

安全围栏同样细致:接口仅接受 loopback 同源 POST,任何转发头或跨域 Origin 一律 403;检测到 systemd 监管时默认禁止重启(避免 KillMode=control-group 连带杀掉 helper);检测到调试器同样拒绝;同一时刻仅允许一次重启,并发请求返回 409。

它最适合正在开发 dsh 客户端插件的工程师——改完代码点一下即可生效;也适合日常使用 dsh web、进程跑在后台终端或被服务管理器守护、手动重启比较麻烦的任何人。

截图预览

使用场景

  • 修改客户端插件代码后在设置页一键重启,无需回到终端
  • 后台终端或 systemd 守护的 dsh web 进程不方便手动重启
  • 插件调试阶段反复重启,省去查找进程和手动操作的开销

适合人员

  • dsh 客户端插件开发者
  • 日常使用 dsh web 的工程师
  • 进程由后台终端或管理服务托管、手动重启不便的用户