dsh-plugin-directory:在 DSH 侧边栏浏览社区插件目录

前言

DeepSeek Harness(DSH)把能力拆成可安装的插件包,社区仓库散落在 GitHub 上,靠搜索关键词或口口相传才能找到合适项目。维护者 yuan2042-droid 的 dsh-plugin-directory 在 DSH 左侧栏增加「插件目录」入口:把已筛选的社区插件按中文分类归档,支持搜索、多维排序和卡片/表格视图,详情页可复制安装命令,或在支持的宿主上一键走插件管理器安装。界面在本地渲染,目录数据随包发布,运行时不需要联网,也不上报使用行为。

这是什么

dsh-plugin-directory 是 DSH 的 web 客户端插件(dsh.client.platform: web),通过 Cordis patch 向宿主注册侧边栏面板与中央主面板。它解决的是「不知道有哪些社区插件、装哪一条命令」的问题,而不是替代 GitHub 或 SkillHub 等独立站点;社区目录站点与 DeepSeek / 幻方无官方从属关系。

界面与核心功能

装好后,左侧栏会多一个四宫格图标的「插件目录」;点击后在中央面板打开目录,点 × 或切回对话即可关闭。

面板自上而下大致是:搜索框、排序下拉、升/降序、卡片/表格切换;一排带数量的分类标签;插件列表(卡片或表格)。单条卡片展示插件名、仓库名、分类色标、描述摘要、标签,以及 Star、语言、更新时间、官方标记等;点开进入详情,可查看指标、标签、GitHub 链接,并复制 dsh plugin add github:owner/repo 形式的安装命令。

README 中归纳的能力如下(数据规模以构建时快照为准,首个版本 README 写明约 648 个插件,package.json 当前版本为 0.2.1):

能力 说明
15 个分类 官方与核心、市场与资源、文档与教程、办公与科研、上下文与记忆、模型与推理、界面与外观、客户端与移动端、集成与连接、开发与调试、趣味与内容、会话与协作、工具与能力、技能与预设、其他与周边
排序 综合热度、Star、最近更新、Fork、Issue、名称、分类;可切换升/降序
搜索 名称、仓库、描述、标签、分类名;空格分词,需全部命中
视图 卡片、表格
详情 指标、时间、标签、仓库链接、复制安装命令
一键安装 详情中调用宿主 ctx.remote.pluginManager.installBundle 安装 github:owner/repo,与「设置 → 插件」同链路;失败时在弹窗展示宿主返回原因;0.2.1 起改为两步确认,并屏蔽内核本体、awesome 列表、桌面端应用等不应通过目录安装的仓库
零网络 数据在构建期写入 client.js,运行时无需请求 GitHub

安装与启用

插件以当前 DSH 进程权限运行;安装任意社区包前,仍应自行查看目标仓库源码与许可证。下面命令均来自仓库 README。

推荐:Release 离线包(无需 git,也无需构建权限):

dsh plugin --profile web add https://github.com/yuan2042-droid/dsh-plugin-directory/releases/download/v0.1.0/dsh-plugin-directory-0.1.0.tgz
# 桌面端把 web 换成 desktop,然后重启应用

DSH Desktop:可在「设置 → 插件」中搜索 dsh-plugin-directory 安装;或使用上条命令并指定 --profile desktop,然后重启应用。

普通 dsh web:使用与 web profile 相同的 Release URL,安装后重启 dsh web。

从 GitHub 源码仓库安装(本机需有 git;pnpm ≥10 可能拦截 git 依赖的构建脚本,README 说明了 profile 中 pnpm-workspace.yaml 的 allowBuilds 处理方式;构建产物 client.js 已随仓库提交,安装时不跑 prepare):

dsh plugin --profile web add github:yuan2042-droid/dsh-plugin-directory

本地 checkout 开发时可用 dsh plugin --profile demo add .\dsh-plugin-directory,并用 dsh --profile demo --dump-config 确认配置里出现 # == dsh-plugin-directory 段。

典型用法

  1. 按 profile 完成安装并重启 DSH(web 或 desktop)。
  2. 在左侧栏点击「插件目录」,在中央面板浏览或切换分类标签。
  3. 在顶部搜索框输入关键词(多词用空格,需全部匹配);用排序下拉调整列表顺序,必要时切换卡片/表格视图。
  4. 打开目标插件详情:复制安装命令到终端执行,或在支持一键安装的宿主上按提示确认安装;安装失败时查看弹窗中的 code 与 diagnostic,或改用复制的命令手动安装。

维护者刷新目录数据时(需联网抓取,与终端用户使用无关)在仓库根目录执行:

powershell -NoProfile -ExecutionPolicy Bypass -File tools/fetch.ps1
node tools/build.mjs

fetch.ps1 写入 data/raw.json;build.mjs 生成 data/catalog.json 并更新内联数据的 client.js。

适用场景与注意

适合:经常在 DSH 里试社区插件、希望在一个面板里按分类浏览、对比 Star 与更新时间,并快速拿到安装命令的 web/desktop 用户。

兼容性:需要宿主提供 sidebar.panellist 与 main 槽位及 layout.selectPanel;README 写明实测于 DSH Desktop 0.2.1-rc.5(dsh web 同为 web 宿主)。0.1.5 以前的 web 宿主不会注册面板,仅在控制台说明原因。包未声明 engines.dsh;若 profile 因兼容性门禁拒绝安装,README 建议可删除 engines 段后再试,实际依赖的是槽位 API。

数据与体积:收录规则在 tools/build.mjs 的 isDshPlugin 中定义(例如仅凭 dsh-plugin topic 的项目不收录,避免污染榜单);分类由 RULES 关键词表匹配。client.js 内联约 230 KB 数据,首次加载会解析一次;规模继续增大时,README 建议改为 Host 侧接口与分页。

安全:目录里的「一键安装」与复制命令都会安装第三方代码;安装前请阅读目标仓库,勿 blindly 安装屏蔽列表之外的敏感命名仓库。

结尾

dsh-plugin-directory 把社区 DSH 插件收成侧边栏里的可搜索、可排序本地目录,并对接宿主插件管理器,缩短从「发现」到 dsh plugin add 的路径。进一步了解实现(模块容器、cordis.patch.yml、槽位 id 与 key 需同名等)可直接阅读仓库 README。

  • 目录页:https://www.skillhub.cn/plugins/yuan2042-droid/dsh-plugin-directory
  • GitHub:https://github.com/yuan2042-droid/dsh-plugin-directory
羽毛球分组比赛记分
小程序二维码

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

Xiaoye