DeepSeek Harness (DSH) 开发者在日常维护中常需处理服务重启或状态监控。手动重启容易丢失上下文,且容易遗留进程。dsh-service-watchdog 插件在主界面提供了直接的服务控制入口与状态监控,并内置独立看门狗实现崩溃自愈与开机自启。
这是一个由 LucienLL 维护的 admin-security 类插件。它将服务重启、状态监控与进程守护功能集成到 DSH 的侧边栏 UI 中,通过一个常驻的独立进程实现服务崩溃后的自动拉起与代码热更新。
核心功能¶
侧边栏状态监控
侧边栏实时显示服务运行状态(运行中/已停止/启动中)及已运行时长(3秒轮询一次)。
快速重启与二次确认
点击重启时,插件会检测当前的进行中会话、排队消息及后台任务数量。若存在任务,会弹出二次确认框;若无任务,则直接重启。重启后会反馈成功或失败结果。
看门狗自愈
DSH 启动时会派生一个独立的常驻进程。当主服务崩溃时,看门狗会自动拉起服务。服务关闭后,按钮仍可再次启动。
看门狗代码自更新
Host 每 15 秒探测一次看门狗代码(lib/watchdog.js)的变化。若代码发生变化,看门狗会自动重启以加载新代码,无需手动杀进程。
开机自启
插件会在注册表 HKCU Run 键写入启动项。登录后,看门狗与服务会自动拉起。
无残余进程
重启时使用 taskkill /T /F 杀死整棵进程树,并在确认端口释放(最多等待 15s)后再拉起服务。
安装与配置¶
安装插件需要使用官方 CLI:
dsh plugin --profile web add dsh-service-watchdog
安装后需在 DSH 的设置中配置以下项:
| 配置键 | 默认值 | 说明 |
|---|---|---|
watchdogPort |
3199 | 看门狗控制端口,仅监听 127.0.0.1。运行时修改会自动清理旧看门狗。 |
autostart |
true | 控制开机自启功能。 |
crashRestart |
true | 控制服务崩溃后的自动重启功能。 |
安全与注意事项¶
网络限制
看门狗仅绑定 127.0.0.1,不接受非 loopback 的 Host 连接,跨站 Origin 请求一律返回 403。
进程保护
杀进程前会校验目标 PID 的映像是否为 node.exe,防止误杀占用同端口的其他程序。
环境变量过滤
持久化启动命令时,会过滤 token、key、secret、credential、CODEX_ 等敏感信息。
日志位置
看门狗的日志文件位于 %LOCALAPPDATA%\DeepSeekHarnessApp\watchdog.log。
该插件解决了 DSH 服务维护中的状态可见与异常恢复问题。更多信息可查看插件目录或 GitHub 仓库。