前言¶
DSH Web GUI 中,當前會話可見的 Skill 會影響模型目錄、skill 工具與用戶 /名稱 手勢。下面介紹 dsh-skill-manager:一個 DSH 插件,在 Web GUI 側邊欄提供「Skills」入口,集中查看當前會話可見的技能列表,並用開關控制每個技能的啓用狀態。
這是什麼¶
dsh-skill-manager 由 Lanxing6480 維護,MIT 許可,npm 包名爲 @lanxing/dsh-skill-manager。它解決的是 DSH Web GUI 中技能啓停和可寫技能維護不集中的問題:面板列出當前會話可見的 Skill,提供開關、搜索、增刪改入口,並把開關狀態持久化到本地文件。
核心功能¶
- 在 DSH Web GUI 側邊欄提供「Skills」入口。
- 列出當前會話可見的全部 Skill,包括名稱、描述、來源和調用策略狀態。
- 按「全局 Skill / 局部 Skill」分組。
- 支持按名稱或描述搜索。
- 每個 Skill 帶開關;禁用後,該 Skill 對模型目錄、
skill工具與用戶/名稱手勢不可用。 - 開關狀態持久化於
~/.dsh/dsh-skill-manager.json,跨會話、跨重啓生效。 - 支持技能新增、導入、編輯和刪除,刪除帶二次確認。
custom、bundled、runtime來源的技能標爲只讀,隱藏編輯和刪除入口。- 任意變更後觸發 skill 註冊表失效通知,下一輪對話目錄自動更新。
安裝與啓用¶
安裝前確認 Node 版本滿足 ^22.19.0 || >=24.0.0。從 npm 安裝:
dsh plugin --profile web add @lanxing/dsh-skill-manager
如果是本地目錄開發安裝,可以先確認插件所在目錄,再執行:
dsh plugin --profile web add link:<本目錄絕對路徑>
經過上面的步驟後,重啓 dsh web。新 bundle 需要進程重啓才進入 host 組合。
典型用法¶
重啓後,在 Web GUI 側邊欄點擊「Skills」打開面板。
1、查看和切換技能
面板會按「全局 Skill / 局部 Skill」分組展示當前會話可見的 Skill。可以直接使用每行開關禁用或啓用技能。
2、添加技能
使用「+」按鈕添加技能。添加時支持表單模式、源碼模式或導入本地 .md 文件。
3、編輯和刪除可寫技能
可寫技能可以使用行內「筆」按鈕編輯;刪除時使用行內「垃圾桶」按鈕,刪除前會有二次確認。custom、bundled、runtime 來源的技能只讀,不顯示編輯和刪除入口。
4、卸載
卸載插件執行:
dsh plugin --profile web remove @lanxing/dsh-skill-manager
然後重啓 dsh web。
注意事項¶
- 面板開關通過遮蔽 Provider 生效,不直接修改
SKILL.md文件。 - 開關切換影響下一輪對話的目錄;正在進行的輪次不會中途變化。
- 對無活躍 agent 的冷會話,被禁技能在
/彈窗裏可能仍短暫可見。 - 增刪改僅作用於可寫根;
custom、bundled、runtime來源的技能只讀。 - 開關狀態保存在
~/.dsh/dsh-skill-manager.json;文件損壞時自動按空狀態啓動。 - HTTP 路由僅接受迴環地址 + 同源請求。
- 插件會以當前 dsh 進程權限運行,安裝前建議檢查 GitHub 源碼和 MIT 許可證。
結尾¶
dsh-skill-manager 把當前會話可見的 Skill 啓停、搜索和可寫技能維護集中到 DSH Web GUI 中,適合需要在 Web 端管理 DSH 技能狀態的開發者和插件使用者。
GitHub 倉庫: