dsh-plugin-rankings:每天自动整理 DSH 插件生态 Top 10 / Top 100 榜单

前言

DSH 的理念是「一切皆插件」,dsh-plugin 生态里的插件数量在持续增长。想挑一个合适的插件,通常要自己翻 GitHub 搜索、翻社区聚合目录、再对比 npm 下载量,信息分散在好几个地方,没有一个能直接看「哪些插件热度高、哪些下载多」的榜单。

下面介绍的 dsh-plugin-rankings 就是为这个问题准备的:它每天整理一次 dsh-plugin 生态的 Top 10 / Top 100 榜单,支持按热度(GitHub Star)或下载量(npm 最近一周下载)降序排序,默认按热度,入口集成在 DSH Web 设置页。

这是什么

dsh-plugin-rankings 由 nanami-0713 维护,npm 包名为 @dsh-external/dsh-plugin-rankings,当前版本 0.1.0,许可证为 MIT。

它是一个标准 DSH 双端 bundle 插件:

  • host 半(lib/index.js):多源聚合管线 + 快照落盘 + 每日调度 + 同源 HTTP API;
  • client 半(lib/client.js):注册 settings.section 槽位「插件榜单」,用 React 组件渲染榜单与设置控件。

数据从哪来

榜单数据聚合自四个公开来源,全部为只读接口,无鉴权:

来源 用途 接口
GitHub dsh-plugin 主题 热度主指标(Star/Fork)、仓库元数据 api.github.com/search/repositories
Oh-My-DSH 聚合目录 分类、人工备注、活跃度信号、类型 data/plugins.json(jsDelivr CDN)
awesome-dsh-plugin 精选清单 精选徽标与补录条目 README 逐行解析(jsDelivr CDN)
npm 关键字搜索 + 周下载量 下载量指标、npm 包链接 registry.npmjs.org / api.npmjs.org

核心功能

  • 榜单范围:Top 10 / Top 100 一键切换;
  • 排序:热度(默认)或下载量,均降序,显示排名徽章,前三名分别为金、银、铜;
  • 条目信息:每个条目展示 Star、周下载、分类、活跃度、语言、License、更新时间、来源徽标(GitHub / Oh-My-DSH / awesome / npm),可点击直达 GitHub 与 npm;
  • 自动整理:可开关,间隔默认 24 小时,可在 12–72 小时之间调整;也可在设置页点击「立即整理」手动触发;
  • 容错:采集告警与失败状态可见;旧快照保留,采集失败不影响展示。

安装与启用

先获取插件仓库,再用下面的命令安装:

dsh plugin add /path/to/dsh-plugin-rankings

也可以走热装配方式:修改 profile 的 package.json(加入 link 依赖与 bundles)后重启。

安装后无需额外配置,插件入口出现在 DSH Web 设置页的「插件榜单」区块,与其他插件设置并列。

整理机制与接口

host 半按每日调度自动整理一次,策略为「启动补漏 + 每 6 小时检查」,避免错过当天任务。整理结果以快照形式落盘:

~/.dsh/plugins/dsh-plugin-rankings/data.json

host 半同时提供同源 HTTP API:

GET  /api/dsh-plugin-rankings/data       # 快照、设置与整理状态
GET  /api/dsh-plugin-rankings/settings   # 用户设置
PUT  /api/dsh-plugin-rankings/settings   # 更新用户设置
POST /api/dsh-plugin-rankings/refresh    # 手动触发整理

client 半不直接调用外部接口,只消费这些同源 API 渲染页面。

开发与构建

如果想基于源码改造,先做依赖安装,再做构建与类型检查:

npm install
npm run build:all   # tsc 编译 host + tsdown 打包 client
npm run typecheck

依赖方面,peerDependencies 为 @deepseek-ai/cordis ^4.0.1(可选)、react ^18.2.0react-dom ^18.2.0

适用场景与注意

适合两类人:一是想在 dsh-plugin 生态里快速挑插件的开发者,按热度或下载量排序后直达仓库和 npm 页;二是想持续观察生态活跃度的维护者,榜单每天更新,可以看到条目的活跃度与更新时间。

使用前有几点需要留意:

  • 插件以当前 dsh 进程的权限运行,安装前应检查源码与许可证。本项目许可证为 MIT,源码在 GitHub 上可查;
  • 数据来源均为公开只读接口,榜单内容反映的是采集时刻的快照,不是实时数据;
  • 采集失败时展示的是旧快照,可在设置页的失败状态与告警里确认原因。

小结

dsh-plugin-rankings 把分散在 GitHub、Oh-My-DSH、awesome 清单和 npm 里的插件信息聚合成了每天更新的榜单,配合 DSH 设置页的集成入口,省去了手动四处对比的成本。

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

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

小夜