qschen86/dsh-web-restart

qschen86★ 0JavaScriptLast synced: 2026-08-17

Open on GitHub

DSH web plugin: restart the dsh web service from the UI, with optional auto-continue

README excerpt

dsh-web-restart DSH web 插件:从界面重启 dsh web 服务,不再需要人工重启;并可选地在重启后 自动继续 被中断的会话。 功能图示 侧边栏底部重启按钮 :任何布局(首页 / 会话 / 日历模式)下都固定在左 rail 最底部。 圆点颜色反映状态:绿 = 服务运行中、监督进程在线;黄 = 已有重启请求排队;红 = 监督进程未运行。 确认弹窗 :点击按钮后居中弹出,说明操作影响并展示"重启后自动继续中断的会话"开关; 只有点击"确认重启"才会真正发出请求,杜绝误触。 监督进程日志 ( /.dsh/dsh-web-restart.log ):完整记录 轮询 → 请求到期 → 停止(TERM) → 端口释放 → 重新拉起 的链路;服务意外掉线时 watch 直接拉起(崩溃自愈);启动失败会把 服务日志尾部一并落盘,方便定位(如插件依赖缺失)。 应用场景 - 升级 dsh / 插件后一键生效 :host 半的改动需要重启 dsh web 进程。以往要在终端里手动 kill + 重启(还要担心会话中断);现在点一下按钮,约 10 秒后服务回来,被中断的会话自动继续。 - 长任务与目标续跑(autoContinueAfterRestart) :夜间无人值守跑 goal 任务时,任何一次 服务重启(升级、掉线、手动)后,被中断的顶层会话与 active goal 会在下次启动时自动恢复续跑, 不用早上起来手动"继续"。 - 服务崩溃自愈 :dsh web 意外退出后,launchd 监督进程 5 秒内自动拉起(无需登录终端); GUI 状态点实时反映监督进程是否在线。 - 无人值守 / 远程环境 :监督进程独立于 dsh web 进程树(launchd 托管、KeepAlive 保活), 即使 dsh web 完全不可用,重启链依然可用; halt 命令一条命令彻底停掉守护进程。 - 本地开发迭代插件 :改了插件 host 代码后点按钮重启即可生效; ensure deps 会在启动前 自动补装缺失的插件依赖——曾因插件目录 node modules 被清导致重启后起不来、服务宕机约 一小时,现在 supervisor 能自愈。 名字 - 插件包: dsh-web-restart (host 行 id: web-restart ) - 配套监督进程(launchd): com.dsh.web-supervisor ,脚本 /.dsh/scripts/dsh-web-supervisor.sh 功能 - Host 端 ( lib/index.js ,注入 webServer / agents / goals / sessionQuery / sessionPersistence ): - GET /plugin/dsh-web-restart → …

View full README on GitHub →
Tools / Devdeepseekdeepseek-harnessdsh-plugin

Category