DSH 技能管理插件:在桌面端统一管理技能的安装、更新与备份

前言

在 DeepSeek Harness(DSH)里,技能(Skill)往往分散在用户目录、工作区 .agents/skills 或 .dsh/skills 里,来源可能是 GitHub 提交、well-known 市场或手工编写。仅靠文件管理器或命令行,很难统一查看有效性、对比上游版本,并在更新前保留可回滚的副本。社区插件 @skillre/dsh-plugin-skills-manager(Skills Manager)在 DSH 左侧栏增加原生 React「技能」入口,把检索、安装、来源追踪、批量更新、备份与移动/重命名收进同一界面,且不依赖 iframe 或独立网页。

这是什么

@skillre/dsh-plugin-skills-manager 当前版本为 0.1.7(README 标注 experimental),由 skillre 维护,分类为工作流。它解决的是:在 DSH 宿主内以界面和可选模型工具 skills_manager 管理本地与登记工作区内的技能目录,并对有可靠来源记录的技能做更新检查与安全替换。

插件包由 DSH Plugins 管理器安装进 profile(例如 ~/.dsh/profiles/<profile>/node_modules/@skillre/dsh-plugin-skills-manager);技能文件本身仍写在 $DSH_AGENTS_HOME/skills、$DSH_HOME/skills 或工作区对应目录,与插件安装位置无关。

核心功能

下面按 README 已列能力归纳,便于对照界面标签页使用。

本地技能与详情

  • 查看用户级与已登记工作区内的技能,按名称、描述、来源和位置筛选;展示有效性、调用策略及 SKILL.md 指令内容。
  • 点击名称、卡片或「详情」可看到绝对路径(可复制)、来源与提交、更新状态、模型/用户调用权限、完整指令与资源清单;只读技能在文件可读时也会列出资源。

更新检查与安装来源

  • 「检查更新」只发起检查,不自动更新;摘要区分可更新、已是最新、无来源、只读和检查失败;无来源不会被误报为「已是最新」。
  • 识别 Skills CLI 记录的 GitHub 与 well-known(如文档中提到的 open.feishu.cn)来源;well-known 技能用目录摘要检查并更新,其他第三方来源显示真实标签但标记为不可自动更新。
  • GitHub 来源固定到查看过的提交,比较完整技能目录的 Git tree 哈希;well-known 读取 /.well-known/agent-skills/index.json 并校验 catalog 的 sha256 归档,在内存中严格解析 tar.gz,不执行下载脚本。

安装与检索

  • 「技能检索」可搜索公共 skills.sh 目录;「从仓库安装」支持 owner/repo 或完整 GitHub URL,分支/标签选填,默认 HEAD。
  • 安装前需勾选信任确认;不会覆盖既有目录。扩展来源还支持本地 .tar.gz/.tgz/.zip 归档(内存解析、不执行脚本)以及 well-known HTTPS 目录安装。

更新、删除、备份与迁移

  • 单技能更新可固定到所选提交、校验 blob 与目录树;更新对话框展示新增/删除/修改/未变文件;更新前保存旧版本到备份。
  • 删除将入口移至完整备份,支持恢复(不覆盖已存在同名技能);可选「同时永久删除备份」并二次警告。
  • 「全部更新」需先检查更新;逐项重新校验来源,本地修改默认跳过,可显式允许覆盖;结果按成功/跳过/失败汇总。
  • 备份位于各技能根下 .skills-manager/backups/<id>/content;支持单条删除与「保留最新 N 份」清理,默认不自动清理。
  • 「移动 / 重命名」可把技能移到另一可写位置或改目录名;跨位置移动先复制校验,原入口保留为备份,同名冲突时拒绝。

模型工具

注册 skills_manager,与界面共用同一核心服务;写操作必须取得本次用户批准,不接受授权布尔参数(可通过配置 enableAgentTool 关闭)。

安装与启用

尚未发布 npm。在 DSH Plugins / 插件 里由用户自行添加来源并确认信任,安装后重启 Desktop。仓库已含构建产物 lib/,跟随 Git 安装时 pnpm 不需要执行构建脚本。

方式 A:Git 仓库地址(跟随默认分支 main)

在 Add plugin / 添加插件 输入:

https://github.com/skillre/dsh-plugin-skills-manager

方式 B:Release tarball(固定 v0.1.7)

