dsh-doctor:DeepSeek Harness 的只讀診斷工具

插件裝了沒反應、技能看不見、改了配置沒生效,這些問題在 DeepSeek Harness(DSH)開發中很常見。現有的一些診斷手段要麼不夠具體,要麼試圖直接修復配置,容易引入副作用。

dsh-doctor 專注於只讀診斷。它不修改文件、不改 profile、不動 Loader 樹裏的任何行,而是直接回答“爲什麼”——哪個插件行沒運行、哪個技能提供方整體失敗、patch 裏有沒有重複 id、HMR 是否配置正確。

插件介紹

名稱:dsh-doctor
作者:louisyeaaah
分類:工作流
許可證:MIT

這是一個只讀診斷插件,用於排查 DSH 運行時的加載與可見性問題。它通過讀取宿主內部結構(ctx.loader、ctx.skills、ctx.hmr 等)採集事實,輸出問題清單和每條的下一步操作建議,並提供默認脫敏的 Markdown 卡片,方便直接貼進 issue。

核心能力

插件主要覆蓋四個維度的體檢:

  1. 插件行狀態
    檢測哪些插件行未運行、哪些被 disabled,解決“裝了插件但工具沒出現”的問題。

  2. 技能提供方
    逐個調用提供方的 list() 方法,抓取並展示拋錯的原文。技能註冊表遇到失敗時會跳過該提供方並標記觀察不完整,導致模型側完全看不到診斷信息。dsh-doctor 把這條錯誤原文攤開。

  3. patch 層衝突
    檢測重複的 entry id、同一包多行、聲明瞭但未安裝的 bundle,解決“裝了但沒生效”或行爲詭異的問題。

  4. HMR 配置
    檢測 HMR 的 watch 源碼配置和 node_modules 是否被跳過,解決“改了代碼沒反應”的問題。

插件會輸出一份問題清單,並在每條結論後附帶下一步動作。

安裝與啓用

安裝命令如下:

dsh plugin --profile <profile> add github:louisyeaaah/dsh-doctor

安裝後,可以通過以下方式使用:

dsh_doctor()                  # 體檢:插件行 / 技能提供方 / patch / HMR
dsh_doctor({ card: true })    # 輸出可貼進 issue 的 markdown 卡片(默認脫敏)
/dsh-doctor card              # 人也可以直接敲

注意事項與限制

使用前需瞭解以下幾點:

  • 只讀保證:不寫任何文件、不改 profile、不動 Loader 樹裏的任何行。唯一的副作用是在頁面/引擎裏調用各 provider 的 list()(註冊表本來也會調)。
  • 依賴宿主結構:依賴 DSH 內部結構(ctx.loader / ctx.skills / ctx.hmr / profileContext)。DSH 升級後可能失效。
  • 範圍有限:只回答加載與可見性層面的問題,查不出“插件行爲不對”的深層邏輯。
  • 性能影響:技能提供方的 list() 會被真的調用一次。極慢的 provider 會讓體檢變慢。
  • 生態現狀:本倉庫沒有發佈到 npm(名字也被佔了),不做投稿。安裝走 GitHub 路徑或 scripts/install.sh。

價值定位

生態裏已有幾個同名項目,覆蓋了修復、回滾、環境診斷等更全面的功能。如果你需要的是“壞了能救回來”,建議選擇那些項目。

本倉庫僅做一件事:只讀地把“爲什麼”講清楚,並輸出一張默認脫敏、可以直接貼進 issue 的英文卡片。

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

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

小夜