dsh-skillhub-market:在 DSH 里浏览、安装与管理 Skillhub 技能

前言

DeepSeek Harness(DSH)通过插件扩展能力;技能(Skill)通常以 SKILL.md 等形式放在 $DSH_HOME/skills 下供 Agent 使用。若手工从 Skillhub 站点查找、下载 ZIP 再解压到对应目录,搜索、排序和重复安装时的覆盖确认都靠人工完成。下面介绍的 dsh-skillhub-market 在 DSH Web GUI 中对接 Skillhub 公开 API,完成市场列表、筛选、下载安装,并扫描本地已装技能、维护自定义显示名与备注。

这是什么

  • 插件名称:@local/dsh-skillhub-market(仓库 MRevenger/dsh-skillhub-market)
  • 维护者:MRevenger
  • 分类:联网工具(社区目录 skillhub.cn/plugins/MRevenger/dsh-skillhub-market)
  • 当前版本(资料来源 package.json):1.1.0
  • 许可:MIT
  • 定位:Skillhub 技能市场的 DSH 插件——在线搜索、筛选和安装 Skillhub 技能,并管理已下载技能的简介、SKILL.md 正文、自定义显示名和备注。

插件以 DSH host + Web 客户端 bundle 形式接入;联网请求指向 api.skillhub.cn,属社区生态能力,并非 DeepSeek / 幻方官方应用商店。

核心功能

技能市场

  • 列表:关键词搜索(350 ms 防抖)、分页,以及加载、空结果、错误与重试状态。
  • 排序:全部、近期飙升、下载量、最近上新(见下文 API 映射说明)。
  • 筛选:来源、场景分类、是否需要 API Key;无时间范围筛选。
  • 技能卡片:名称、简介、来源/分类、下载量/Star、API Key 标记、更新时间;支持详情、GitHub(不可用时回退 Skillhub 详情页)、下载。

下载与本地安装

  • 安全解压到 $DSH_HOME/skills/<slug>/;目录已存在时先询问是否覆盖。
  • Host 端校验 slug、ZIP 头与解压路径,设有条目数与体积上限(资料:500 条目、单文件 16 MB、解压总量 64 MB;下载 ZIP 120 s 超时、32 MB 上限)。

已下载技能管理

  • 扫描 $DSH_HOME/skills 下技能目录,解析 YAML frontmatter 与 Markdown 正文。
  • 支持查看详情、打开本地目录、打开 GitHub(链接规则见「已知限制」)。

自定义元数据

  • 显示名与备注保存在 $DSH_HOME/skillhub-custom.json,不会写回 SKILL.md 的 name。
  • 重装同一 slug 时保留 displayName、note 等字段。

列表主显示名优先级:displayName > frontmatter name > 目录名。

安装与启用

前置要求

  • DeepSeek Harness >= 0.2.2-rc.1
  • Node.js >= 22(推荐 24;本地构建/开发时)
  • Git(部分安装路径需要)
  • 一个 DSH profile(下文以 desktop 为例,请替换为你的 profile 名)

推荐:DSH CLI 从 GitHub 安装

官方 README 给出的命令如下(版本标签与资料一致):

dsh plugin --profile desktop add github:MRevenger/dsh-skillhub-market#v1.1.0

该命令将 GitHub 仓库作为依赖安装到 profile。若安装后未自动加入 bundle 列表,在 profile 的 dsh.profile.bundles 中加入 @local/dsh-skillhub-market,或在插件管理器中启用它。

其他方式

  1. 插件管理器(本地 bundle):构建或解压得到插件根目录后,在 DSH 插件管理界面选择「安装本地 bundle」,指向含 package.json、cordis.patch.yml、lib/ 的目录;管理器会读取 dsh.bundle.patch 与 dsh.client 并应用补丁。
  2. Release 压缩包:从 Releases 下载 dsh-skillhub-market-v1.1.0.zip,解压后按方式 1 安装,或执行:
dsh plugin --profile desktop add /absolute/path/to/dsh-skillhub-market

安装后检查

  • 重启 DSH,或刷新 Web GUI。
  • 侧边栏应出现「Skillhub 技能市场」。
  • 若未出现,在插件管理器中确认 @local/dsh-skillhub-market 已 enabled。

典型用法

在市场页搜索并安装

  1. 打开侧边栏「Skillhub 技能市场」。
  2. 输入关键词(触发 350 ms 防抖后请求列表)、选择排序与筛选(来源、场景分类、API Key)。
  3. 在卡片上查看详情或 GitHub/Skillhub 链接,点击下载。
  4. 若 $DSH_HOME/skills/<slug>/ 已存在,确认覆盖后安装;解压成功后列表会记录 downloadedAt 与 sourceHomepage。

管理已下载技能

  1. 在插件「已下载」区域查看本地技能;可打开详情、本地目录或 GitHub。
  2. 编辑显示名或备注,失焦或点击保存后写入 skillhub-custom.json;重装同一 slug 时这些字段会保留。

自定义元数据文件示例

$DSH_HOME 优先取插件配置 dshHome,否则取环境变量 DSH_HOME,最后回退 ~/.dsh:

{
  "pdf-skill": {
    "slug": "pdf-skill",
    "displayName": "我的 PDF 助手",
    "note": "每周报表处理专用",
    "downloadedAt": "2026-11-07T...",
    "sourceHomepage": "https://github.com/..."
  }
}

联网 API 与排序说明

映射集中在仓库 src/host/api-map.ts。常用端点:

用途 端点
列表/搜索 GET https://api.skillhub.cn/api/skills
分类 GET https://api.skillhub.cn/api/v1/categories
详情 GET https://api.skillhub.cn/api/v1/skills/{slug}
下载 GET https://api.skillhub.cn/api/v1/download?slug={slug}
站点详情页 https://skillhub.cn/skills/{slug}

列表参数包括:page、pageSize(≤100)、keyword、sortBy、order、category、source、labels。

UI「近期飙升」对应 sortBy=score&order=desc:Skillhub API 不支持 trending,否则会返回 400;插件与站点均回退到 score。

适用场景与注意

适合谁:需要在 DSH 内直接浏览 Skillhub、按分类/来源/API Key 筛选并安装技能,同时在同一界面维护本地 skills 目录与个性化备注的开发者。

权限与安全:

  • 插件不会执行下载技能包中的任何代码,仅读取 SKILL.md 及文件内容供展示。
  • 插件以当前 DSH 进程权限运行;安装前应查看仓库源码与 MIT 许可证,并确认你信任其联网与写本地目录的行为。
  • 「打开本地目录」在 host 端通过 node:child_process 调用系统文件管理器(Windows explorer.exe、macOS open、Linux xdg-open),路径限定在 $DSH_HOME/skills/<dir>;沙箱环境下可能失败。静态扫描可能将该能力标为 MEDIUM。

已知限制(摘自 README):

  • source 为列表流筛选,结果中仍可能混合其他来源;卡片按站点规则展示实际来源。
  • 无 GitHub URL 时链接回退 https://skillhub.cn/skills/{slug}。
  • 分类接口失败时使用内置 13 个分类回退(资料注明为 2026-11 时点值)。

结尾

dsh-skillhub-market 把 Skillhub 的搜索、筛选、下载与本地技能元数据管理收拢进 DSH 侧边栏,减少手工下 ZIP 与对齐目录名的步骤。查阅插件说明与 Issue 请访问 GitHub 仓库;社区目录页:skillhub.cn/plugins/MRevenger/dsh-skillhub-market。

羽毛球分组比赛记分
小程序二维码

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

小夜