从 GitHub Release v0.1.7 下载 skillre-dsh-plugin-skills-manager-0.1.7.tgz,在 Add plugin 中输入该文件的完整本地绝对路径。

步骤:

  1. 打开左侧 Plugins / 插件。
  2. 选择 Add plugin / 添加插件。
  3. 粘贴仓库 URL 或 tarball 绝对路径,查看信任提示并确认安装。
  4. 启用后从左侧 技能 / Skills 进入。

版本注意: 0.1.0 已作废,不要新装或回滚到该版;若曾安装 0.1.0,需先在插件页关闭或卸载并确认宿主恢复,再安装 0.1.1 及以上(可原地升级,技能与备份保留)。宿主要求见 package.json:dsh >=0.2.1-rc.5 <0.3.0,Node ^22.19.0 || >=24.0.0。许可证 MIT。

典型用法

日常维护流程

  1. 打开「本地技能」,必要时在工具栏左上角使用刷新图标仅重扫本地目录(不访问网络)。
  2. 点击页头「检查更新」访问来源并对比上游;在「可用更新」或列表中对可更新项执行更新,或勾选后使用「全部更新」。
  3. 手动改过技能文件后,用本地刷新重读;需要 upstream 状态时再跑「检查更新」。更新其中一个技能后,其余技能的检查结果会保留,无需整页重检。

新技能入库

  1. 在「技能检索」输入任务或技术关键词,或「从仓库安装」填写 owner/repo。
  2. 「查看并安装」先检查来源,勾选信任并选择写入目标(弹窗会显示目标根目录绝对路径,如默认 ~/.agents/skills)。
  3. 安装完成后,DSH 本地技能扫描器会在观察到文件变化后更新目录;已有对话里已加载的指令不会被追溯重写,必要时重新加载技能或开新会话。

配置(可选)

配置写在用户 Cordis 覆盖层,勿改安装包内文件。示例:

- id: skillre-skills-manager
  config:
    allowMutations: true
    enableAgentTool: true
    includeDefaultRoots: true
    dshHome: /absolute/path/to/dsh-home
    agentsHome: /absolute/path/to/agents-home
    customSkillDirs: []
    readOnlySkillDirs: []
    requestTimeoutMs: 15000
    operationTimeoutMs: 300000
    maxSkills: 500
    maxFileBytes: 2097152
    maxBundleBytes: 104857600
    maxBundleFiles: 20000
    maxRepositoryEntries: 30000
    checkConcurrency: 3

覆盖 config 会整块替换,schema 会补齐默认字段;目录项必须为绝对路径。将 allowMutations 设为 false 时,所有目录只读。

管理范围与适用注意

来源 位置 写入
用户共享技能 $DSH_AGENTS_HOME/skills,默认 ~/.agents/skills 支持
用户 DSH 技能 $DSH_HOME/skills,默认 ~/.dsh/skills 支持;不处理 .system
已登记工作区 项目根 .agents/skills、.dsh/skills 支持
自定义/内置、registry-only 显式配置或技能目录 只读
符号链接技能 由原安装器管理 只读

适合需要在 DSH Desktop 内集中维护多来源技能、并希望在更新/删除前保留备份的开发者。插件以当前 DSH 进程权限访问配置的技能目录;网络仅面向 skills.sh、api.github.com、raw.githubusercontent.com 及已记录 well-known 来源,不读取 GitHub token 或执行 npx/Git/下载脚本。安装前应自行查看 GitHub 源码与 LICENSE,并理解 README 中的并发与变更期间勿用其他安装器同时改同一根目录等限制。

社区目录 skillhub.cn 插件页 与 GitHub 仓库为独立生态信息源,与 DeepSeek / 幻方无官方从属关系。

结尾

Skills Manager 把 DSH 里分散的技能目录、来源记录与更新校验接到同一原生界面,并在破坏性操作前默认保留备份。若你已在用 DSH 0.2.1-rc.5 及以上并需要可视化的安装与批量更新流程,可按上文两种方式添加插件并从左侧「技能」进入。

  • 目录页:https://www.skillhub.cn/plugins/skillre/dsh-plugin-skills-manager
  • 仓库:https://github.com/skillre/dsh-plugin-skills-manager
羽毛球分组比赛记分
小程序二维码

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

小夜