dsh-skill-manager:給 DSH 技能庫加一層智能歸類與使用建議

前言

DSH 的理念是「一切皆插件」,Skill 也是一樣。麻煩從數量上來:項目根目錄、用戶根目錄、.agents 目錄裏都可能放 SKILL.md,十幾個的時候用 /name 直接呼出就夠了,二三十個之後問題就換了樣子。

首先是不知道自己有什麼。同名 Skill 在不同根目錄裏疊着,哪個生效、哪個被遮蔽,從界面上看不出來。其次是不知道該用哪個,每個 SKILL.md 裏都寫着規則,但沒人記得「做迭代規劃用哪個」「設計 API 用哪個」。再就是名字對不上用途,analysis-funnel 和 analysis-retention 差在哪,只能兩個都打開讀一遍。最後是不敢清理,關掉某個 Skill 意味着真的去改文件。

下面介紹的 dsh-skill-manager 就是處理這一類問題的。它是 ZBCs-StudioCr-CN 維護的客戶端插件,目前 GitHub 2 stars,做法是把「找 Skill、認 Skill、管 Skill」變成側邊欄裏的幾行卡片和開關,而不是讓你繼續翻目錄。

一句話定位與安裝來源

插件在社區目錄中的條目是「DeepSeek Harness 可視化側邊欄 Skill 智能管理器」,定位是把 Skill 文件管理器升級成 Skill 導航器:按交付階段給 Skill 歸類,並給每個 Skill 生成一行使用建議。

當前版本是 v0.3.0。要安裝的話,官方給出的命令是 PowerShell:

dsh plugin --profile desktop add link:D:\path\to\dsh-skill-manager

或者先 npm pack 打包再裝:

npm pack
dsh plugin --profile desktop add .\dsh-skill-manager-0.3.0.tgz

裝完重啓一次 DeepSeek Harness 桌面端,插件是在啓動時加載的,然後刷新界面,側邊欄就會出現「技能管理」。

智能分類:按交付階段歸類,不按字面找詞

這是 v0.3.0 相比之前最主要的變化之一。點一次「AI 智能歸類」,模型會讀取每個 Skill 的名稱、描述和正文摘錄,判斷它處在哪一步交付流程,然後歸檔進一套固定階段表:

需求分析 · 商業論證 · 方案設計 · 原型美工 · 開發實現 ·
測試驗收 · 上線部署 · 運營增長 · 成本優化 · 協作管理 · 其他

幾點實現細節值得留意:

1、這套階段表是封閉的,模型只能從裏面挑,不會產出 decision、application 這類同義詞碎片;

2、技能庫大了會分批發送,每次 12 個,避免一次塞太多導致模型返回空結果;

3、模型不可用時回退到一張階段關鍵詞表,比如 funnel / conversion 歸到運營增長、token / compression 歸到成本優化,仍然按階段走,不是普通的詞聚類;

4、手動創建的分類不會被覆蓋。模型生成的分類帶 auto 標記,重跑時只替換這批。

分類的意義在於提供了第二個維度的篩法:你不是按字母或路徑找,而是按「現在在做什麼階段」來找。

智能使用建議:每個 Skill 一行說明

打開面板時,會在每個 Skill 原有描述下面追加一行由模型生成的建議,用來說明它做什麼、什麼場景下用。原有描述不會被改寫。

/analysis-funnel
Evaluates 19 acquisition channels by scale, conversion and ROI…    ← 原有描述,保持不變
AI 建議  拆解渠道漏斗、定位流失環節(適用:復盤轉化情況) · 分類:運營增長   [重新生成]

機制上有幾個約束:

1、每個 Skill 都會自動生成,同時有一個全局的「顯示 AI 建議」開關可以關掉;

2、建議寫入獨立的側文件 $DSH_HOME/skill-manager/suggestions.json,不寫入 SKILL.md,並且會跟文件內容做哈希對比,內容變了舊建議自動失效;

3、支持整庫「一鍵生成 / 重新生成全部 AI 建議」,也支持單行重新生成;

4、輸出語言可以選中文或英文。

分類回答的是「它在流程的哪一步」,建議回答的是「它幹什麼、什麼時候用」。兩者合起來才解決前面說的三四個問題。

其餘管理能力

除了上面兩項,插件還覆蓋了日常維護動作:

