dsh 更新插件用什么命令?DeepSeek Harness 单个插件更新、更新失败兜底与回滚指南

更新与升级发布于 2026-08-26作者: DSH Plugin 插件中心
DeepSeek HarnessDSH plugin更新插件dsh plugin update插件更新命令
dsh 更新插件用 dsh plugin --profile <name> update <pkg>:该子命令把参数原样转发给 pnpm;本文区分本体更新与插件更新命令,给出单插件更新步骤、失败兜底与版本回滚方法。

dsh 更新单个插件用 dsh plugin --profile <name> update <pkg>dsh plugin 子命令会把剩余参数原样转发给 pnpm,所以 pnpm 的 update 语义原样可用。先分清本体更新和插件更新两套命令,再按步骤更新单个插件;失败时用 DSH Plugin Hub 重装或回滚兜底。

先分清:本体更新 vs 插件更新

更新 dsh 程序和更新 DSH plugin 是两套完全不同的命令,别混用。 DSH 本体是启动器 + 内置 bundle,插件是装进 profile 的外置包——更新路径不同(来源):

要更新什么命令说明
DSH 本体(一次性运行)npx @deepseek-ai/dsh web每次运行都拉取最新包
DSH 本体(全局安装)npm update -g @deepseek-ai/dsh更新已全局安装的 dsh
DSH 本体(源码版)git pull + 重新构建在仓库目录里拉最新源码
某个插件dsh plugin --profile <name> update <pkg>更新单个插件
全部插件dsh plugin --profile <name> update更新 profile 里所有依赖

关键点:dsh plugin --profile <name> 之后是 pnpm 参数——官方定义里写得很清楚,addremoveupdatewhy 等 pnpm 动词原样可用(来源)。

更新单个插件的完整步骤

只更新一个插件、不影响其他插件,核心就是给 update 指定包名。 按下面 5 步操作:

  1. 先看哪些插件有新版本:pnpm 的 outdated 会检查 profile 里的依赖更新。dsh plugin 把参数原样转发给 pnpm,所以直接在 profile 上跑:
    bash
    dsh plugin --profile web outdated
    
    输出里列出「Current / Latest / Want」的就是可更新的包。
  2. 更新单个插件
    bash
    dsh plugin --profile web update dsh-memory
    
    dsh-memory 换成你要更新的包名。pnpm 只更新这一个包,其他插件不动。
  3. 确认更新成功:再次跑 pnpm outdated,目标包应从列表消失;或在终端里确认没有报错。
  4. 重启 / 刷新验证:插件更新后,Web UI 里刷新页面(或重启 dsh web),确认功能正常、没有报错。
  5. 想更新到精确版本号update 只做版本范围内的小步更新,要锁定精确版本用 add
    bash
    dsh plugin --profile web add [email protected]
    
    它会更新 profile 的 package.json 并安装目标版本。

更新失败怎么办:兜底与回滚

插件更新失败先看报错类型,再选兜底方案——重装或回滚,别一直重试同一条命令。 按顺序处理:

  1. 先重试一次:报错若是网络超时、镜像拉不动,重试或换镜像源即可。
  2. 用 DSH Plugin Hub 重装:打开 Web UI 的「设置 → 插件中心」——即社区插件市场 DSH Plugin Hub,找到该插件一键重新安装,图形化操作绕开命令行网络问题。
  3. 回滚到上一版本:更新后插件行为异常,用 add 装回旧版本号:
    bash
    dsh plugin --profile web add [email protected]
    
    注意回滚后要在插件中心或 pnpm outdated 里核对兼容状态,避免旧版本与当前 DSH 不匹配。
  4. 更新失败影响使用时的通用兜底:git 分发缺构建产物的插件更新后可能加载失败,改装 npm 版(registry 有 npm 包时直接 add 包名 不带 github: 前缀),或到 DSH Plugin Hub 确认该插件的兼容状态。
dsh-plugin-hub · 确认更新
DSH Plugin Hub 更新确认弹窗:检测到新版本后原位一键更新

注意事项

  1. dsh plugin 之后接的是 pnpm 参数,updateaddremovewhyoutdated 等都可用(来源)。
  2. 更新单个插件一定要带包名;不带包名的 update 会更新整个 profile 的全部依赖。
  3. 更新前先跑 dsh plugin --profile <name> outdated,看清单再动手,避免盲目更新。
  4. 更新后刷新/重启验证一次,插件更新不兼容时立刻回滚。
  5. 需要精确版本时用 add 包名@版本号update 不做大版本跳跃。
  6. 想省事,单插件更新可直接在 DSH Plugin Hub「设置 → 插件中心」点更新按钮,检测到新版本一键完成。

来源:dsh CLI 参数定义(源码)dsh CLI READMEpnpm update 官方文档

常见问题

dsh 更新插件用什么命令?

用 dsh plugin --profile <name> update <pkg>。dsh plugin 子命令会把后面的参数原样转发给 pnpm,所以 update 一个包就是 dsh plugin --profile web update 包名;更新前建议先跑一遍 pnpm outdated 看哪些包有新版本。

dsh 本体更新和插件更新命令一样吗?

不一样。本体更新是重新拉取 dsh 程序本身(npx @deepseek-ai/dsh web 会拉最新、npm 全局安装用 npm update -g @deepseek-ai/dsh、源码版用 git pull);插件更新是 dsh plugin --profile <name> update <pkg>,两者互不影响。

怎么只更新一个插件,不更新其他插件?

dsh plugin 会把参数原样传给 pnpm,所以给 update 指定包名就是只更新它:dsh plugin --profile web update dsh-memory。不带包名的 update 才是更新 profile 里的全部依赖。

插件更新失败怎么办?

先看报错是不是网络/镜像问题,重试一次;还不行就在 DSH Plugin Hub 的「设置 → 插件中心」重新安装该插件,或参考 update-rollback 的流程把插件回滚到上一版本再试。

怎么把插件更新到指定的版本号?

pnpm update 只做版本范围内的小步更新;要精确指定版本,用 add 直接装目标版本:dsh plugin --profile web add 包名@1.2.3。该命令会同时更新 profile 的 package.json 与依赖。

来源