dsh 怎么更新?DeepSeek Harness 本体与 DSH plugin 更新命令、重启生效与失败排查
dsh 怎么更新,答案取决于两件事:更新的是 DeepSeek Harness 本体还是 DSH plugin,以及当初用哪种方式装的。 本体只需一条命令——npx 免安装的重跑启动命令、npm 全局安装的用 npm update -g;DSH plugin 更新走插件市场或 dsh plugin --profile update;更新完重启生效,卡住与失败各有对应排查路径。本文按「本体、插件、更新后」三个方向一问一答说清。
概览:四种「dsh 更新」问法归一,本体更新一句话
不管你搜的是「dsh 怎么更新」「dsh怎么更新」「dsh 更新」还是「dsh更新」,实质上都在问同一组动作:更新本体、更新插件、更新后确认生效,命令就是固定的那几条。 带空格的、不带空格的、以及加 update command 的英文问法,指向的都是 npm 上的 @deepseek-ai/dsh 这个包(来源)。先看这张问法对照表,对号入座:
| 你搜的问法 | 真正想问的 | 落到哪条命令 / 哪个方向 |
|---|---|---|
| dsh 怎么更新 | 本体和插件分别怎么升级 | 本体更新 + 插件更新 |
| dsh怎么更新 | 同上,只是没打空格 | 同「dsh 怎么更新」 |
| dsh 更新 | 更新命令是什么、版本怎么查 | npx @deepseek-ai/dsh web 或 npm update -g @deepseek-ai/dsh |
| dsh更新 | 更新完怎么确认 | dsh --version + 重启 |
| dsh update command | 英文问法,同一条命令 | npm update -g @deepseek-ai/dsh |
| deepseek harness update command | 英文问法,指本体更新 | 本体更新的命令 |
DeepSeek Harness 本体更新只有一条命令:npx 免安装的重跑启动命令即取最新版,npm 全局安装执行 npm update -g @deepseek-ai/dsh(来源)。 按安装方式逐条走完查版本、执行更新、清缓存、验证的完整流程,见《dsh 怎么更新到最新版三种方式》与《DeepSeek Harness 怎么更新步骤》,本篇不重复逐条命令,只接着讲插件更新与更新后怎么生效。
更新 DSH plugin:插件市场点「更新」与命令行更新,profile 归属怎么看
更新 DSH plugin(中文里也常写作「DSH插件」「DeepSeek插件」)有两条等价的路——图形化在 DSH Plugin Hub 的插件市场点「更新」,命令行走 dsh plugin --profile <name> update;两者改的是同一个 profile 目录里的同一份依赖清单,做一个即可。 dsh plugin 的机制是把参数转发给该 profile 目录里的 pnpm,所以更新子命令的写法与 pnpm 一致(来源)。难点不在命令,而在插件归属哪个 profile:每个 profile 是 $DSH_HOME/profiles/<name>(数据目录,默认在 ~/.dsh 下)里的一个独立目录,插件依赖写在该目录的 package.json 里,而 dsh web 正是 --profile web 的别名——所以你在 Web UI 里用的插件,就归 web 这个 profile。
- 看当前 profile 装了哪些插件:执行
dsh plugin --profile web list。预期结果:列出webprofile 的插件清单与版本,确认要更新的插件在这里。 - 判断插件归属哪个 profile:回忆你启动时用的命令名。预期结果:
dsh web对应web,dsh --profile headless对应headless——插件装在哪个 profile,就用哪个名字去更新。 - 命令行更新该 profile 全部插件:执行
dsh plugin --profile web update。预期结果:pnpm 把该 profile 依赖清单里的插件升到最新版。 - 命令行只更新单个插件:执行
dsh plugin --profile web update <插件包名>。预期结果:只升这一个,其余插件版本原地不动。 - 图形化更新:打开 设置 → 插件市场 → 已安装,插件检测到新版本时会给出更新入口,点开后确认。预期结果:原位覆盖升级到最新版,不需要手写包名。
- 重启让插件重新加载:更新后重启
dsh web。预期结果:新版本插件被重新加载(开着dsh-hmr时会自动重载)。
两条路怎么选,参照下表:
| 对比项 | 插件市场点「更新」 | 命令行 dsh plugin update |
|---|---|---|
| 适合场景 | 看到有新版本再决定要不要升 | 已知道升哪个、想批量处理 |
| 要不要记包名 / profile | 界面里点选,不用记 | 要写 --profile 与包名 |
| 改的是什么 | 同一份 profile 依赖清单,原位覆盖 | 同一份 profile 依赖清单,原位覆盖 |
| 何时生效 | 重启(或 HMR 自动重载) | 重启(或 HMR 自动重载) |
与其在命令行里记 profile 名、逐个核对包名、事后还要回终端确认版本,不如装 DSH Plugin Hub:更新检测、一键覆盖、版本核对都在「设置 → 插件市场」里完成,确认后原位升级到最新版。

