catsenior507/dsh-web-watchdog
catsenior507★ 0TypeScript最后同步: 2026-08-16
Watchdog for the dsh web GUI: crash logging + exponential-backoff auto-restart supervisor + status panel
README 摘要
🛡 dsh-web-watchdog DeepSeek Harness Web GUI 的 看护插件 : 崩溃记录 + 指数退避自动重启 + 状态面板。 dsh web( dsh web ,默认 http://127.0.0.1:3080)在 Windows 上偶发崩溃 (Node 24 libuv 退出断言、原生 TS 类型剥离等)。本插件在宿主进程内托管一个 脱离进程的 PowerShell 监督进程 : - 📜 崩溃记录 :宿主异常退出(退出码 != 0)时,把退出码、宿主 stderr/stdout 末尾、Windows 事件日志追加到 crash.log ; - 🔁 自动重启 :按指数退避(默认 10s 起、上限 600s、连续最多 10 次)自动拉起 node --no-warnings web ;宿主正常退出(exit 0)不重启; - ⚡ 计划重启 :面板按钮或 POST /api/watchdog/restart 写请求标记,监督进程 在 2 秒内完成「停旧进程 → 拉新进程」; - 🤝 监督进程交接 :重启后新宿主会拉起自己的监督进程,旧监督进程检测到 pid 文件被接管后自动退出,避免双重监督。 安装 面板 / API 端点 说明 GET /api/watchdog/status 宿主 PID、监督进程状态、配置、崩溃记录尾部 GET /api/watchdog/log?lines=60 崩溃日志尾部 POST /api/watchdog/restart 计划重启(浏览器会短暂断线,监督进程自动拉起) GET /api/health 插件健康检查 配置 首次运行在数据目录(默认 %USERPROFILE%\.dsh\web-watchdog ,可用环境变量 DSH WATCHDOG DATA / DSH WATCHDOG PORT 覆盖)生成 config.json : - supervisor.nodePath / binPath / restartArgs :重启命令(自动探测,可覆盖); - supervisor.maxRestarts / backoffStartSec / backoffMaxSec :重启策略; - 崩溃记录: /crash.log ,宿主日志: /web-logs/ 。 开发 / 自测 - npm run build —— tsdown 产出 host half( lib/index.js )与 browser half( lib/client.js ); - node test-isolated.mjs —— 隔离端到端测试:监督进程拉起、崩溃记录、自动重启、 计划重启、监督交接(不接触真实 dsh web 进程)。 License MIT
在 GitHub 查看完整 README →