中文EN

@chendaleiq/dsh-plugin-auto-update

market已测通过npmMIT

给 DeepSeek Harness 插件做按包白名单的自动更新:按计划去 npm 查已装插件的最新版本,只更新你勾选的包,本地 link/file 安装、锁定版本和出错的包一律跳过;默认不跨大版本、不装预发布。更新走 profile 里运行中的官方插件管理器,profile 写锁、pnpm 执行、bundle 补丁校验与热重载都由宿主负责,安装失败会把旧版本装回去。每轮结果追加到一份 JSON 日志。

下载量 / Downloads
1,047
依赖体积 / node_modules
0.3 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add @chendaleiq/dsh-plugin-auto-update

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

dsh-plugin-auto-update

给 DSH 插件做按包白名单的自动更新:在插件页打开开关、勾选允许自动升级的插件即可。

![npm](https://www.npmjs.com/package/@chendaleiq/dsh-plugin-auto-update)

![license](LICENSE)

![DeepSeek Harness plugin](https://github.com/chendaleiQ/dsh-plugin-auto-update)

(上图是示意图,不是录屏)

它做什么

  • 按计划去 npm 查已安装插件的最新版本
  • 只更新你勾选的包;本地 link: / file: 安装、锁定版本、报错的包一律跳过
  • 默认不跨大版本、不装预发布
  • 更新走 profile 里运行中的官方 pluginManager:profile 写锁、pnpm 执行、bundle 补丁校验、HMR 重载都由它负责;安装失败会把旧版本装回去
  • 每次更新都记进更新记录:插件页里直接看「谁、从哪个版本、到哪个版本、什么时候、成没成」

安装

插件页 → 安装 → 填包名:

@chendaleiq/dsh-plugin-auto-update

装完重启 DSH(宿主半边需要新代际才加载)。也可以填 GitHub 地址或本地目录的绝对路径。

配置:插件页里的面板

插件 → DSH 插件自动更新 → 详情页底部:

  • 启用自动更新 —— 总开关,默认关
  • 升级范围 —— 允许跨大版本 / 允许预发布
  • 自动更新的插件 —— 列出所有从注册表安装的插件,逐个勾选;「全部可更新的插件」= 通配
  • 不能更新的包会置灰并说明原因(本地安装 / 锁定版本 / 存在错误)

改动即时生效,不需要重启。

更新记录

详情页底部的第二块就是更新记录:按时间倒序列出每次真正发生的动作。

  • 一行一条:时间、包名、旧版本 → 新版本、结果(已更新 / 更新失败 / 可升级(演练))
  • 失败的记录带上回滚说明和原因(鼠标悬停可看完整原因);更新了宿主半边会标「需重启生效」
  • 刷新 重新读一次;清空记录 需要点两次确认(几秒内不点第二次就自动取消)
  • 记录只记「和版本有关」的动作:current(已经是最新)和 error(查不到版本)不写进来,免得记录被刷成流水账
  • 同一个包重复出现相同结果(同一个版本反复升级失败、演练反复看到同一个可升级版本)只记一次

数据存在 ~/.dsh/plugin-auto-update-history.json,最多保留 200 条(historyLimit 可改)。面板通过宿主半边提供的

GET /dsh-plugin-auto-update/history 读取,删除走同一个地址的 DELETE;没有 web server 的部署(headless)里这块会提示接口不可用,记录仍写进日志。

语言

跟随 DSH 的语言设置:默认中文,切英文后插件页和面板文案同步变英文。

日志

~/.dsh/plugin-auto-update.log,每行一个 JSON:

{"at":"…","kind":"cycle","decisions":[{"name":"dsh-plugin-desktop-notify","action":"updated","installed":"0.5.6","latest":"0.5.7"}]}

action 有 current / would-update / updated / failed / error。

边界(有意为之)

  • 只碰「从注册表安装、且依赖写成范围(^ ~ * latest)」的包
  • 随 DSH 自带的 bundle 不动;不修改你的其它配置
  • 网络或插件管理器出错只记录,不中断其它包
  • 宿主半边更新后需要重启应用;渲染层由 HMR 直接换掉

高级配置

面板没覆盖的字段(intervalHours 默认 6 小时、initialDelayMinutes、maxUpdatesPerRun、dryRun、registry、timeoutMs、logPath、historyPath、historyLimit)写在 profile patch 的 config 里,或覆盖 ~/.dsh/profiles/<profile>/cordis.patch.yml 的同一行。改完需要重启。

开发

node test/index.test.mjs    # 宿主半边:检查、更新循环、更新记录的去重与上限
node test/client.test.mjs   # 渲染层:插槽注册、远端信封、置灰原因、记录接口

协议

MIT · 仓库 https://github.com/chendaleiQ/dsh-plugin-auto-update

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:8,最后更新 2026-11-06

链接

GitHub · Homepage · npm

同类插件