dsh-version-autoupdate:DeepSeek Harness 版本胶囊与一键更新

前言

DeepSeek Harness(DSH)的设计理念是“一切皆插件”,这使得通过插件管理运行时版本变得必要。在多环境部署中,手动检查 Web 进程版本、磁盘版本以及 npm 上的最新发布,并完成安装与重启,是一个重复且容易出错的流程。dsh-version-autoupdate 是一个双面 Cordis 插件,旨在通过一个可拖动的浮动胶囊,提供可视化的版本检测、安装和确认重启工作流。

功能

该插件主要提供以下能力:

  1. 版本可视化:显示可拖动的浮动版本胶囊,实时反映运行版本、磁盘版本和 npm 目标版本。
  2. 自动检测:默认每 60 秒检测一次版本状态;执行更新期间会加快刷新频率。
  3. 包管理支持:支持 npm、pnpm 和 Yarn Classic 的全局安装。
  4. API 与系统集成:提供 HTTP API 用于状态查询和更新操作;支持离线安装和 systemd 服务管理。
  5. 灵活的更新策略:支持 preview(含 alpha/rc)和 stable(仅正式版)两个渠道。

安装与启用

通过 npm 全局安装该插件包:

npm i -g dsh-version-autoupdate

安装完成后,通过 DSH 的插件管理流程加载该包。该包声明了 dsh.bundle.patch 和 exports["./client"]。如果需要手动配置 profile,Host 插件行配置如下:

- id: dsh-version-autoupdate
  name: dsh-version-autoupdate
  config:
    channel: preview
    updatePolicy: platform

启动或重启 dsh web 后,通过浮动胶囊查看版本并执行检查、安装、确认重启。

配置

插件提供以下配置项:

字段 默认值 说明
packageManager npm 指定包管理器,支持 npm、pnpm、yarn 或 auto。
packageManagerPath 无 包管理器可执行文件的绝对路径(仍会核对全局安装目录)。
channel preview 更新渠道。preview 取语义化最高版本(含 alpha/rc);stable 仅取正式版,无正式版时回退。
updatePolicy platform 更新策略。platform 默认:Windows 允许 CLI 更新,Linux/macOS 仅检测。full 可启用支持的 CLI 更新操作。
minAvailableMemoryMb 400 Linux 可用内存低于阈值时拒绝更新,设为 0 可关闭。
installTimeoutMs 1200000 安装总超时时间(默认 20 分钟)。
offlineInstall auto 离线安装策略。always / never 可覆盖,随包模板使用 never。
systemdUnit dsh-web.service 离线安装时用于停止和启动的 systemd unit 名称。
restartDelayMs 2000 确认重启后的延迟时间。

重启日志、离线日志和状态文件存储在非空的 DSH_HOME 中(未设置时默认为 ~/.dsh)。插件未提供独立的 home 配置项。

使用与限制

  1. 全局安装限制:只有当包管理器的全局目录与当前运行包的真实路径一致时,才执行全局安装。npx、本地项目、源码或未知安装来源不执行全局安装。
  2. 桌面版差异:桌面版请使用 DSH 官方更新流程;插件尚未接入桌面原生 updates bridge,桌面版和 npx 不提供进程重启功能。
  3. Windows 行为:Windows 不自动重启,需要用户手动点击确认。
  4. API 接口:插件提供以下 HTTP API:
    • GET /dsh-version-updater/status
    • POST /dsh-version-updater/check
    • POST /dsh-version-updater/install
    • POST /dsh-version-updater/restart
    • POST /dsh-version-updater/start-update(兼容旧入口)

结尾

dsh-version-autoupdate 为 DSH 插件开发者提供了一个可视化的版本管理方案,通过标准化的 Host 配置和 HTTP API,能够较好地融入现有的部署流程。在使用前,请务必确认包管理器的全局目录路径与运行环境一致,并根据操作系统策略选择合适的 updatePolicy。

GitHub 仓库

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

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

小夜