dsh-skills-manager:在 DeepSeek Harness 裏統一管理 Skill 庫

前言

在 DSH 以及 Claude Code、Cursor、Codex 等工具裏,Skill 往往分散在各項目的 .dsh/skills、.claude/skills 等目錄,或各自的全局路徑下。更新一個 Skill 要逐個目錄改,從 Git 拉新版本也要重複操作;不同智能體之間的 Skill 還很難對齊。下面介紹 charonX 維護的 dsh-skills-manager(npm 包名 @charonx/dsh-skills-manager):把 Skill 收進獨立庫,再通過符號鏈接分發到多個項目與多種智能體目錄,並在 Harness 側邊欄提供專用 Skills 頁面(與 Plugins、Automation tasks 並列)。

這是什麼

dsh-skills-manager 是面向 DeepSeek Harness 的 Skill 庫管理插件。維護者爲 charonX,在 SkillHub 目錄中歸類爲「工作流」。它負責:從 Git 或本地文件夾安裝 Skill 來源、檢查與更新版本、掃描並導入其他智能體已安裝的全局 Skill,以及通過符號鏈接把庫中的 Skill 分發到指定項目。

庫默認落在 Harness 用戶目錄下的 skills-manager 區域(README 架構圖中爲 ~/.dsh/skills-manager),與各智能體默認掃描路徑分離;只有顯式「鏈接到項目」後,Skill 纔會出現在項目會話或其它 agent 目錄中。

核心功能

一個庫、多種來源

每個來源可以是 Git 克隆或複製來的本地文件夾;一個來源裏可以只有一個 Skill,也可以包含很多個。Skill 在庫內統一組織爲 skills/<name>/SKILL.md 等形式。

版本與更新

若來源帶有 package.json,以其中的 version 爲準;否則用 git describe --tags --always --dirty。Git 來源可在界面上 Check for updates:拉取遠端並報告落後/領先的提交數、本地改動及上游版本標籤。Update 顯式執行 git pull --ff-only,失敗時保留原始 Git 輸出。

安裝來源

支持 HTTPS、SSH、類 scp 的 Git 地址,以及本地文件夾(複製時不帶 .git)。還可通過掃描器發現 DSH、Claude Code、Codex、Cursor、Gemini CLI、OpenCode、Windsurf 及共享 agent 已安裝的全局 Skill,再選擇性導入。

按項目符號鏈接分發

一次可爲多個項目建立鏈接;每個項目可選擇要寫入的智能體目錄(README 提到約 75 種約定目錄名,外加 dsh)。鏈接是真實符號鏈接指向庫目錄;目標位置若已有普通文件、目錄或外來符號鏈接,會報衝突且不會覆蓋。

兩級開關

庫級開關爲主控:關閉後 Skill 不再進入模型目錄與 / 菜單。項目級開關只控制是否分發到該項目。

與 DSH 的集成

Skill 通過專用 SkillProvider(rank 450)進入模型 skill catalog 與 / 菜單;鏈接到項目的 Skill 還會在對應項目會話(project-dsh,rank 100)及其它所選 agent 目錄中可見。Skills 頁面通過同源 HTTP 調用宿主路由,由宿主執行安裝、更新、掃描、導入等操作。

安裝與啓用

環境要求(來自 README 與 package.json):

  • Node.js ≥ 24.9
  • DeepSeek Harness 0.2.1-rc.5 或更新(README 註明在 0.2.1-rc.5 與 0.2.2-alpha.2 上測試;package.json 的 engines.dsh 爲 >=0.2.1-rc.5 <0.3.0)
  • 僅在使用 Git 來源時需要系統已安裝 git

插件以 profile bundle 形式發佈。官方示例使用名爲 skills-test 的 profile,安裝前請按自己的 profile 名稱替換 --profile 參數。

從 npm 安裝:

dsh plugin --profile skills-test add @charonx/dsh-skills-manager

從 Git 安裝(倉庫已提交構建產物,無需額外 build 審批):

dsh plugin --profile skills-test add git+https://github.com/charonX/dsh-skills-manager.git

或使用 GitHub Release tarball(示例版本與 README 一致):

dsh plugin --profile skills-test add https://github.com/charonX/dsh-skills-manager/releases/download/v0.1.2/charonx-dsh-skills-manager-0.1.2.tgz

注意:npm 上未限定 scope 的 dsh-skills-manager 屬於其它項目;應使用 @charonx/dsh-skills-manager。

桌面端也可通過 Plugins → Add plugin → local path 添加本地路徑,然後在側邊欄打開 Skills。更完整的步驟與排錯見倉庫 docs/INSTALL.md。

典型用法

添加來源(Sources)

在 Skills 頁添加 Git 倉庫或本地文件夾。刪除來源會先移除所有項目鏈接,再刪除對應目錄與記錄。

鏈接到項目

項目字段爲多選下拉:選擇工作區目錄或自定義路徑,勾選目標 agent(默認含 dsh),一次提交可寫入所有選中項目。

已鏈接項目(Linked projects)

每個項目行展示 Skill 狀態、項目級開關,以及 agent 名稱(例如 linked dsh · claude-code)。Resync 可恢復被刪的鏈接、修復被手動改指向庫的鏈接,並清理失效鏈接與陳舊記錄。Unlink all 移除鏈接及記錄。

掃描並導入

掃描器讀取例如 ~/.dsh/skills、~/.agents/skills、~/.claude/skills、~/.cursor/skills 等全局根目錄(另含 Codex、Gemini、OpenCode、Windsurf 等路徑及 scanSkillDirs),按來源分組展示;缺失或爲空的根顯示 0。導入會把選中的 Skill 複製到庫內的 imported-<origin> 來源,不會對外部目錄做符號鏈接。

導入衝突按 Skill 名稱與 SKILL.md 的 sha256 判定:同名同內容跳過;同名不同內容時,若庫內副本由本插件通過本地/Git 管理,則按 README 表格中的策略處理(截斷資料未展開的行,使用前可在 GitHub README 查看完整表格)。

適用場景與注意

適合需要在多臺機器或多個項目間複用同一套 Skill、且希望與 Claude Code、Cursor 等目錄約定對齊的 DSH 用戶。列表支持來源卡片與已鏈接項目的摺疊,以及 Expand all / Collapse all 批量操作。

插件在 當前 DSH 進程權限 下運行,會執行 git clone、git pull、文件複製與創建符號鏈接等操作。安裝前請閱讀 GitHub 源碼 與 MIT 許可證,確認行爲符合你的安全與合規要求。

SkillHub 上的插件目錄由社區維護,與 DeepSeek / 幻方無官方從屬關係;本文事實以倉庫 README 與 npm 包元數據爲準。

結尾

dsh-skills-manager 把 Skill 的安裝、更新、跨 agent 導入和按項目 symlink 分發集中到一個庫和 Harness 的 Skills 頁面,減少重複維護多個目錄的成本。目錄頁:https://www.skillhub.cn/plugins/charonX/dsh-skills-manager;源碼與文檔:https://github.com/charonX/dsh-skills-manager。

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

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

小夜