dsh-skills-reference
DSH plugin: cross-workspace skill referencing - declare references, update once, reuse everywhere
- Stars
- 0
- Language
- TypeScript
- Created
- Sep 7, 2026
- Updated
- Sep 7, 2026
Introduction
dsh-skills-reference
DSH 插件:跨工作区 skill 引用。源工作区拥有 skill,其它工作区声明引用,一处更新处处复用,无需手动复制。
功能
- 引用声明:在工作区本地
.dsh/skill-references.yml声明「展示名 + 源工作区根路径」。 - 引用注册:复用官方
dsh-skill-filesystem发现机制,把源工作区.dsh/skills整体注册进当前会话;源目录变化即时失效重发现,无需重启。 - 可视化面板:Web 侧边栏「skill 引用」入口,图形化查看 / 添加 / 删除引用,并预览当前会话已生效的 skill 清单。
引用语义
- 纯跟随(只读,改动回源工作区统一改,本地不派生)。
- 目录级引用(整个
<源>/.dsh/skills一体引用,不支持挑单个 skill)。 - 同名冲突时引用源优先。
用法
声明文件
- name: skill-hub
path: D:\workspaces\skill-hub
path 填写源工作区根目录(该目录里能直接看到 .dsh 文件夹),插件会自动取 <path>/.dsh/skills。
⚠️ 常见错误:把
path选到.dsh、.dsh/skills或单个 skill 目录,会被拼成<path>/.dsh/skills而找不到。选中「能看到.dsh的那个目录」就对了。
面板操作
在目标工作区打开会话 → 侧边栏点「skill 引用」→ 面板内「添加引用」用目录选择器选源工作区根 → 保存。写后立即生效,无需重启。
开发
pnpm run build # tsc 编译 host + esbuild 打包 client
pnpm run sync # 构建并同步 lib/ 与 package.json 到 DSH profile,之后重启 DSH 生效
pnpm run test # 单测
同步插件到当前用户的 DSH profile(目标目录由 sync.mjs 按用户主目录解析,可用环境变量 DSH_PROFILE_DIR 覆盖)。
测试
预设测试见 .intentflow/skill-reference/requirement.md 的「预设测试」一节:源工作区 D:\dev\skill-dev(含 .dsh/skills/alpha/SKILL.md),引用工作区 D:\dev\project-b,验证发现 / 实时更新 / 同名冲突 / 面板增删 / 预览即时刷新。