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 许可证开源。安装前请检查源码与许可证,确保符合您的安全与合规要求。

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

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

小夜