前言¶
DeepSeek Harness (DSH) 生態主張「一切皆插件」,技能作爲客戶端能力的重要組成部分,通常以本地文件形式存在。開發者在使用過程中,往往需要頻繁地啓用或禁用特定技能以測試不同配置,而直接修改配置文件通常需要重啓 DSH Web 進程。
dsh-skill-manager 插件解決了這一痛點,它將本地技能管理集成到 DSH Web 的設置頁中,允許在不重啓的情況下動態控制技能狀態。
這是什麼¶
dsh-skill-manager 是一個 DSH Web 本地技能管理插件。它由 SiriusWJ 維護,採用 MIT 許可證。
核心功能¶
該插件提供以下能力:
-
技能發現
掃描以下目錄:- 用戶目錄:
~/.dsh/skills、~/.agents/skills - 當前活動工作區:
.dsh/skills、.agents/skills
- 用戶目錄:
-
界面交互
- 在「設置 → 插件 → 插件配置」頁顯示「技能管理」卡片。
- 卡片樣式與官方插件保持一致,支持展開與收起。
- 支持按名稱、描述或路徑搜索技能。
-
控制與刷新
- 支持切換每項技能的「模型自動調用」開關。
- 禁用技能會將技能根目錄下的
SKILL.md中的disable-model-invocation字段設爲true。 - 修改操作通過 DSH 技能目錄熱刷新機制生效,無需重啓。
-
衝突處理
- 當存在同名技能時,插件僅顯示當前有效項,遵循 DSH 官方優先級(項目
.dsh→ 項目.agents→ 用戶.dsh→ 用戶.agents)。
- 當存在同名技能時,插件僅顯示當前有效項,遵循 DSH 官方優先級(項目
安裝與啓用¶
安裝該插件需要安裝 DSH 版本 >= 0.1.5-rc.1。
使用以下命令從 GitHub 安裝:
dsh plugin --profile web add github:SiriusWJ/dsh-skill-manager
安裝完成後,重啓 dsh web 即可在插件配置頁看到該卡片。
典型用法¶
- 重啓
dsh web。 - 進入「設置 → 插件 → 插件配置」。
- 點擊「技能管理」卡片的標題欄展開視圖。
- 使用搜索框定位技能。
- 點擊技能列表項右側的開關,啓用或禁用「模型自動調用」。
適用場景與注意¶
- 兼容性:需要 DSH 版本
>= 0.1.5-rc.1。插件依賴@deepseek-ai/schemastery。 - 安全邊界:API 僅接受 loopback 請求,寫操作要求瀏覽器同源。客戶端提交的路徑僅作爲身份聲明,寫入前會重新掃描並覈對技能名與完整路徑。
- 文件更新機制:更新
SKILL.md時使用臨時文件加原子改名操作,避免文件監聽器讀取到半寫狀態。 - 符號鏈接:技能根目錄中的符號鏈接被視爲用戶主動掛載,技能的啓用/禁用操作會跟隨鏈接並原子改寫真實目標。
結語¶
dsh-skill-manager 實現了本地技能的即時管理與配置熱更新,降低了開發測試的維護成本。完整代碼與目錄可在此查看:GitHub | 社區目錄