DeepSeek Harness 插件:dsh-maestro-core

前言

DSH Web 进程在运行时可能会崩溃或意外中断,导致会话中断和服务不可用。手动恢复和检查健康状态既繁琐又容易出错。此插件解决这些问题,提供一个集中的设置存储、Web Supervisor 和恢复机制。

这是什么

它是 DSH Web 的核心,包含监控守护进程、设置存储、审批守卫和跨机器同步引擎。它将四个独立的功能合并到一个包中。该插件通过在 dsh web 内部作为主机+客户端运行,并在外部作为系统守护进程运行,来实现自我恢复和状态持久化。

核心功能

  • DSH Web Supervisor(监控守护进程):系统级监控(systemd),每 3 秒轮询服务状态,保存最后已知良好(LKG)快照,检测崩溃并执行自动回滚,生成包含 Git Diff 和日志的 health report。
  • 自动恢复:在 DSH Web 启动 8 秒后,自动查找并恢复在 autoResumeWithin(默认 5 分钟)内中断的会话。
  • 自动重载:浏览器端客户端插件,在 Web 服务重启或网络断开时自动重载页面。
  • 设置存储:提供全局的 settings.json 存储和 Maestro 设置卡片,供其他模块读写。
  • 审批守卫:提供规则分类和审批入口,通过 maestro_guard_status 查看状态。
  • 跨机器同步:提供备份、恢复、保留策略 GC 和双机同步功能。

安装与启用

使用官方命令安装插件:

dsh plugin --profile web add @ddtcorex/dsh-maestro-core

若需指定版本,可使用:

dsh plugin --profile web add @ddtcorex/dsh-maestro-core@<version>

安装完成后需重启 dsh web。该包会自带 cordis.patch.yml,请勿手动复制或添加重复的 Row ID。

典型用法

通过命令行工具或 Systemd 守护进程进行管理:

# 启动守护进程(前台调试)
node packages/dsh-maestro-core/lib/index.js daemon

# 查看状态
node packages/dsh-maestro-core/lib/index.js status

# 恢复指定时间范围内的中断会话
node packages/dsh-maestro-core/lib/index.js resume --within 5m

启用 Systemd 守护进程以实现系统级监控:

bash packages/dsh-maestro-core/scripts/install-systemd.sh
systemctl --user daemon-reload
systemctl --user enable --now dsh-web-supervisor
systemctl --user status dsh-web-supervisor

适用场景与注意

  • 环境要求:需要 Node.js ^22.19.0 || >=24.0.0 和 pnpm 11+,DSH 版本需为 0.1.x 或 0.2.x。
  • 构建要求:lib/ 目录被 Git 忽略,源码修改后需执行 pnpm build。客户端构建需要 build-client.mjs。
  • 权限风险:插件以当前 DSH 进程权限运行,若 DSH 进程拥有较高权限,插件同样拥有相应权限。建议在安装前检查源码与许可证。
  • 配置:Telegram Bot Token 为可选配置,用于通知。

结尾

dsh-maestro-core 通过将监控、存储和同步能力整合到一个包中,降低了 DSH Web 的维护复杂度,提升了系统的健壮性。

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

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

小夜