dsh-preset-doctor:DeepSeek Harness 預設醫生

前言

DeepSeek Harness (DSH) 在 0.1.7+ 版本中引入了聲明式的 cordis.patch.yml 機制,並移除了舊的目錄掃描模式。在框架升級過程中,現有的 Agent 預設聲明極易因包名重命名、配置鍵變更或語法遷移而失效,導致 UI 上僅顯示「加載失敗」,且無法定位具體原因。

dsh-preset-doctor 是一個 DeepSeek Harness 插件,旨在自動檢測並修復這些失效的預設聲明。它通過零 LLM 介入的確定性代碼,處理從舊格式遷移、包名替換到原子化修復的全過程。

核心功能

該插件提供以下自動化能力:

  1. 自動掃描:檢測失效的 Agent 預設聲明。
  2. 自動遷移:將舊格式的目錄結構自動轉換爲聲明式 patch。
  3. 自動替換:根據遷移表自動替換已重命名的包名。
  4. 配置鍵拆分:自動將 persona 配置中的 text 鍵拆分爲 prefix 和 suffix。
  5. 路徑改寫:將本地路徑(.//../)自動改寫爲 file:// URL。
  6. 安全寫入:修復前自動備份(.bak)與原子寫入,支持冪等操作。
  7. 鏈式收斂:支持鏈式收斂處理版本漂移,確保不同時代的預設能統一適配當前版本。

安裝與啓用

通過 npm 全局安裝插件,然後添加到 DSH 中。

npm install -g dsh-preset-doctor
dsh plugin add dsh-preset-doctor

安裝完成後,插件會在 DSH 進程啓動約 1 秒後自動掃描 $DSH_HOME/cordis.patch.yml、profiles/<name>/cordis.patch.yml 及遺留的 .agent-presets/ 目錄。

使用方法

修復生效需要重啓 DSH 進程(預設註冊表僅在啓動時加載)。在會話中可執行以下命令:

  • /preset-doctor:掃描並自動執行機械修復。
  • /preset-doctor scan:僅掃描並報告,不執行寫盤操作。

技術細節與限制

  • 零 LLM 介入:完全基於 @deepseek-ai/schemastery 和 yaml 庫進行靜態分析和修復。
  • 僅語法修復:插件保證修復後的預設語法合法、可加載,但不保證修復後的行爲與舊版本完全等價。
  • 安裝行爲:插件安裝過程本身不安裝依賴、不修改 package.json、不重啓進程。
  • 環境依賴:宿主版本需滿足 engines.dsh 要求(>=0.1.1-rc.1),並依賴 @deepseek-ai/cordis(>=4.0.1 <5)。

資源

  • GitHub: https://github.com/drscrewdriver/dsh-preset-doctor
  • 目錄頁: https://www.skillhub.cn/plugins/drscrewdriver/dsh-preset-doctor
羽毛球分组比赛记分
小程序二维码

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

小夜