dsh 更新插件用 dsh plugin --profile update :该子命令把参数原样转发给 pnpm;本文区分本体更新与插件更新命令,给出单插件更新步骤、失败兜底与版本回滚方法。
本文转自 DSH Plugin Hub 插件市场
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 参数——官方定义里写得很清楚,add、remove、update、why 等 pnpm 动词原样可用(来源)。
更新单个插件的完整步骤
只更新一个插件、不影响其他插件,核心就是给 update 指定包名。 按下面 5 步操作:
- 先看哪些插件有新版本:pnpm 的
outdated会检查 profile 里的依赖更新。dsh plugin把参数原样转发给 pnpm,所以直接在 profile 上跑:
输出里列出「Current / Latest / Want」的就是可更新的包。dsh plugin --profile web outdated - 更新单个插件:
把dsh plugin --profile web update dsh-memorydsh-memory换成你要更新的包名。pnpm 只更新这一个包,其他插件不动。 - 确认更新成功:再次跑
pnpm outdated,目标包应从列表消失;或在终端里确认没有报错。 - 重启 / 刷新验证:插件更新后,Web UI 里刷新页面(或重启
dsh web),确认功能正常、没有报错。 - 想更新到精确版本号:
update只做版本范围内的小步更新,要锁定精确版本用add:
它会更新 profile 的 package.json 并安装目标版本。dsh plugin --profile web add dsh-memory@1.2.3
更新失败怎么办:兜底与回滚
插件更新失败先看报错类型,再选兜底方案——重装或回滚,别一直重试同一条命令。 按顺序处理:
- 先重试一次:报错若是网络超时、镜像拉不动,重试或换镜像源即可。
- 用 DSH Plugin Hub 重装:打开 Web UI 的「设置 → 插件市场」——即社区插件市场 DSH Plugin Hub,找到该插件一键重新安装,图形化操作绕开命令行网络问题。
- 回滚到上一版本:更新后插件行为异常,用
add装回旧版本号:
注意回滚后要在插件市场或dsh plugin --profile web add dsh-memory@1.1.0pnpm outdated里核对兼容状态,避免旧版本与当前 DSH 不匹配。 - 更新失败影响使用时的通用兜底:git 分发缺构建产物的插件更新后可能加载失败,改装 npm 版(registry 有 npm 包时直接
add 包名不带github:前缀),或到 DSH Plugin Hub 确认该插件的兼容状态。

注意事项
dsh plugin之后接的是 pnpm 参数,update、add、remove、why、outdated等都可用(来源)。- 更新单个插件一定要带包名;不带包名的
update会更新整个 profile 的全部依赖。 - 更新前先跑
dsh plugin --profile <name> outdated,看清单再动手,避免盲目更新。 - 更新后刷新/重启验证一次,插件更新不兼容时立刻回滚。
- 需要精确版本时用
add 包名@版本号,update不做大版本跳跃。 - 想省事,单插件更新可直接在 DSH Plugin Hub「设置 → 插件市场」点更新按钮,检测到新版本一键完成。
常见问题
dsh 更新插件用什么命令?
用 dsh plugin --profile update 。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 update ,两者互不影响。
怎么只更新一个插件,不更新其他插件?
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 与依赖。
本文转自 DSH Plugin Hub 插件市场,版权归属 DSH Plugin Hub 插件市场。
分类:更新与升级
原文地址:https://dsh-plugin.org/zh/tutorials/update-plugin-single