前言¶
DSH 的 skill 機制讓開發者可以自定義行爲,但現有的 skill 文件系統只能讀取,無法集中編輯和管理。本地 skill 存放在 ~/.dsh/skills 和 <項目>/.dsh/skills,分散在多個目錄,需要逐個打開編輯。
dsh-skill-manager 插件在 DSH 的「設置」裏提供了一個統一的技能管理界面,支持瀏覽、編輯、新建、刪除和啓停全局及項目 skill。
插件定位¶
dsh-skill-manager 是一個本地目錄型插件,由 Wyxcn445 維護。它通過在 DSH 設置中集成一個「Skill 管理」面板,解決 skill 文件分散、難以批量管理的問題。
核心功能¶
雙來源合併¶
插件同時展示全局根(~/.dsh/skills)與當前項目的 skill,按 DSH 的優先級規則合併同名條目。
無損編輯¶
直接編輯 SKILL.md 全文(frontmatter + 正文),保存時原樣寫回,不做 YAML 重排。
兩個開關¶
模型可調用(disable-model-invocation)、用戶可調用(user-invocable),點擊即時寫盤。
新建骨架¶
在任意掃描根下生成 <name>/SKILL.md,自動帶好合法 frontmatter。
刪除有備份¶
刪除前把整個目錄/文件複製到 ~/.dsh/skill-manager-backups/<時間戳>/。
診斷提示¶
name 不是 kebab-case、缺 description、調用開關取值非法等會被標出來。
自定義根¶
額外掃描任意目錄,配置存於 ~/.dsh/skill-manager-config.json。
掃描根與優先級¶
與 @deepseek-ai/dsh-skill-filesystem 保持一致,rank 小者優先:
| rank | 來源 | 路徑 |
|---|---|---|
| 100 | project-dsh |
<項目>/.dsh/skills |
| 200 | project-agents |
<項目>/.agents/skills |
| 300 | custom |
面板裏配置的自定義目錄 |
| 400 | user-dsh |
~/.dsh/skills |
| 500 | user-agents |
~/.agents/skills |
「項目根」取最近的含 .git 的祖先目錄;沒有 .git 時用你填寫的目錄本身。
skill 格式¶
目錄型 <name>/SKILL.md 或單文件 <name>.md,只認掃描根下的一層。frontmatter 示例:
---
name: my-skill
description: Use when the user asks to …
whenToUse: 可選,補充觸發場景
disable-model-invocation: true # 可選,阻止模型看到它
user-invocable: false # 可選,阻止 /my-skill 手動調用
---
name 必須是小寫 kebab-case,description 必填,否則 DSH 會跳過該 skill。
安裝與啓用¶
在 DSH 裏用 plugin_manager 安裝(target 填本目錄絕對路徑):
action: install_bundle
target: C:\Users\32474\Desktop\開源項目\dsh-skill-manager
安裝後打開 設置 → Skill 管理(在「規則管理」下面)。
本地目錄安裝是 link 到本目錄,不是拷貝。移動或刪除本目錄會讓插件失效,需要重新安裝。
典型用法¶
- 頂部「項目」框填入要掃描的項目路徑(默認取第一個工作區),留空則只掃描全局 skill。
- 左側列表點選 skill,右側即可編輯
SKILL.md全文,Ctrl+S保存。 - 卡片上的「模型 / 用戶」兩個膠囊開關可即時啓停,無需手動改 frontmatter。
- 「+ 新建 skill」會在選定的根下生成
<name>/SKILL.md骨架。 - 「刪除」會先整份備份到
~/.dsh/skill-manager-backups/<時間戳>/。
適用場景與注意¶
適合需要批量管理多個 skill 的開發者,特別是使用項目級 skill 的團隊。插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
生態背景¶
DSH 理念是「一切皆插件」;社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。
短結尾¶
dsh-skill-manager 提供了集中管理 DSH Skills 的本地界面,支持瀏覽、編輯、新建、刪除和啓停,適合需要精細控制 skill 的開發者。