dsh-dist-manager:DSH 插件分發目錄管理插件

DSH 生態強調模塊化,插件開發通常涉及維護一個 dist/ 目錄來存放分發包。隨着版本迭代,目錄中會積累大量舊文件,手動管理容易出錯。dsh-dist-manager 旨在解決這一問題,自動管理 dist/ 目錄下的版本歸檔。

核心功能

該插件提供了一套完整的分發目錄管理方案,核心能力包括:

  • 自動歸檔:掃描 dist/ 目錄下的插件包,按插件名分組並按版本號排序。
  • 版本管理:保留最新版本在 dist/ 根目錄,將舊版本移至歸檔目錄。
  • WebUI 管理:在 DSH 的設置頁 → 插件歸檔小節提供管理界面。
  • 一鍵操作:支持一鍵歸檔所有插件、一鍵清理所有歸檔。
  • 查看狀態:實時顯示插件總數、當前版本數、已歸檔版本數。
  • 版本恢復:從歸檔目錄恢復特定版本到 dist/ 根目錄。
  • 歸檔清理:清理特定插件或所有插件的歸檔。

安裝

通過以下命令安裝插件:

dsh plugin --profile web add <插件目錄>

安裝後重啓 WebUI 即可生效。

典型用法

發佈新版本後
1. 運行 pnpm pack 生成新的 .tgz 文件到分發目錄。
2. 打開 WebUI 設置頁,點擊「📦 一鍵歸檔所有」。

需要恢復舊版本
在歸檔詳情中找到目標版本,點擊「恢復」按鈕。

清理存儲空間
在插件列表中點擊「🗑️ 清理」或「🗑️ 清理所有歸檔」。

配置

配置讀取優先級爲:cordis.yml 的 Config 字段 > config.json 文件 > 默認路徑。

不配置時,默認取插件目錄上級的 dist/(適用於 link 安裝場景)。建議在 cordis.yml 中直接配置:

{
  "distDir": "<你的插件分發目錄>/dist",
  "archiveDir": "<你的插件分發目錄>/dist/archive",
  "autoArchive": true,
  "keepVersions": 1
}

配置項說明:
* distDir:dist 目錄路徑。
* archiveDir:歸檔目錄路徑。
* autoArchive:是否自動歸檔(預留功能)。
* keepVersions:保留的版本數量(預留功能)。

注意事項

  • 路徑安全:所有文件操作都經過路徑驗證,防止路徑穿越攻擊。
  • 錯誤處理:所有操作都有完善的錯誤處理和用戶反饋。
  • 實時更新:狀態變化後自動刷新界面。
  • 配置持久化:配置存儲在插件目錄下,跨重啓保持。

許可證

  • 代碼(index.js、client.js 與其它源文件):MIT。
  • 文檔:CC BY 4.0(需署名莉婭 / @feverZHONG)。

GitHub 倉庫 | 插件目錄

羽毛球分组比赛记分
小程序二维码

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

小夜