前言¶
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