huahua-dsh-plugin-orchestra:DSH 插件管理系統

DSH 理念強調“一切皆插件”。在管理大量 host 與 client profile 插件時,維護清單、追蹤更新、處理升級回滾以及備份遷移是常見痛點。huahua-dsh-plugin-orchestra 是一個插件管理系統,旨在提供統一的清單、更新檢測、一鍵升級、備份與回滾能力。

核心功能

該插件提供以下核心能力:

  • 插件清單:生成並管理插件列表,支持緩存優先的摘要視圖。
  • 更新檢測:檢查可用更新,支持強制刷新緩存(繞過 TTL 但保留 ETag)。
  • 升級與回滾:支持指定版本升級或回滾,升級失敗時自動回滾。
  • 備份管理:支持備份創建、列表查看與清理。
  • 跨 Agent 遷移:支持在 agents 之間進行插件遷移。
  • 面板集成:在 DSH 設置頁提供“插件管理”入口卡(含更新角標)及右上角通知中心。

安裝

使用 DSH CLI 安裝該插件:

dsh plugin --profile web add huahua-dsh-plugin-orchestra

本地開發安裝可使用路徑方式:

dsh plugin --profile web add file:./huahua-dsh-plugin-orchestra

命令行使用

安裝後可通過 CLI 或直接運行 node lib/cli/index.js 進行操作。部分非交互式命令需添加 --yes 標誌。

1. 查看清單與更新

查看當前插件清單(L1 用途摘要,優先使用緩存):

node lib/cli/index.js list --json

檢查更新情況:

node lib/cli/index.js check --json

2. 升級與回滾

升級指定插件。--dry-run 僅演練不實際變更;--yes 跳過確認。

node lib/cli/index.js upgrade <pkg> [--to <ver>] [--dry-run] [--yes]

回滾插件到指定備份或最近的可用快照:

node lib/cli/index.js rollback <pkg> [--backup <id>] [--yes]

3. 備份管理

管理插件備份:

node lib/cli/index.js backup list|create <pkg>|prune <pkg> [--force]

面板使用

安裝插件後,DSH 設置頁面會出現“插件管理”入口卡片。通過該入口可訪問以下功能:
* 插件清單/詳情/變更日誌
* 升級、回滾操作
* 備份管理
* 全局設置

右上角會出現通知中心浮窗,用於展示更新提示。

配置與數據

  • 數據目錄:~/.dsh/plugin-orchestra/
    • 包含 config.json(配置)、cache/(緩存)、backups/(備份快照)、logs/(日誌)。
  • 環境變量:
    • DSH_ORCHESTRA_* 系列(如 DSH_ORCHESTRA_PROFILE)。
    • GITHUB_TOKEN 或 GH_TOKEN:用於提升 GitHub API 限流配額(匿名狀態爲 60/h,使用 Token 可提升至 5000/h)。

退出碼說明

命令執行返回以下退出碼:

  • 0:操作成功
  • 2:用法錯誤
  • 3:目標不存在
  • 4:無操作(未滿足條件)
  • 5:失敗已回滾(可重試)
  • 6:失敗需人工介入
  • 130:用戶中斷

技術細節與注意事項

  • Node 版本:要求 ^22.19.0 || >=24。
  • 沙箱/CI 環境:若 node --test 在沙箱中因權限問題(spawn EPERM)失敗,建議直接執行 node tests/xxx.test.mjs。
  • 構建與測試:
    • 類型檢查:pnpm typecheck
    • 構建:pnpm build
    • 測試:pnpm test(引擎側)或 pnpm test:client(面板側)。

該插件基於 MIT 許可證開源。安裝前請檢查源碼與許可證,確保符合您的安全與合規要求。

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

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

小夜