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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye