DSH Plugins
返回列表
⚙️

dsh-web-restart

工作流 更新于 2026.08.14

在终端中运行以下命令:

dsh plugin install LnsiAxe/dsh-web-restart

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

在 DeepSeek Harness 中运行 dsh plugin install LnsiAxe/dsh-web-restart 即可安装该插件,项目源码详见 https://github.com/LnsiAxe/dsh-web-restart 。

插件介绍

在 dsh 工作流中,agent 直接运行在 web 服务进程内部。如果 agent 用 Stop-Process 杀掉 web 服务,实际上等于杀掉了自己的进程树,重启命令永远执行不到后半段——这就是所谓的自杀式重启。

本插件的核心思路是把新服务进程从 agent 进程树中移走:通过 WMI Win32_Process.Create 将 launch 脚本交给 WMI 宿主持有,新进程的父进程是 WMI 而非 agent,因此不受进程树回收影响。它提供两种模式:ensure 在端口未监听时自动拉起服务,已监听则不动;rotate 则先让调用方安全返回,再 kill 旧进程并脱管拉起新进程,用于加载新插件或新代码。此外还支持在 profile 内创建 flag 文件,下一个会话回合开始时自动触发脱管重启。

适合在 Windows 上使用 dsh 并频繁更新插件、代码的开发者,再也不用担心重启即自杀。非 Windows 平台会自动回退为 detached spawn,同样可用。

使用场景

  • dsh web 服务意外退出后自动拉起,无需手动干预
  • 更新插件或代码后一键脱管重启,不受 agent 进程树约束
  • agent 运行时避免自杀式重启,确保重启命令完整执行

适合人员

  • 在 Windows 上运行 dsh 并频繁切换插件或代码的开发者
  • 需要自动管理 web 服务生命周期的 agent 工作流用户
  • 遇到 agent 自杀式重启问题且希望一劳永逸解决的 dsh 用户