dsh-skills-tools:DSH 的 Skills 管理器

前言

在 DeepSeek Harness 裏做 Agent Skills 協同時,常見的問題在於技能靠手工維護:從 Git 倉庫拉下來、放進某個目錄、改配置註冊、不再使用時又得手動摘除。技能數量漲起來之後,啓停、更新、查看內容都變成重複操作,而且停用後是否真的從模型上下文裏移除,往往並不直觀。

dsh-skills-tools 就是針對這個環節的插件。它由 hxlog 維護,定位是 DeepSeek Harness 的 Skills 管理器:從 Git 倉庫或本機目錄導入 Agent Skills,按倉庫分組管理,隨時啓用、停用、補齊和查看內容。它屬於社區目錄中「工作流」分類下的插件,與 DeepSeek / 幻方無官方從屬關係。

適合誰

已經在使用 DSH、希望把技能的來源、啓用狀態和更新管起來的人。如果你的技能只有一兩個、且長期不變,動手裝插件的收益不大;如果技能來自多個倉庫、需要頻繁啓停或跟隨上游更新,這個插件能減少重複操作。

核心能力

下面按功能逐項說明。

  • 按倉庫分組:技能按來源倉庫聚合成可摺疊的倉庫卡片;有啓用技能的倉庫優先排列,倉庫內已啓用的技能優先。
  • 部分導入補齊:只導入了部分技能的倉庫會顯示「可導入 N 個」,點「導入更多」即可從現有快照裏勾選剩餘技能,不需要重新克隆。
  • 倉庫級開關:一鍵啓用或停用整個倉庫;部分啓用時開關顯示半選狀態。
  • 展開查看內容:行右側箭頭可以展開 SKILL.md 正文、來源倉庫、提交、路徑與更新時間,也可以就地更新或移除。
  • Git 導入與快照:支持 https / ssh / 內網倉庫、分支 / 標籤 / 提交與子目錄;導入的是隻讀快照,原目錄和遠端不會被修改。
  • monorepo 子目錄:粘貼 /tree/<ref>/<subdir> 形式的大倉庫地址即可導入子目錄技能,只拉取目標子目錄,無需下載整倉。
  • 檢查更新:對比上游最新提交,確認後再切換快照;多個倉庫可以一次檢查。
  • 全局摺疊:頂部一鍵全部展開 / 全部摺疊;首次打開默認摺疊,摺疊狀態記在本機,刷新後保持不變。
  • 自動檢查更新:打開設置頁自動檢查一次,頁面可見時每 30 分鐘複查;發現新提交時頂部橫幅提示,可「全部更新」或逐個更新。
  • 最近操作彈窗:工具欄打開獨立彈窗,按時間倒序列出啓用、停用、導入、更新與失敗記錄,可刷新、複製;重啓後仍保留最近 300 條。

README 中有一句明確說明:停用的技能不會註冊進模型,既不佔上下文,也無法被誤調用。這是該插件區別於「僅隱藏 UI 條目」的做法。

安裝與啓用

環境要求是 DeepSeek Harness 0.2.x(Web GUI dsh web 或 DSH Desktop),以及 Node.js ≥ 22.13。包發佈在 npm,名字是 dsh-skills-tools,當前版本 1.3.0。

需要注意的是,這是 DeepSeek Harness 插件,不是普通 npm 依賴庫。npm i dsh-skills-tools 只會下載包,運行時仍需裝進 DSH profile。

通過插件頁安裝(推薦):

  1. 打開 DSH Web(或 DSH Desktop)→ 側邊欄「插件」(Desktop 在「設置 → 插件」)。
  2. 點安裝,填入 dsh-skills-tools,確認。
  3. 啓用新 bundle,刷新頁面,打開「設置 → 技能」。

通過命令行安裝:

dsh plugin add dsh-skills-tools                    # 默認 profile
dsh plugin --profile web add dsh-skills-tools      # Web
dsh plugin --profile desktop add dsh-skills-tools  # Desktop

裝完後有一點容易忽略:dsh plugin add 只負責把包裝進 profile,不會自動啓用 bundle。需要到插件頁啓用一次,或確認 profile 的 dsh.profile.bundles 已包含 dsh-skills-tools。

典型用法

導入並管理技能的過程如下。

  1. 打開「設置 → 技能 → 導入技能」,粘貼 Git 地址。支持 https://、git@、file:// 與本機絕對路徑;內網倉庫直接使用本機 git 憑據。
  2. 可選填分支 / 標籤 / 提交與子目錄,點「掃描」。勾選要安裝的技能,重名項會給出可修改的建議名稱,點「安裝選中」。安裝即啓用。
  3. 回到列表按倉庫管理:倉庫開關批量啓停,行開關控制單個技能,「導入更多」補齊同倉庫剩餘技能,點右側箭頭查看正文。

數據放在插件數據目錄裏:

~/.dsh/dsh-skills-tools/
├── state.json                 倉庫、技能、啓用狀態與檢查時間
└── repos/<倉庫>-<提交>/        只讀快照

每次導入或更新把倉庫複製到該目錄,刪除技能只刪狀態,不影響倉庫與快照。啓用狀態決定技能是否註冊進 DSH 技能目錄;停用即從模型上下文移除。

對外提供 REST 接口,便於腳本化操作:

GET  /skills-tools/api/state
POST /import/scan
POST /import/commit
POST /repos/inspect
POST /repos/import
POST /repos/toggle
POST /repos/check-updates
POST /skills/toggle
POST /skills/bulk
POST /skills/remove
POST /skills/update
POST /refresh
GET  /logs

接口細節見倉庫中的 docs/API.md。

權限邊界與注意事項

安全方面,插件不保存令牌,Git 認證交給本機 credential helper 或 SSH key,插件只調用 git;導入與更新都寫入數據目錄,原倉庫目錄與遠端不會被修改;除填寫的倉庫地址外不發起網絡請求。

權限範圍如下:

  • 文件訪問:讀寫插件數據目錄 ~/.dsh/dsh-skills-tools/;導入本機目錄時只讀取該目錄。
  • 網絡:僅在導入、檢查更新時訪問填寫的 Git 倉庫。
  • 進程:導入 / 檢查更新時調用本機 git。
  • UI 注入:設置頁「設置 → 技能」面板,依賴 @deepseek-ai/dsh-client-ui-settings 與 @deepseek-ai/dsh-client-locale。

已知限制:

  • 只管理當前 DSH profile 的技能,切換 profile 需重新導入。
  • Git 來源需要本機安裝 git;內網倉庫需要事先配置好憑據。
  • 技能內容預覽最多 64 KiB,超出部分以省略號截斷。

這幾個限制在裝之前值得先對照自身環境,尤其是內網倉庫的憑據是否已經就緒。

關於安裝來源

該插件以當前 dsh 進程權限運行,能夠讀寫插件數據目錄、調用本機 git。安裝前建議先打開倉庫源碼和 LICENSE(MIT)確認無異味,再決定是否啓用。需要留意的是,它運行在你自己的工作進程裏,屬於第三方社區插件,不是 DSH 官方維護的組件。

小結

dsh-skills-tools 把技能的導入、分組、啓停、更新和查看收進了一個設置面板,替代的是手工挪目錄、改配置這一串動作。價值集中在多倉庫、多技能、需要頻繁調整的場景;技能少且穩定時,收益相對有限。

  • 社區目錄頁:https://www.skillhub.cn/plugins/hxlog/dsh-skills-tools
  • GitHub:https://github.com/hxlog/dsh-skills-tools
羽毛球分组比赛记分
小程序二维码

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

小夜