前言¶
DeepSeek Harness (DSH) 的插件加載依賴於配置文件(如 cordis.patch.yml)。當配置出現異常(例如重複的 entry id、YAML 語法錯誤或缺失包)時,DSH 會在啓動階段崩潰,導致無法打開 GUI 設置面板,進而無法手動修復。brockdsaver 是一個運行在 DSH 外部的獨立工具,用於在 DSH 啓動前診斷配置問題並提供一鍵恢復功能。
功能定位¶
這是一個由 kirigayakazima 維護的 DSH 插件,同時具備獨立 CLI 和 DSH Bundle 兩種運行模式:
* 獨立 CLI:在系統任意位置運行,用於 DSH 啓動前的診斷與修復。
* DSH Bundle:作爲插件安裝到 DSH 中,提供運行時的健康檢查與狀態監控。
安裝與啓用¶
1. 安裝獨立 CLI¶
需要安裝 Node.js 環境(版本 >= 20)。
npm install -g brockdsaver
2. 安裝 DSH Bundle 插件¶
在 DSH 正常運行時,通過命令行安裝插件。
dsh plugin --profile web add "github:kirigayakazima/brockdsaver"
CLI 診斷與修復¶
使用 CLI 模式需要在 DSH 服務器停止狀態下進行,避免文件鎖定。默認 profile 爲 web。
診斷配置¶
檢查配置文件的完整性,檢測損壞的插件(如重複的 entry id)。
brockdsaver doctor [--profile <name>]
一鍵恢復¶
自動備份配置並嘗試禁用導致啓動失敗的問題行。執行此命令前請先停止 DSH 服務器。
brockdsaver recover [--profile <name>]
配置備份與恢復¶
不依賴 DSH 進程,僅備份 cordis.patch.yml 和 package.json。
# 備份配置文件
brockdsaver backup [--profile <name>]
# 從最近一次備份恢復
brockdsaver restore [--profile <name>]
插件模式功能¶
安裝爲 DSH Bundle 後,插件會在 DSH 啓動後提供以下能力:
- 健康檢查頁面:在 Settings 中提供配置狀態、重複 ID 數量、運行時錯誤及插件源信息。
- 救援通知橫幅:當觸發救援事件時,右下角會彈出通知,顯示檢測到的修復詳情。橫幅可手動關閉,關閉後該事件不再重複提醒。
- 救援日誌:記錄所有救援事件,日誌文件爲 JSONL 格式。
注意事項¶
- Node.js 版本:要求 Node.js 版本 >= 20。
- 服務狀態:執行
doctor或recover命令前,必須先停止 DSH 服務器,否則會出現文件鎖定錯誤。 - 許可證:遵循 MIT 許可證。