DeepSeek Harness 插件:dsh-maestro-core

前言

DSH Web 進程在運行時可能會崩潰或意外中斷,導致會話中斷和服務不可用。手動恢復和檢查健康狀態既繁瑣又容易出錯。此插件解決這些問題,提供一個集中的設置存儲、Web Supervisor 和恢復機制。

這是什麼

它是 DSH Web 的核心,包含監控守護進程、設置存儲、審批守衛和跨機器同步引擎。它將四個獨立的功能合併到一個包中。該插件通過在 dsh web 內部作爲主機+客戶端運行,並在外部作爲系統守護進程運行,來實現自我恢復和狀態持久化。

核心功能

  • DSH Web Supervisor(監控守護進程):系統級監控(systemd),每 3 秒輪詢服務狀態,保存最後已知良好(LKG)快照,檢測崩潰並執行自動回滾,生成包含 Git Diff 和日誌的 health report。
  • 自動恢復:在 DSH Web 啓動 8 秒後,自動查找並恢復在 autoResumeWithin(默認 5 分鐘)內中斷的會話。
  • 自動重載:瀏覽器端客戶端插件,在 Web 服務重啓或網絡斷開時自動重載頁面。
  • 設置存儲:提供全局的 settings.json 存儲和 Maestro 設置卡片,供其他模塊讀寫。
  • 審批守衛:提供規則分類和審批入口,通過 maestro_guard_status 查看狀態。
  • 跨機器同步:提供備份、恢復、保留策略 GC 和雙機同步功能。

安裝與啓用

使用官方命令安裝插件:

dsh plugin --profile web add @ddtcorex/dsh-maestro-core

若需指定版本,可使用:

dsh plugin --profile web add @ddtcorex/dsh-maestro-core@<version>

安裝完成後需重啓 dsh web。該包會自帶 cordis.patch.yml,請勿手動複製或添加重複的 Row ID。

典型用法

通過命令行工具或 Systemd 守護進程進行管理:

# 啓動守護進程(前臺調試)
node packages/dsh-maestro-core/lib/index.js daemon

# 查看狀態
node packages/dsh-maestro-core/lib/index.js status

# 恢復指定時間範圍內的中斷會話
node packages/dsh-maestro-core/lib/index.js resume --within 5m

啓用 Systemd 守護進程以實現系統級監控:

bash packages/dsh-maestro-core/scripts/install-systemd.sh
systemctl --user daemon-reload
systemctl --user enable --now dsh-web-supervisor
systemctl --user status dsh-web-supervisor

適用場景與注意

  • 環境要求:需要 Node.js ^22.19.0 || >=24.0.0 和 pnpm 11+,DSH 版本需爲 0.1.x 或 0.2.x。
  • 構建要求:lib/ 目錄被 Git 忽略,源碼修改後需執行 pnpm build。客戶端構建需要 build-client.mjs。
  • 權限風險:插件以當前 DSH 進程權限運行,若 DSH 進程擁有較高權限,插件同樣擁有相應權限。建議在安裝前檢查源碼與許可證。
  • 配置:Telegram Bot Token 爲可選配置,用於通知。

結尾

dsh-maestro-core 通過將監控、存儲和同步能力整合到一個包中,降低了 DSH Web 的維護複雜度,提升了系統的健壯性。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