能力 具體做法
啓用 / 禁用 通過 registry 覆蓋策略實現,源文件不動,可即時恢復,卸載時還原
默認加載 合併三個作用域:全局、本項目(按項目根目錄匹配)、按 preset(例如 standard)
分類管理 新建 / 改名 / 刪除,可配關鍵詞,多對多歸屬,卡片可摺疊
導入 剪貼板粘貼整個 SKILL.md、目錄選擇(走宿主原生選擇器)、ZIP 解包(宿主端解包,拒絕路徑穿越)
編輯 SKILL.md 面板裏創建 / 編輯 / 刪除,校驗 kebab-case,不覆蓋已有內容,保留未託管的 frontmatter 鍵
遮蔽報告 標出被更高優先級根目錄遮蔽的 Skill
側邊欄入口 註冊 main 面板加一條 sidebar.panellist,不在設置頁裏埋着

配置項

配置寫在插件的 config 裏。README 給出的示例:

- id: dsh-skill-manager
  name: dsh-skill-manager
  config:
    provider: deepseek-account
    model: deepseek-flash
    customSkillDirs: ['D:/shared-skills']
    log: false

各字段的默認值和含義:

字段 默認值 含義
provider / model deepseek-account / deepseek-flash 生成建議和分類所用的模型
includeDefaultRoots true 掃描項目根目錄與用戶根目錄
customSkillDirs [] 額外根目錄,優先級排在 300 檔
bundledSkillDir $DSH_BUNDLED_SKILL_DIR 只讀根目錄,優先級排在 600 檔
dshHome / agentsHome $DSH_HOME / $DSH_AGENTS_HOME 根目錄解析基準
log true 追加寫入 $DSH_HOME/skill-manager/skill-manager.log

工作原理

插件分成兩部分,這是「客戶端」分類的由來。

宿主端(lib/)負責控制面:通過 rank 0 的覆蓋 provider 實現啓用/禁用;用 systemPrompt.section 做默認加載;通過 connection.fetch.register 在官方 /api 通道下注冊端點;偏好寫在 $DSH_HOME/skill-manager/preferences.json,建議寫在 suggestions.json。

瀏覽器端(client/src/client/)負責界面:註冊 main 面板和 sidebar.panellist 條目,打包成 window.__ModuleLoader__.load({ id, factory }) 形式的模塊,只依賴 react。

AI 調用走宿主的 ctx.llm,提示詞只要求 JSON 輸出,失敗重試一次,之後回退到階段關鍵詞表。

怎麼驗證它確實生效

README 裏給了兩條命令:

npm test

覆蓋 29 項檢查,包括宿主端、端點、打包產物和 UI 渲染。

node scripts/verify-v4.mjs http://127.0.0.1:58809

用一個隔離實例配合真實模型跑一遍完整鏈路。

作者在 DSH 0.2.2-rc.1 桌面端上的實測結論是:隔離實例 10/10 通過,建議不碰原始文件,重新生成正常,階段分類確實來自模型,27 個 Skill 全部完成歸類;UI 側在 jsdom 中掛載真實構建產物驗證了自動生成、全局開關寫入偏好、搜索過濾和作用域默認加載;禁用某個 Skill 之後 /registry 報告 provider: skill-manager、modelInvocable: false,說明覆蓋在真實 registry 中生效。

已知限制

1、「按 preset」作用域依賴會話元數據裏的 agentPreset,沒有的話只有全局和項目兩個作用域生效;

2、建議是逐個 Skill 串行生成的,20 個以上首次打開要 1 到 2 分鐘,不合適就用全局開關關掉;

3、少數邊緣 Skill 會落在「其他」裏,可以在編輯對話框手動勾選分類;

4、只管理 dsh-skill-filesystem 會讀取的那些 DSH Skill 根目錄;

5、刪除不可撤銷,沒有回收站,操作時有確認提示。

適用場景與注意事項

適合已經攢了十幾個以上 Skill、並且分屬多個項目和團隊共享目錄的人。如果目前只有兩三個小 Skill,直接 /name 就夠了,裝它的收益不大。建議來源主要靠 Skill 庫越積越雜、找不準用哪個的人。

使用前建議做三件事:先讀一遍 README.md 和 MIT 許可證文本;確認你打算裝的版本和當前 DSH 版本兼容(package.json 裏寫的是 dsh >=0.2.1,README 中的實測環境是 0.2.2-rc.1);插件以當前 DSH 進程的權限運行,能讀寫你配置的 Skill 根目錄,安裝前確認這些目錄的內容可以接受插件訪問。

結語

dsh-skill-manager 沒有引入新的 Skill 能力,它做的是搜索和導航層:按交付階段歸類,再加一行使用建議。當 Skill 數量從一打漲到幾十之後,這層可視化管理比繼續在目錄裏翻要有用得多。

  • 目錄頁:https://www.skillhub.cn/plugins/ZBCs-StudioCr-CN/dsh-skill-manager
  • GitHub:https://github.com/ZBCs-StudioCr-CN/dsh-skill-manager

社區目錄是獨立站點,與 DeepSeek 官方沒有從屬關係。

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

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

小夜