DSH 更新检查插件 v1.12.0
📦 已发布到 npm:dsh-check-for-updates
安装(静态 bundle,推荐):dsh plugin --profile web add dsh-check-for-updates
DSH(DeepSeek Harness) 动态 Cordis 插件:检查 DSH 是否有新版本,并提供一键自动升级。
功能
- 首次打开自动检查:页面加载即自动发起一次更新检查(
autoStarted单次标志,不随 HMR 重复;自动检查失败不打扰用户)。 - 更新弹窗:检测到新版本时,在左下部「设置」按钮上方(
shell.overlay)弹出提示卡片,提供【更新到 {版本}】与【稍后】;「稍后」版本记入sessionStorage,同版本不再重复弹出。 - 自动升级:【更新】按钮用 node+npm-cli 安装精确版本到真实全局根(显式
--prefix,规避.npmrc的 M: 误解析),前置守卫 + 安装后对盘校验 + 180s 超时终止 + 失败附日志;成功后提示重启 DSH 生效(不自动重启)。 - 手动入口:设置 > 通用 提供「检查更新 / 测试网络 / 更新」;打开设置本身不触发网络请求。
- 主题适配:UI 全部使用 DSH 语义化主题 token(
--dsw-alias-*),兼容第三方主题插件与亮/暗色。
关键说明(源码读者)
host.js中LOCAL_PACKAGE_JSON/安装根为该机验证路径,跨机器使用需按实际 npm 全局前缀调整。- 最新版本取 npm packument 的
versions并做 semver 比较(不等价于latest标签),避免 lag。
兼容性
- 依赖
web、fs、timer、subprocess等 Host 服务;客户端依赖slots(settings.general.item与shell.overlay)。 - 因涉及子进程(spawn/curl),安全审查判定较高,需在 DSH 插件白名单中放行
updck家族。
MIT License © 2026 ShanHaiFish