dsh-skill-doctor:在 DSH 裏給技能與插件做體檢

前言

在 DeepSeek Harness(DSH)裏維護技能時,常見問題往往不是報錯,而是靜默失效:技能沒加載、被同名覆蓋、frontmatter 裏的 description 超過可見上限被截斷、正文引用的文件不存在——表面上只是「模型不用這個技能」。排查需要對照 dsh 的加載規則、運行時 fiber 階段和模型實際讀到的簡介原文,手工做很費時間。

dsh-skill-doctor(npm 包名同名,維護者 shuxidemosheng)面向上述場景:在 dsh 內掃描技能與插件配置,輸出可讀報告和可執行的改法,並提供斜槓命令、面板與獨立 CLI,分類上屬於工作流類插件。它不替代技能市場,也不做安全掃描,只回答「在 dsh 裏能不能正常工作、模型到底看到了什麼」。

這是什麼

一句話:dsh 的技能與插件體檢——告訴模型看到了什麼、插件是否真正跑起來、下一步該改哪裏。

核心功能

技能側

  • 模型可見內容原樣展示:簡介超長時,不只提示「太長」,而是貼出截斷後模型能讀到的原文,便於覈對觸發詞是否還在可見段內。
  • 結論 → 證據 → 處方:報告先給能不能用,再列摘要表、模型看到的簡介、被切掉的部分與影響大小,每條問題附帶修復檔位(可自動修 / 一條命令 / 需人工改)。
  • 改寫工單:對 description 被截斷的技能,可生成帶字數預算與觸發詞骨架的工單;用戶確認後通過工具參數寫入(setDescription 或 fix: true),不自動代寫文案。
  • 複診對比:默認保存上次體檢結果,再次運行可對比「修好了哪些、新出現哪些」。
  • 按根因聚合:同類問題(例如同一前綴的一批技能)合併展示,減少重複改模板。
  • 動態使用統計:面板「使用統計」按技能被讀入上下文的次數排行(存本機 localStorage),輔助發現「模型從來不用」的技能。

插件側

  • 磁盤 + 運行時:讀 profile 的 package.json 與各插件 cordis.patch.yml,檢查重複安裝、條目互搶、啓用與包是否一致、是否改動技能鏈路等(規則 ID 如 PL001–PL006 等,見 README)。
  • fiber 探測:在桌面 profile 下嘗試讀 pluginInventory 的 fiber 階段;failed 的插件會被點名;探測不到時明確寫「沒查到」,不等同於沒問題。
  • 會診:技能報告出現「0 個技能」等情況時,與插件層 patch(誰改了哪個條目、哪個鍵)交叉對照。

客戶端與命令

  • 輸入框上方活動面板:展示本次會話中模型讀入了哪些技能、調用了哪些工具;點開可看最近約 20 條調用流。
  • 六條斜槓命令(菜單中文,輸入框爲 ASCII token,本地執行、不經過模型):/doctor、/scope <目錄>、/rewrite <技能名>、/followup、/why <技能名>、/clash。
  • 四個工具(供模型或會話內自然語言觸發):skill_doctor、skill_lint、skill_explain、plugin_doctor。

命令行

包內提供 dsh-skill-lint(lib/cli.js),README 說明可在 CI 中運行,支持 --json 與退出碼,且不依賴 dsh 運行時。

報告中的簡介長度閾值(如 500 字)隨 dsh 版本校準;版本不一致時,報告會提示閾值可能已過期。

安裝與啓用

安裝命令以 README 爲準:

dsh plugin --profile <你的profile> add dsh-skill-doctor

默認安裝最新版;鎖定版本可在名稱後加 @,例如 @0.13.2(README 示例版本)。

裝完後需要完全退出並重開 dsh,客戶端注入的代碼僅在啓動時加載。裝好後可直接在會話裏說「幫我體檢一下技能」,或使用斜槓命令,無需單獨記工具名。

典型用法

斜槓命令(最快)

輸入框輸入 /,選擇中文菜單項(對應上表的 token),補上路徑或技能名後回車,結果以純文本出現在會話流中。例如全體檢:

/doctor

只查某目錄:

/scope D://skills

完整處方報告仍可在會話中說「體檢技能」,由模型調用 skill_doctor,與斜槓路徑共用同一套掃描邏輯。

自然語言場景(README 示例)

懷疑某個技能沒生效:

解釋一下 nature-citation 爲什麼可能沒被模型用上

懷疑插件未啓動或衝突:

查一下 desktop profile 的插件有沒有衝突

查看當前會話模型在做什麼:看輸入框上方面板,或展開活動列表。

工具參數示例

單技能體檢:

{ "name": "nature-citation" }

省略 name 爲全體檢。只查指定目錄用 roots;追加目錄查同名遮蔽用 extraRoots(語義不同,見 README)。

插件體檢:

{ "profile": "desktop" }

按規則 ID 排查(CI / 技術口徑):

{ "rules": ["SD003", "SD004"], "format": "json" }

適用場景與注意

適合誰:在 DSH 裏維護較多技能或插件、需要確認「模型能否選中技能」「插件是否 failed」「patch 是否改壞技能目錄」的開發者。

做不到什麼(README「它做不到什麼」章節):不做技能分發與安全審計;不能替 dsh 修改核心加載策略;headless 下插件運行時 fiber 一節會降級;面板只能看到當前窗口內最近的調用,更早記錄不在浮層裏。

權限與安全:插件以當前 dsh 進程權限讀取 profile、技能目錄與配置;安裝前請自行查看 倉庫源碼 與 MIT 許可證。SkillHub 等爲社區目錄,與 DeepSeek / 幻方無官方從屬關係。

DSH 生態強調「一切皆插件」;dsh-skill-doctor 是其中專門做診斷與工作流入口的一類工具,GitHub 上可見 star 數量會隨社區變化,以頁面爲準。

結尾

技能與插件的問題在 dsh 裏往往安靜失敗;dsh-skill-doctor 把可見簡介、截斷觸發詞、插件 fiber 狀態與 patch 衝突收成報告和斜槓入口,並支持複診與 CI lint。需要安裝說明與規則細節時,以 README 爲準。

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

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

小夜