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
羽毛球分组比赛记分
小程序二维码

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

小夜