← 返回列表
D

dsh-hotswap

v0.1.1 · 4 天前发布

Runtime hot-swap for DeepSeek Harness: hot enable/disable/restart Cordis plugins and auto hot-mount bundles from the Web GUI — no dsh restart.

deepseekdeepseek-harnessdshdsh-pluginplugin-managerhot-swaphot-reloadhot-mountbundle-sync

README

dsh-hotswap

DSH Web 插件热插拔管理器:在 设置 → 插件 → 「插件管理」 标签页里列出当前挂载的所有 Cordis 插件,支持运行时热启用 / 热停用 / 热重启,以及监视 profile 的 package.json 自动热挂载 / 卸载 bundle——全程无需重启 dsh web

原名 @dsh-external/dsh-plugin-manager(未公开发布)。

功能

  • 热停用:调用 Loader 的 entry.update({ disabled: true }),插件当场卸载(服务、工具、监听器全部回收)。

  • 热启用entry.update({ disabled: false }),当场导入并启动插件——包括启动时就处于停用状态的插件。

  • 热重启:卸载后重新加载,并尽力清除 Node ESM 模块缓存,让磁盘上的新代码生效(best-effort,见「已知限制」)。

  • Bundle 自动同步(热挂载):监视 profile 的 package.json,当 dsh.profile.bundles 增删条目时,通过 Include 根分组热挂载 / 卸载对应 bundle——dsh plugin add/remove 之后无需重启。

  • 持久化:每次开关都会把 disabled: true 写入 / 移除 profile 的 cordis.patch.yml 中一个由本插件维护的自动区块(# === dsh-hotswap managed block ===),因此重启 DSH 后开关状态依然生效。

  • 安全护栏

  • - 保护名单:webserverconnection、`api-
    查看完整 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-hotswap
    Repo
    git+https://github.com/HongzhongL/dsh-hotswap.git
    Engines
    {}
    Weekly DL
    0
    Monthly DL
    0
    dsh.bundle
    {"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-locale"],"platform":"web"}}