dsh-guard:DSH 開發配套守護插件

在 DSH 的開發體系中,插件是核心組件,其運行穩定性直接影響開發效率。當插件出現異常或狀態錯亂時,手動回退往往存在遺漏風險。dsh-guard 是爲此設計的配套守護插件,它通過自動化機制提供滾動快照、失敗自動回退以及本機管理面板,解決運行期的不確定性。

這是 x2802490130-prog 維護的工作流插件,採用 MIT 許可證。它位於 DeepSeek Harness 生態中,旨在爲開發者提供一套標準化的插件守護方案。

核心能力

該插件主要提供以下六項能力:

  1. 滾動快照:每次存檔保留最近 N 份(默認 5),文件名帶時間戳和原因。同時鏡像 last-good 供外部啓動器或腳本調用。
  2. 自動存檔:插件啓動成功且度過寬限期後,自動觸發存檔(原因標記爲 auto)。
  3. 自動回退:監聽到插件運行失敗時,自動回退到 last-good 狀態。
  4. 管理面板:提供 Web 界面查看狀態、管理快照和日誌。
  5. 管理 API:提供 RESTful 接口進行控制。
  6. 事件日誌:記錄所有快照和回退操作,位於 snapshotRoot/guard.log。

配置與用法

插件通過 YAML profile 補丁層配置,以下爲關鍵配置項示例:

- id: dsh-guard
  config:
    snapshotRoot: D:\path\to\snapshots
    profileDir: C:\path\to\profiles\web
    sourceDirs: [D:\path\to\plugin-src]
    restartCommand: D:\path\to\restart.bat
    graceMs: 120000
    autoSaveDelayMs: 150000
    keepSnapshots: 5

典型行爲:
- 滾動快照:默認保留最近 5 份快照。
- 寬限期:插件啓動後需等待 graceMs(默認 120000ms)才觸發自動存檔,避免誤存。
- 自動回退:僅在插件運行失敗時觸發,且每次啓動最多觸發一次,防止死循環。

訪問方式:
- 管理面板:http://127.0.0.1:<端口>/dsh-guard
- 管理 API:/api/dsh-guard/{status,snapshots,backups,log,save,rollback,restore}

注意事項

  • Boot 崩壞無法救援:當進程在啓動期崩潰時,插件無法運行,因此無法處理此場景。Boot 救援由外部啓動器(如 dsh-balance-float 倉庫的 windows/launch-dsh.vbs)承擔。
  • 僅限本機訪問:管理面板和 API 僅監聽本機迴環地址,不提供遠程訪問。
  • 防死循環機制:每次插件啓動最多自動回退一次,回退後需手動重啓才能再次觸發。

總結

dsh-guard 爲 DSH 開發提供了基礎的運行期守護能力,通過自動化的快照和回退機制降低了開發過程中的維護成本。

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

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

小夜