← 返回列表
D

dsh-hot-reload

v0.1.2 · 2 天前发布

Live-reload upgraded DeepSeek Harness (dsh) plugins without restarting dsh — safe plugins are hot-reloaded in place; unsafe ones are flagged for a manual restart.

dshdsh-plugindeepseek-harnessdeepseek-harness-pluginhot-reloadhmrreloadcordis

README

dsh-hot-reload

English | 中文

无需重启 dsh 即可热重载已升级的 DeepSeek Harness(dsh)插件。

dsh 自带的热重载(cordis-plugin-hmr)刻意忽略 node_modules,所以升级一个已
安装的插件(dsh plugin add pkg@x)通常要整体重启 dsh 才能生效。本插件补上
这个缺口:它监听所在 profile 的 pnpm-lock.yaml,当一个已加载插件包的版本
变化时,就地把运行中的插件换成新版。

行为

插件包升级时,对每个受影响的插件:

  • 就地热重载:使模块缓存失效、重新导入新代码、并就地重建插件 fiber。dsh、

  • 你的会话、以及其它所有插件都不受影响、继续运行。
  • 若重载失败:你保留的是可用的旧版本,绝不会留下一个失效的插件,同时

  • 记录一条“需要手动重启 dsh”的提示来加载新代码。两种情况都已处理:
    - 新代码在加载阶段失败(错误的 import、语法错误)会在触及运行中的插件
    之前被捕获——旧插件完全不受打扰;
    - 新代码在初始化阶段失败(新的 apply 抛错,同步或异步)会被回滚——
    旧版本就地重新实例化。

    绝不会替你重启 dsh——重启交给你(以及你的守护进程,如果有的话)。

    安装

    sh
    dsh plugin --profile web add dsh-hot-reload

    然后重启一次 dsh(bundle 补丁层在启动时加载)。此后升级即实时生效:

    查看完整 README →

    版本兼容矩阵

    DSH 版本状态说明
    dsh@0.1.0-rc.6 ✅ 兼容 cordis patch ✅
    dsh@0.1.0 ✅ 兼容 标准 patch ✅
    dsh@0.2.0 ⚠️ 待验证 待实测(API 可能在变)
    dsh@0.3.0+ ❓ 未知 尚未发布

    💡 兼容矩阵每周末自动跑实测,欢迎 PR 修正

    元数据

    License
    MIT
    npm
    dsh-hot-reload
    Repo
    git+https://github.com/stuarthu/dsh-hot-reload.git
    Engines
    {"node":">=22"}
    Weekly DL
    0
    Monthly DL
    0
    dsh.bundle
    {"bundle":{"patch":"./cordis.patch.yml"}}