dsh-skill-compat-plus:把 Claude Code / Codex / ZCode 技能目錄掛進 DSH

前言

DeepSeek Harness(dsh)用 SkillProvider 機制加載技能,目錄約定與 Claude Code、Codex、ZCode 並不相同。若你在多套工具裏分別維護 SKILL.md 與技能目錄,切到 dsh 後往往只能逐個複製並手動同步,既佔時間也容易漂移。

社區插件 dsh-skill-compat-plus(維護者 shuxidemosheng,GitHub 倉庫 shuxidemosheng/dsh-skill-compat-plus)的做法是:不遷移文件,把上述三家的技能目錄作爲只讀技能來源掛進 dsh。技能留在原路徑,模型側進入 skill 工具的 <available_skills> 按需加載;對標記爲 user-invocable 的技能,用戶可在 dsh 裏用 /名字 調用。目錄頁見 skillhub.cn(社區目錄,與 DeepSeek / 幻方無官方從屬關係)。

這是什麼

一句話:dsh 技能兼容層插件——Mount Claude Code / Codex / ZCode skill directories into DeepSeek Harness as read-only skill providers。

分類爲「工作流」。npm 包名 dsh-skill-compat-plus,當前 README 與 package.json 標註版本 0.1.0,許可證 MIT。運行要求:Node ≥ 24,dsh ≥ 0.2.0-rc.2(README badge 與 engines 一致)。

核心功能

只讀掛載,零遷移

技能文件不復制、不改寫;卸載插件後恢復原狀。插件側主要做發現、frontmatter 映射與 catalog 更新;技能內容由 dsh 官方 skill 管線加載,README 說明本插件不執行技能內代碼。

默認掃描的來源與目錄

來源 目錄 默認
claude-code ~/.claude/skills 與 <項目根>/.claude/skills 開啓
codex ~/.codex/skills(舊約定;新官方 ~/.agents/skills 由 dsh 原生掃描) 開啓
zcode ~/.zcode/skills 與 <項目根>/.zcode/skills 開啓
extraDirs 任意額外目錄({ path, label?, rank? }) 空

目錄不存在時靜默跳過;每家來源可單獨開關、自定義路徑與 rank。

雙側可用與熱更新

  • 用戶側:user-invocable 技能獲得 dsh 原生 /名字 入口(host 端 pre-step 解析)。
  • 模型側:同一批技能進入 <available_skills>,按需自動加載。
  • 熱更新:chokidar 監聽與存在性輪詢;watch 默認開啓。README 稱目錄增刪改甚至事後新建整個目錄,一般無需重啓 dsh。

名稱與描述兜底

dsh 要求 kebab 風格名稱與非空描述。插件默認開啓 slugifyNames(如 code_review → code-review)與 synthesizeDescription(Claude 缺省 description 時從正文首段合成)。關閉後不合規或缺 description 的技能會被 skip。

優先級

dsh 原生技能 rank 更低(更優先),同名時原生恆優先;項目級導入 rank 高於用戶級導入。完整 rank 表見倉庫 README。同名衝突時插件會輸出 duplicate skill name 類診斷,且按「問題集合變化」聚合 warn,避免 catalog 重建時刷屏。

frontmatter 映射(摘要)

外來字段 映射
name 缺省取目錄名;不合規則 slug 化(可關)
description 缺失則正文首段合成(可關)
when_to_use / whenToUse → whenToUse
disable-model-invocation → invocation.modelInvocable: false
user-invocable → invocation.userInvocable
Codex agents/openai.yaml 的 policy.allow_implicit_invocation: false → invocation.modelInvocable: false
allowed-tools / model / hooks 等 原樣進 metadata(dsh 無對應執行語義,不靜默丟棄)

安裝與啓用

README 推薦 CLI 安裝時帶版本號,以規避 profile 安裝端的 minimumReleaseAge 冷卻:

dsh plugin --profile <你的profile> add dsh-skill-compat-plus@0.1.0

桌面端:在插件頁搜索 dsh-skill-compat-plus 一鍵安裝,裝完重啓。文檔寫明裝完後默認三家來源全開,目錄不存在自動跳過,無需額外配置即可試用。

其他安裝方式(均來自 README):

# git 直裝(始終跟蹤 main)
dsh plugin --profile <你的profile> add git+https://github.com/shuxidemosheng/dsh-skill-compat-plus.git

本地 tgz:npm pack 後執行 dsh plugin --profile <你的profile> add file:<打包路徑>/dsh-skill-compat-plus-0.1.0.tgz。

典型用法

  1. 按上文命令爲當前 profile 安裝插件並重啓 dsh(桌面端)或重新打開會話。
  2. 確認本機已有任一技能目錄(例如 ~/.claude/skills);不存在則對應來源自動跳過。
  3. 在 dsh 中輸入 /,應能看到導入技能的補全列表(README 示意:用戶級 Claude、Codex 等可一次出現在列表中)。
  4. 模型對話中,同一批技能出現在 skill 工具的 <available_skills>,由模型按任務按需加載。

若技能過多、持續佔用上下文,可在配置裏用 sources.*.enabled 或 extraDirs 按需收窄來源(見下節)。

配置(可選)

配置寫在 cordis.patch.yml 的 entry config 下;profile 層可覆蓋,整體爲替換語義;未知鍵 fail-fast。常用鍵默認值如下:

鍵 默認 說明
providerName skill-compat-plus provider 註冊名
sources.claude / .codex / .zcode true boolean 或 { enabled?, project?, root?, rank? }
extraDirs [] { path, label?, rank? }[]
watch true 熱更新
watchUsePolling false 網絡盤等可開
slugifyNames true 關閉後不合規名 skip
synthesizeDescription true 關閉後缺 description skip

README 提醒:導入技能會進入每個會話的 <available_skills> 提醒,掛太多會持續佔用模型上下文。

已知限制與 FAQ 要點

  • Claude / ZCode 插件包內部緩存目錄不在默認發現範圍,可用 extraDirs 手動掛載。
  • 項目級只掃最近 .git 祖先一級(對齊 dsh 官方);不支持 Claude 嵌套 <subdir>/.claude/skills、--add-dir、企業託管目錄等。
  • allowed-tools / model / hooks 等僅保留在 metadata,dsh 側無執行效果。
  • ~/.agents/skills 已是 dsh 原生掃描目錄,無需本插件橋接。
  • 修改文件未生效:確認 watch: true;網絡盤可設 watchUsePolling: true。

適用場景與注意

適合:已在 Claude Code、Codex(~/.codex/skills)、ZCode 積累技能,希望在 dsh 中複用同一套文件、避免雙份維護的開發者。

注意:插件隨當前 dsh 進程權限運行,安裝前請自行查看源碼與 MIT 許可證;README 提供 Mimosa 審計記錄(v0.1.0,findings 0)。社區目錄 skillhub.cn 與 GitHub 爲事實來源,本文以倉庫 README 與 package.json 爲準。

結尾

dsh-skill-compat-plus 用只讀掛載把三家外部技能目錄接入 dsh SkillProvider:默認路徑開箱、字段映射與 slug 兜底、熱更新與原生優先級隔離,適合作爲「工作流」類兼容層插件使用。

  • 目錄頁:https://www.skillhub.cn/plugins/shuxidemosheng/dsh-skill-compat-plus
  • GitHub:https://github.com/shuxidemosheng/dsh-skill-compat-plus
羽毛球分组比赛记分
小程序二维码

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

小夜