dsh-skill-manager:爲 DSH Web GUI 增加 Skills 面板

前言

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 倉庫:

https://github.com/Lanxing6480/dsh-skill-manager

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

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

小夜