前言¶
在 DeepSeek Harness(DSH)中,技能是控制模型行爲、注入預設邏輯的重要手段。當技能數量增多、分佈在多個目錄、並在不同模式下啓用或禁用時,手動管理會變得繁瑣:容易遺漏、難以追蹤使用頻率,也難以統一更新。dsh-mode-skills 爲這些問題提供了一套集中的管理入口。
這是什麼¶
dsh-mode-skills 是一個爲 DeepSeek Harness 設計的技能管理插件。它由 xiaohai-78 維護,開源協議爲 MIT。插件在側邊欄添加「Skills」入口,與「Plugins」和「Automation tasks」並列,讓你能查看所有技能、按模式開關、搜索與打標籤、創建與編輯、導入與版本控制,並從 GitHub 或技能目錄安裝。
核心功能¶
側邊欄入口與概覽¶
在側邊欄,Skills 位置在 Plugins 和 Automation tasks 下方,不在設置頁。每個技能顯示名稱、來源(DSH 用戶目錄、共享目錄、項目、模式內置、已安裝包、GitHub 等)和描述。展開後可查看文件位置、使用說明以及該技能在每個模式中的狀態。
按模式開關技能¶
插件爲每個加載技能的模式提供開關列(最多顯示四列;窗口較窄或模式較多時,行會顯示啓用該技能的模式數量)。單擊即可在對應模式中開啓或關閉技能;顯示爲短橫線表示該模式不加載該技能。展開某一行後,可爲每個模式設置狀態:On、Manual、Model 或 Off。你也可以一次性在所有模式中開啓或關閉技能,並提供撤銷操作。
- On:技能在該模式下默認可用。
- Manual:模型看不到該技能,但你可以通過
/技能名手動啓動。 - Model:模型能看到該技能,但不會出現在
/菜單中。 - Off:技能在該模式下被禁用。
對於不加載技能的模式(如 Minimal)或模式不支持的技能,狀態無法設置,並會顯示原因。
搜索、打標籤與過濾¶
搜索框匹配技能名稱、描述、顯示名稱、標籤以及技能文件中的文本(命中文本會標註「Text match」)。你可以爲技能設置顯示名稱(例如中文別名)和標籤,並通過標籤進行過濾。這些設置保存在插件自身的設置中,不修改技能文件本身。
項目技能¶
在「Project」部分,你可以選擇一個項目文件夾(點擊 Show 按鈕時會檢查並給出最近使用的選項),並查看該項目的 .dsh/skills 和 .agents/skills 中的技能。針對項目命名的技能開關會應用於所有同名項目,而會話僅在運行於該項目時才加載該技能。
從 GitHub 安裝¶
通過「Import skills → GitHub」,可以輸入倉庫地址(github.com/owner/repo,或帶分支和文件夾的完整地址,或簡寫 owner/repo),插件會下載公開歸檔並列出其中的技能。對於包含腳本的技能會給出警告。只有選擇後纔會安裝。插件會記住提交信息,之後可通過「Check for updates」對比倉庫當前版本與已安裝技能的文件夾,使用「Update all」安裝更新(更新前會將當前文件保存爲版本)。目前不支持私有倉庫。
技能目錄與安裝¶
點擊右上角的「Skill store」按鈕,可以搜索 skills.sh(一個公開技能目錄,帶有安裝計數),並查看插件內置的一組知名倉庫。點擊「View and install」會打開對應倉庫,支持篩選長列表,通過 ESC 返回技能目錄搜索結果,確認後點擊「Import selected」完成安裝。只有確認後纔會安裝,安裝後可以繼續瀏覽或結束。
按模式使用統計¶
「Usage」頁面統計各模式在過去 7、30、90 或 365 天內加載技能的次數(包括模型調用 skill 工具和手動輸入 /技能名),並顯示最後一次加載時間。可以在頂部選擇一個模式,查看該模式加載了哪些技能、從未加載哪些技能。它列出在所有模式或指定模式下都沒有被加載的技能,並提供在該模式中關閉的選項(帶撤銷)。統計讀取會話歷史中的名稱和時間,不分析消息文本,最多讀取最近 400 條會話,耗時不超過 25 秒,已保存的會話在 10 分鐘內可複用。
Token 成本估算¶
每個技能及其所在模式的技能目錄都會顯示大致的 Token 成本(列標題顯示模式成本,切換技能時隨之變化)。列表支持按 Token 數排序,幫助你在不同模式中決定哪些技能可以關閉以節省成本。具體估算方法見插件文檔的 Development 部分。
處理 DSH 無法加載的技能¶
插件會列出在技能文件夾中存在 SKILL.md 但 DSH 無法加載的文件,並給出原因(如缺少 Front Matter、YAML 語法錯誤、名稱無效、舊字段拼寫錯誤等)。對於可自動修復的文件,會提供修復後的內容供預覽和保存,保存前會先備份原文件。
回收站與版本歷史¶
刪除的技能會進入回收站,可以恢復或永久刪除。刪除後立即出現的提示提供撤銷選項。回收站不會自動清空。
通過「New skill」可以創建新技能,輸入名稱、描述、所在文件夾(DSH 自身或與其他代理工具共享的文件夾)以及初始啓用的模式,然後打開 SKILL.md 編輯器。編輯 SKILL.md 之前會自動保存當前文件爲版本;如果在編輯過程中文件在其他地方被修改,會提示。未保存的編輯在摺疊行或切換頁面時保持,離開編輯器前會詢問。屬於已安裝包的技能不能修改。
通過「Files and export」可以查看技能文件夾中的其他文件,進行查看、編輯、添加或刪除操作(舊文件會保留在 .dsh-mode-skills/backups/ 中),將技能導出爲 .zip,或在 ~/.dsh/skills 和 ~/.agents/skills 之間移動。
「Import skills」可以列出 Codex(~/.codex/skills)、Claude Code(~/.claude/skills 和插件技能)以及其他遵循 ~/.<tool>/skills 命名約定的代理工具的技能,讀取任意文件夾,或拖入/選擇 .zip 或技能文件夾。選中的技能會被複制;遇到同名衝突時可以重命名導入或替換現有技能(替換前會保存版本)。導入的技能不保留來源信息。
導入的技能會記錄來源,後續當來源發生變化時,列表會標記爲「Source changed」,展開後可以再次導入。
通過「Save version」可以手動保存版本(可選添加備註),查看、恢復到文件(保存當前文件後恢復)或刪除版本,已刪除的版本編號不會複用。
插件本身提供更新提示,確認後會使用 DSH 的安裝程序進行更新。
當安裝了 dsh-modes 時,插件會將按模式設置、導入記錄和版本控制的操作委託給 dsh-modes,並在其 Skills 頁面中同步。此時,Manual 和 Model 等不在 dsh-modes 中的設置將不可用。之前僅此插件保存的設置會被置爲未使用,可通過「Hand over to Mode Manager」將 Off 狀態遷移過去。回收站、跳過文件檢查、Token 成本、上傳、GitHub 安裝、顯示名稱與標籤、項目文件夾、文件編輯器和其他代理工具的文件夾等功能保持不變。
典型用法¶
- 在側邊欄點擊「Skills」,查看當前所有技能及其在各個模式中的狀態。
- 在頂部搜索框輸入關鍵詞,按標籤篩選,或查看文本匹配結果。
- 選擇一個模式,在該模式下通過開關控制技能的啓用狀態,或展開某行爲每個模式單獨設置。
- 點擊「New skill」創建新技能,配置名稱、描述和啓用模式,然後編輯 SKILL.md。
- 通過「Import skills」從 Codex、Claude Code 或其他代理工具目錄導入現有技能,或從 GitHub 倉庫安裝技能。
- 在「Usage」頁面查看各模式加載技能的頻率,關閉未被使用的技能以節省 Token 成本。
- 定期從 GitHub 檢查更新,或從「Skill store」瀏覽並安裝新的技能。
- 使用「Files and export」管理技能文件夾中的其他文件,或導出技能爲 zip。
適用場景與注意¶
適合需要集中管理多個技能、在不同模式下靈活開關、追蹤技能使用頻率、從其他代理工具遷移技能、以及需要版本控制與批量更新的 DSH 用戶。插件以當前 DSH 進程的權限運行,安裝前應檢查源碼與許可證。
短結尾¶
dsh-mode-skills 爲 DeepSeek Harness 提供了一個統一的技能管理入口,幫助你在多個模式中高效開關、搜索、導入與版本化技能,並追蹤使用成本。訪問目錄頁和 GitHub 倉庫可獲取更多信息。