zfdx123/dsh-atelier--packages-dsh-skills-manager ↗★ 0

@zfdx123/dsh-skills-manager

DSH 技能管理器:诊断、新建、编辑、开关、搬运磁盘上的技能(SKILL.md),补上官方 provider 静默跳过坏文件的那半边,并给模型一个 skill_manager 工具 适合需要调试、管理本地SKILL.md技能文件的DSH用户。

패키지
@zfdx123/dsh-skills-manager
호환성
미검증
Harness peer 범위
^0.1.6-alpha.1
Cordis peer 범위
^4.0.2
버전
1.0.1
라이선스
NOASSERTION
최근 업데이트
2026. 9. 21.

설치

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:zfdx123/dsh-atelier#8a3566cc5762e3e6d26b23c75c6ee3c4a336304f&path:packages/dsh-skills-manager

配置

设置命名空间 skill-manager(由宿主持久化),全部有默认值,不配也能用:

字段默认含义
customSkillDirs[]额外的技能根目录(对应官方 provider 的 customSkillDirs,rank 300)——只扫一层
deepSkillDirs[]递归扫描的技能根(rank 300):向下最多 3 层找 SKILL.md,用于仓库式技能库
bundledSkillDir''捆绑技能根(rank 600,只读)
projects[]除了进程 cwd 之外还要管理的项目目录
inventorytrue是否把管理的技能登记给 DSH(关掉则只在面板可见,模型加载不到)

前两项就是设置页「自定义技能文件夹」卡片管理的两个列表(含每个文件夹的「一层 / 递归」开关);后三项没有图形入口,写在设置里即可,inventory 改完立即生效。

根目录解析规则与官方完全一致(rank 越小越优先):

ranksource路径
100project-dsh`
/.dsh/skills`
200project-agents`
/.agents/skills`
300custom配置的 customSkillDirs / deepSkillDirs
400user-dsh/skills(跳过 .system)
500user-agents/skills
600bundled配置的 bundledSkillDir(只读)

projectRoot = 最近的含 .git 的祖先目录;没有就退回 cwd。bundledSkillDir 为空串时不会有第 6 个根。

模型工具 skill_manager

工具用 @deepseek-ai/dsh-tools 的 defineTool 定义(该包 DSH 自带,本包声明为 optional peer):下面这张表就是参数 schema 本身,同一份声明既编译成给模型看的 JSON Schema,也在 execute 之前做参数校验——类型或枚举不符的调用会在进入业务代码前被拒(未知 action 由校验层抛错,而不是靠 execute 里的兜底分支),声明与校验不会各写一份。

action必填说明
list—列出全部技能 + 诊断;status 可过滤 ok / warning / broken
roots—列出根目录、rank、是否可写、各有多少技能
readpath读一条技能的完整内容与诊断
createname, description新建;可选 rootPath / kind / whenToUse / body / modelInvocable / userInvocable
updatepath改 description / whenToUse / body
togglepath, modelInvocable 或 userInvocable开关入口
renamepath, newName改名 + 同步 frontmatter
movepath, targetRoot换根目录
copypath, targetRoot复制(可给 newName)
deletepath移入回收站
lint—只列有问题的技能
dirs—列出自定义技能文件夹(含「一层/递归」与技能数)
addDirpath添加自定义技能文件夹;create: true 时目录不存在则创建;deep: true 递归扫描
removeDirpath从管理器移除(不改动磁盘文件)
setDirDeeppath, deep就地切换某个已添加目录的扫描方式