dsh 更新命令速查表:升级 DeepSeek Harness 本体与插件的命令、对应场景与执行后怎么验证
更新 dsh 只有两类动作:更新本体、更新插件。 本体按当初的安装方式选命令,插件统一走 dsh plugin --profile 转发 pnpm 或在插件市场点更新——这篇用「命令 → 场景 → 怎么验证」三列把每条命令钉死,不重复故障排查细节。
DeepSeek Harness 本体更新命令对照表:npx、npm 全局与源码构建
本体更新按安装方式分三条,语义各不相同(来源)。 先对号入座:
| 当初怎么装的 | 更新命令 | 什么情况下用 | 执行后怎么验证 |
|---|---|---|---|
| npx 免安装 | 重跑 npx @deepseek-ai/dsh web | 只是试用、没做过全局安装 | 启动后 dsh --version(或界面版本)已前进 |
| npm 全局安装 | npm update -g @deepseek-ai/dsh | 天天在终端用 dsh 命令 | dsh --version 输出版本号已变化 |
| 源码构建 | git pull → pnpm install → pnpm run build | 追最新代码、改过源码 | pnpm dsh web 起得来且版本已前进 |
三条路径的细节:
- npx 没有单独的升级命令 — 每次运行都会解析并取用当时的发布版本。预期:本机 npx 缓存命中旧版本时会复用旧包,版本没变先清缓存再试。
- 全局安装是一条命令 —
npm update -g @deepseek-ai/dsh只改全局包目录。预期:用户数据目录不受影响,会话与插件配置都在原地。 - 源码构建要先拉再建 —
git pull之后必须跑pnpm install与pnpm run build。预期:pnpm dsh web只使用已构建产物、不会自行重建,漏掉 build 就看不到改动。 - 混装过的先确认版本 — 不确定自己是怎么装的,先
dsh --version再对照上表。预期:版本能对上,说明走的是哪条路径也基本清楚。
三种方式逐条展开的完整流程见《dsh 怎么更新》。
DeepSeek Harness 插件更新命令:dsh plugin --profile 怎么用
插件更新统一走 dsh plugin --profile <name> <pnpm args>——它在该 profile 目录里把参数转发给 pnpm,所以更新子命令的写法与 pnpm 一致(来源)。 按目的选:
- 更新该 profile 的全部插件 — 执行
dsh plugin --profile web update。预期:pnpm 把该 profile 依赖清单里的插件升到最新版。 - 只更新一个插件 — 执行
dsh plugin --profile web update <包名>。预期:其他插件版本不动,适合定点升级。 - 先看有哪些插件与版本 — 把子命令换成
list。预期:拿到该 profile 的插件清单,再决定升哪个。 - 换成图形化那条路 — 在市场里点更新,确认后原位覆盖升级。预期:两条路改的是同一份依赖清单,先做哪条都不会重复装。