插件市场的管理入口就收在「设置 → 插件市场」,浏览、安装、更新、卸载都在同一个界面;想按安装方式逐条走完整流程,见 更新命令速查。
更新后重启生效,卡住与失败各看一篇
更新完不等于生效:DeepSeek Harness 本体与 DSH plugin 默认都要重启进程才加载新版本,开着 dsh-hmr 时会自动重载(来源)。 所以更新动作一做完,先在终端按 Ctrl+C 停掉旧进程,再重新执行启动命令(npx @deepseek-ai/dsh web 或 dsh web),进程就会用新版本重新起来。到这里更新就算完成;卡住和失败不在这里展开,按现象分别看下面两篇排查文。
- 命令长时间不动、像卡死 —— 见《更新卡住怎么办》,按「判断是否真卡住 → 安全中断 → 清缓存 → 网络加速 → 重试」处理。预期结果:定位卡在哪一步,而不是反复重装。
- 命令直接报错退出 —— 见《更新失败排查》,先认清报错属于权限、镜像还是构建阶段。预期结果:对症处理,不再盲目重试。
命令本身的参数与退出码清单见《更新命令速查》。
注意事项与局限
更新的命令很短,容易踩的坑却集中在几个边界上,逐条记一下。
- 本体与插件是两条线:本体的更新命令不动插件,插件更新也不升级本体,别指望一条命令办两件事。
- profile 写错会更新错地方:
--profile决定更新哪套插件,dsh web更新的是web,headlessprofile 要单独更新。 - npx 缓存会骗人:缓存命中旧包时,重跑也不换版本,看起来「更新了」其实没更新,得先清缓存。
- 源码路径必须重新 build:
git pull只换代码,运行用的是已构建产物,漏掉构建命令就会以为「更新没生效」。 - 开发者预览阶段先读发布说明:官方明确未来会有破坏兼容性的变更,升级插件前先看插件详情页标注的兼容版本,必要时先锁版本。
常见问题
DeepSeek Harness 本体更新按安装方式分两条:npx 免安装的重跑 npx @deepseek-ai/dsh web 即取最新版,npm 全局安装的执行 npm update -g @deepseek-ai/dsh。先用 which dsh 判断自己属于哪种,再跑 dsh --version 与 npm view @deepseek-ai/dsh version 对比确认已到位。
两条路等价:图形化在插件市场点「更新」,命令行执行 dsh plugin --profile web update,改的是同一个 profile 目录里的同一份依赖清单。插件归属看启动命令名——dsh web 就是 web profile,用 dsh plugin --profile web list 能看到该 profile 下的全部插件与版本。
更新后要重启进程才加载新版本(开了 dsh-hmr 会自动重载),再用 dsh --version 确认版本号已前进。没生效最常见两种原因:npx 缓存命中旧包,用 npm cache clean --force 清掉后重跑;或源码路径漏了 pnpm run build 这一步。
这两个英文问法指向同一组官方命令:本体更新用 npm update -g @deepseek-ai/dsh(npx 方式重跑 npx @deepseek-ai/dsh web),插件更新用 dsh plugin --profile web update。它们都出自 dsh CLI README,包名 @deepseek-ai/dsh 一致。
命令长时间不动属卡住,看《更新卡住怎么办》,按判断是否真卡住、安全中断、清缓存、换镜像、重试的顺序处理;命令直接报错退出看《更新失败排查》,先认清报错属于权限、镜像还是构建阶段。两篇只讲排障,本篇只负责命令怎么写。
相关术语
- dsh --version
- dsh --version 是 DeepSeek Harness 打印当前运行版本号的命令,也是更新前后对照版本是否前进的统一入口;npm 全局安装与源码构建方式下有全局 dsh 命令,npx 免安装方式改用 npx @deepseek-ai/dsh --version。— dsh CLI README
- npm update -g @deepseek-ai/dsh
- npm update -g @deepseek-ai/dsh 是把 npm 全局安装的 DeepSeek Harness 本体升级到最新版的命令;它只改全局包目录,不触碰用户数据目录,所以更新本体不影响会话与插件配置。— dsh CLI README
- dsh plugin --profile <name> update
- dsh plugin --profile <name> update 是 DeepSeek Harness 更新插件的命令形式,作用是在指定 profile 目录里把参数转发给 pnpm;不带包名更新该 profile 的全部插件,带包名只更新指定插件。— dsh CLI README
- profile
- profile 是 DeepSeek Harness 中一套有序插件栈的独立目录,位于 $DSH_HOME/profiles/<name>,自带 package.json 与插件依赖;dsh web 是 --profile web 的别名,所以 Web UI 加载的插件都归 web 这个 profile。— dsh CLI README
来源
- dsh CLI README· deepseek-ai
- @deepseek-ai/dsh on npm· npm