前言¶
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.0、react-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