DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

KeyboardPrince /

dsh-skill-manager

Verified

DeepSeek Harness 技能管理插件:列出、查看、创建、编辑、删除、开关调用、软删除还原

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@480660f4

dsh-skill-manager

DeepSeek Harness 的 skill 管理插件:列出、查看、创建、编辑、删除 skills,并提供模型调用开关与软删除/还原。插件包含:

  • 模型工具(宿主端,注册到全局工具层,所有会话的 agent 都可用):
    • skill_list — 列出当前工作区可见的全部 skill(名称、描述、model/user 开关、根目录、路径)
    • skill_view — 查看某个 skill 的完整说明(frontmatter + 正文)
    • skill_update — 编辑描述 / 正文 / 调用开关,或重命名
    • skill_delete — 永久删除
  • 设置页(浏览器端):设置 →「技能」,可视化清单 + 新建/编辑/删除/软删除还原/开关。
  • RPC 服务 ctx.skillManager(Typert 网关,供客户端调用):list / view / update / deleteSkill / trashSkill / restoreSkill / installSkill。

界面预览

技能管理设置页

安装

# 从 GitHub 安装到 web profile
dsh plugin --profile web add github:KeyboardPrince/dsh-skill-manager

说明:dsh plugin --profile web add <spec> 会原样把参数转发给 pnpm,因此 pnpm 支持的任何写法都可用:

  • github:KeyboardPrince/dsh-skill-manager — 从 GitHub 安装(推荐)
  • dsh-skill-manager — 从 npm registry 安装(需先 npm publish)
  • <tarball> / <目录> — 本地打包或目录安装

命令会把本包加入 profile 的依赖与 dsh.profile.bundles 栈,随后重启 dsh web 生效 (插件在启动时挂载;运行中的进程不会热加载新行)。生效后可在 设置 → 插件 里看到 dsh-skill-manager 行,并在设置 → 技能 打开管理页。

卸载:

dsh plugin --profile web remove dsh-skill-manager

开发循环

# 方式一:直接装目录(无需打包,改完重新 add 即更新)
dsh plugin --profile web add "C:\Users\admin\Desktop\plugin"

# 方式二:从 GitHub 安装指定提交/分支/标签
dsh plugin --profile web add "github:KeyboardPrince/dsh-skill-manager#v1.0"
# 安装后重启 dsh web 使挂载生效

它管理哪些 skill

与 DSH 自带的 dsh-skill-filesystem 发现机制使用同一套根(rank 越高优先级越高):

rank 根 路径
100 project-dsh <项目根>/.dsh/skills
200 custom 插件配置 customSkillDirs
400 user-dsh(默认创建位置) $DSH_HOME/skills

项目根 = 最近的 .git 祖先目录(无则取 cwd)。支持两种文件形态: <root>/<name>/SKILL.md(目录包,创建时默认采用)与 <root>/<name>.md(扁平文件)。

项目技能(project-dsh / project-agents)来自 DSH 在 workspace.json 中登记的工作区, 不依赖当前进程 cwd 是否含 .git,始终在设置页的项目分组中展示。

插件配置(可选)

在 profile 的 cordis.patch.yml 或 bundle 行配置中覆盖:

- insert:
    - id: skill-manager
      name: dsh-skill-manager
      config:
        dshHome: C:/path/to/.dsh     # 可选:覆盖 $DSH_HOME(默认 ~/.dsh)。不同部署可重定向存储根
        customSkillDirs:            # 可选:额外自定义根(rank 200)
          - D:/my-org/skills
  • dshHome:指向 DSH 存储根,影响全局技能目录($DSH_HOME/skills)、安装目标与 workspace.json 读取位置。
  • customSkillDirs:额外的用户自定义 skill 根目录(绝对或相对路径),按 RANK.custom = 200 排序。
  • 默认创建位置固定为 user-dsh($DSH_HOME/skills);「添加技能」经 RPC installSkill 时可指定 target 改为工作区根。

模型工具说明

工具 参数 作用
skill_list root? / cwd? 列出全部可见 skill,可按根过滤
skill_view name(必填) 查看单个 skill 的完整说明
skill_update name(必填)、description?、whenToUse?、body?、renameTo?、disableModelInvocation?、userInvocable? 编辑并可选重命名
skill_delete name(必填) 永久删除(不可恢复)

social_update 等"新建"动作由设置页经 RPC installSkill 完成(把外部 SKILL.md 原样写入目标根)。

skill 文件格式

---
name: my-skill
description: 一句话描述(必填,技能目录中显示)
whenToUse: 可选,说明何时使用
disable-model-invocation: false   # true 时从模型目录中隐藏
user-invocable: true              # false 时从用户斜杠命令中隐藏
---

# My Skill

正文(agent 加载的完整说明)。frontmatter 之外的额外字段会原样保留。

软删除与还原

设置页的「删除」默认走软删除:skill 被移入系统临时目录的回收区 ($TMPDIR/dsh-skill-trash),不会立即丢失,可在设置页还原回原始路径。 模型工具 skill_delete 则是永久删除,操作前请先用 skill_list 确认名称。

安全机制:删除/还原会校验技能真实位置(穿过符号链接后)是否落在其所属根的存储区, 防止删除工作区技能时误删全局/共享数据(如 DSH 自管的 .skills-manager 真实存储)。

开发

plugin/
├── cordis.patch.yml   # dsh.bundle.patch:插入插件行
├── lib/
│   ├── index.js       # 宿主插件:4 个模型工具 + skillManager 服务
│   ├── skills.js      # 核心逻辑:根解析 / frontmatter / 文件操作(纯 Node)
│   ├── typert.host.js # Typert RPC 清单(zod v4)
│   └── client.js      # 浏览器端设置页 UI(__ModuleLoader__ bundle)
├── package.json       # dsh.bundle + dsh.client 声明
├── test/
│   ├── smoke.mjs                  # 冒烟测试
│   └── verify-install-targets.mjs # 安装目标解析测试
└── README.md

无需构建步骤:宿主端与客户端都是手写 ESM / loader bundle,安装即用。 仅运行时依赖 zod(^4.4.3),要求 Node >=20。

—/ 5

No ratings yet

Verified DSH bundle

Commit 480660f42a98

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout