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 倉庫。