插件检测到新版本时,DSH Plugin Hub 在已安装列表给出可更新入口,确认后原位覆盖升级到最新版。想按安装方式逐条走一遍,见《dsh 怎么更新》与《更新完整指南》。
DeepSeek Harness 更新后怎么验证:版本、启动与插件加载
更新完要三查:版本号、能不能启动、插件还能不能加载(来源)。 按顺序走:
- 查版本号 —
dsh --version(等价写法dsh -V)。预期:版本号已前进,说明更新动作生效了。 - 查能不能启动 — 重启进程并打开 Web UI。预期:页面正常渲染;起不来先看端口与前台日志,别急着再更新一遍。
- 查插件是否仍加载 — 进已安装列表核对。预期:列表正常且插件没报加载失败,说明新本体与旧插件仍兼容。
- 查会话与配置是否还在 — 确认原来的会话与设置都在。预期:本体的更新只动程序目录,用户数据在
~/.dsh里不受影响。
命令参数与退出码的完整清单见《dsh 命令速查》。
DeepSeek Harness 更新卡住或失败时往哪看
本篇只负责「命令怎么写」,卡住与报错交给专门的排查文(来源)。 按现象分流:
- 命令长时间不动 — 见《更新卡住、更新慢》。预期:按「判断是否真卡住 → 安全中断 → 清缓存 → 网络加速 → 重试」的顺序处理。
- 命令直接报错退出 — 见《更新失败》。预期:先认清报错属于权限、镜像还是构建阶段,再对症处理。
- 升级后想回退 — 见《怎么锁到指定版本》。预期:固定到可用版本,而不是反复重装。
- 只想确认最新版是多少 — 见《怎么查版本、看更新日志》。预期:拿到版本基线后再决定要不要动。
DeepSeek Harness 更新命令的注意事项与局限
- 本体与插件是两条线:本体的更新命令不改插件,插件更新也不会升级本体,别用一条命令指望两件事。
- 源码路径必须重新 build:
git pull只换代码,pnpm dsh web用的是已构建产物,漏掉pnpm run build会以为「更新没生效」。 - npx 缓存会骗人:缓存命中旧包时,重跑也不会换版本,看起来「更新了」其实没更新。
- 插件更新绑定 profile:命令里的
--profile决定更新哪套插件,写错 profile 会更新错地方。 - 开发者预览阶段先读日志:官方明确未来会有破坏兼容性的变更,升级前先看该版本条目,必要时先锁版本。
插件的更新入口收在 DSH Plugin Hub 的已安装列表里,插件市场、更新检测与日志诊断都在同一个界面。
来源:DeepSeek Harness README(官方仓库)、dsh CLI README(官方仓库)、dshplugin/dsh-plugin-hub
常见问题
DeepSeek Harness 本体更新按安装方式分三条:npx 装的每次重跑 npx @deepseek-ai/dsh web 就取最新版;npm 全局装的用 npm update -g @deepseek-ai/dsh;源码构建的进仓库执行 git pull 后重新构建。查不清自己怎么装的,先跑 dsh --version 看版本再对照。
DeepSeek Harness 的插件更新命令形式是 dsh plugin --profile <name> update:不带包名时更新该 profile 的全部依赖,带包名只更新指定插件。它的作用是在该 profile 目录里把参数转发给 pnpm,所以写法与 pnpm 的更新子命令一致。
DeepSeek Harness 里两条路改的是同一份依赖清单,结果一样。插件市场适合「看到有新版本再决定」,确认后原位覆盖升级;命令行适合「我知道要升哪个、想批量处理」。两者选一个即可,不会重复安装,也不会互相冲突。
DeepSeek Harness 更新后要三查:dsh --version 确认版本号已前进;重启后 Web UI 能正常打开;插件仍能加载且已安装列表没有异常。只看版本号不够——版本对了但插件加载失败,说明这次更新还需要回退或重装插件。
DeepSeek Harness 更新卡住先按「判断是否真卡住 → 安全中断 → 清缓存 → 网络加速 → 重试」排查;更新直接报错则看报错词属于权限、镜像还是构建阶段。两条路都有对应的旧文,本篇只负责「命令本身怎么写」,不重复故障处理步骤。
相关术语
- npx 重跑即最新
- npx 重跑即最新是 DeepSeek Harness 免安装路径的更新语义:每次执行 npx @deepseek-ai/dsh web 都会解析并取用当时的发布版本,所以没有单独的升级命令。本机 npx 缓存命中时会复用已下载版本,需要强制刷新缓存才能确保取到最新。— DeepSeek Harness README(官方仓库)
- npm update -g
- npm update -g 是把包升级到最新版的 npm 命令形式,用于更新全局安装的 @deepseek-ai/dsh。它只改全局包目录,不触碰用户数据目录,因此更新本体不会影响会话与插件配置。— DeepSeek Harness README(官方仓库)
- dsh plugin --profile <name> update
- dsh plugin --profile <name> update 是 DeepSeek Harness 更新插件的命令形式,作用是在指定 profile 的目录里把参数转发给 pnpm。不带包名更新该 profile 的全部依赖,带包名则只更新指定插件。— dsh CLI README
- 源码构建的重新构建
- 源码构建的重新构建指 git pull 之后的 pnpm install 与 pnpm run build。前者补齐依赖,后者重新准备仓库产物,因为 pnpm dsh web 只使用已构建产物、不会自行重建。— DeepSeek Harness README(官方仓库)
来源
- DeepSeek Harness README(官方仓库)· deepseek-ai
- dsh CLI README· deepseek-ai
- dshplugin/dsh-plugin-hub GitHub 仓库· GitHub