npm 怎么更新 dsh?DeepSeek Harness 的 npm update -g 与 @latest 用法

更新与升级发布于 2026-09-12作者: DeepSeek Plugin 插件市场
DeepSeek Harnessdsh更新npmnpm update -gnpx
npm 怎么更新 dsh 要分清三条路:npm update -g 受语义化版本范围限制、install -g @latest 强制装最新、npx 要显式带 @latest 并注意缓存;文末给版本核对与镜像滞后的确认方法。

npm 更新 dsh 有三条路,效果并不相同:npm update -g 只在已记录的版本范围内取最高、npm install -g @deepseek-ai/dsh@latest 才能跨大版本强制装最新、而 npx 方式要显式带 @latest 并留意本地缓存。 DSH插件 与 DeepSeek插件 走的是 dsh plugin 的插件通道,与这里讲的 DeepSeek Harness 本体更新是两回事,最后一节会区分。这篇把三条命令的适用场景、执行步骤与事后核对讲清。

npm 更新 dsh 本体的三条路:DSH plugin 的 update -g、@latest 与 npx

三条路的分工是:常规补丁升级走 npm update -g,要跨大版本走 npm install -g @deepseek-ai/dsh@latest,用 npx 临时运行的人则没有「已安装版本」可更新,只能每次都按 @latest 解析(来源)。 对照表:

你当前的用法更新命令关键限制
全局安装(npm i -gnpm update -g @deepseek-ai/dsh只在已记录的语义化版本范围内升到最高,跨大版本升不上去
全局安装且要最新npm install -g @deepseek-ai/dsh@latest按 latest 标签重新解析并覆盖安装,可跨大版本
用 npx 临时运行npx @deepseek-ai/dsh@latest web没有常驻安装实体,可能命中 ~/.npm/_npx 里的旧缓存
源码克隆安装git pull 后重新构建不走 npm,更新命令对这类安装无效

先确认自己属于哪一类:执行 npm ls -g @deepseek-ai/dsh预期:有输出说明是全局安装;输出 (empty) 而你平时用 npx @deepseek-ai/dsh 启动,就属于第三类。

用 npm update -g 更新 DeepSeek Harness:什么时候够用、什么时候不够

npm update -g 的本质是「在已记录的版本范围内取最高」,所以小版本和补丁能升上去,跨大版本它不会动——这是它最容易被误判的地方(来源)。 四步执行并核对:

  1. 看当前装了什么 — 执行 npm ls -g @deepseek-ai/dsh预期:输出一行版本号,即当前全局实装版本。
  2. 看有没有可升的 — 执行 npm outdated -g --depth=0预期:若该包在列,Current 与 Latest 两列的值就是「现在」与「范围内/最新可用」的差距。
  3. 执行更新 — 执行 npm update -g @deepseek-ai/dsh预期:命令正常结束、无报错;如果版本号没变且 Latest 明显更高,说明被版本范围挡住了,转下一节。
  4. 确认命令版本 — 执行 dsh --version预期:输出新版本号。若这里仍是旧版,先别急着再更新,按本页第五节核对路径与源。

注意npm update -g 不带包名时会把所有全局包一起更新,在不确定其他包依赖关系时不要这么跑。

强制装最新:用 @latest 跨大版本更新 DeepSeek Harness

要跨大版本或确保拿到最新稳定版,用 @latest 让 npm 按 latest 标签重新解析并覆盖安装,这是与 update -g 最本质的差别(来源)。 三步执行:

  1. 确认最新版是谁 — 执行 npm view @deepseek-ai/dsh version预期:输出 registry 上的最新稳定版号,先记下来,待会要用它核对结果。
  2. 强制安装最新 — 执行 npm install -g @deepseek-ai/dsh@latest预期:下载并覆盖安装,命令结束时显示的版本应与上一步一致。
  3. 验证生效 — 执行 dsh --version预期:输出的版本与第 1 步记下的号一致,说明跨版本升级已完成。

顺带一个用途:把 @latest 换成确切版本号(如 @deepseek-ai/[email protected])就是固定版本,反过来可以用于回退到某个已知可用的版本,做法见《DeepSeek Harness 版本怎么选?》。

用 npx 跑 DSH plugin 的人怎么更新:@latest 与缓存

npx 方式没有常驻的安装实体,每次运行都重新解析包,但可能命中本地缓存里的旧副本;显式写 @latest 是让 npx 按最新标签解析的最直接办法(来源)。 三步处理:

  1. 显式带最新标签启动 — 执行 npx -y @deepseek-ai/dsh@latest web预期:npx 按 latest 解析并运行;-y 用于跳过安装确认提示。
  2. 怀疑命中旧版时清缓存 — 执行 npm cache clean --force 后重跑上一步。预期:重新下载并按最新版运行;npx 的临时安装内容位于 ~/.npm/_npx,清理即可。
  3. 确认版本 — 启动后在另一个终端执行 dsh --version(或看启动日志里的版本行)。预期:与 npm view @deepseek-ai/dsh version 一致。

最容易混的一点:npx 与全局安装是两套独立的东西,更新其中一套不会影响另一套。如果你既有全局 dsh 又偶尔用 npx,两边会各跑各的版本,见《DSH 怎么更新?npx 与 git pull 更新本体》。

更新完怎么确认 DeepSeek Harness 版本真的变了

三个版本号必须分清:全局实装版本、命令实际运行的版本、registry 认为的最新版;三者不一致时问题通常出在 PATH 或 npm 源,而不是更新命令本身。 四步核对:

  1. 看实装版本 — 执行 npm ls -g @deepseek-ai/dsh预期:这是 npm 记录在全局目录里的版本。
  2. 看实际运行版本 — 执行 dsh --version(Windows 可执行 where dsh 同时确认路径)。预期:与上一步一致;不一致说明 PATH 里优先命中的是另一份安装。
  3. 看 registry 最新版 — 执行 npm view @deepseek-ai/dsh version预期:这是源站上的最新稳定版,用来判断「还能不能再更新」。
  4. 查 npm 源 — 执行 npm config get registry预期:若指向镜像站而第 3 步的版本明显偏低,说明镜像同步滞后,可加 --registry https://registry.npmjs.org 直连官方源复核。

更完整的更新命令清单(本体与插件、各场景该用哪条)见《dsh 更新命令速查表》。

五条通用注意事项:

  1. 更新 dsh 本体不等于更新插件:插件由 dsh plugin 通道用 pnpm 管理,走的是另一条维护路径,详见《dsh 怎么升级到最新版?》。
  2. npm update -g 不带包名会全量更新:可能顺带升掉其他全局包并引入不兼容,日常只更新指定包。
  3. 源码克隆安装不吃 npm 更新:这类安装要走 git pull 后重新构建,跑 npm update -g 不会有任何效果。
  4. 切换 Node 版本后版本会「变回去」:全局目录随 Node 版本变化,用 nvm 切换后再执行 dsh --version 可能看到另一份安装,必要时用 npm root -g 确认当前全局目录在哪儿。
  5. 更新卡住或很慢先修网络:多数是源站慢或代理问题,处理办法见《DeepSeek Harness 更新卡住、更新慢怎么办?》。

用 DSH Plugin Hub 看清更新后的插件状态

npm 更新的是 dsh 本体,插件侧的版本与可更新状态要在 DSH Plugin Hub 里看——它是 DeepSeek Harness 内置的官方插件市场,已安装列表会标出哪些插件有可更新版本。 更新完本体、重启 dsh 后打开「已安装」页:有「可更新」徽标的插件再逐个点更新,避免把「本体没更新」和「插件没更新」混成一个问题。

DSH Plugin Hub 已安装插件列表,标注可更新徽标与卸载操作

来源:npm Docs - npm updatenpm Docs - npm installnpm Docs - npxdeepseek-ai/deepseek-harness GitHub 仓库

常见问题

npm 怎么更新 dsh?直接跑 npm update -g 就能升到最新版吗?

更新 DeepSeek Harness 时不一定能直接升到最新版:npm update -g 只把包升到已记录的语义化版本范围允许的最高版本,跨大版本不会被升上去。要强制装最新版,用 npm install -g @deepseek-ai/dsh@latest;两者都跑完再用 dsh --version 确认实际版本。

npm update -g 和 npm install -g @latest 更新 dsh 有什么区别?

给 DeepSeek Harness 做版本升级时,前者尊重版本范围、本质是「范围内取最高」,适合打补丁式升级;后者直接以 latest 标签重新解析并覆盖安装,能跨大版本。日常想稳一点用 update,想确保拿到最新版用 install @latest,两者互不冲突。

用 npx 跑 dsh 的话怎么更新?为什么感觉一直是旧版本?

用 npx 跑 DeepSeek Harness 没有常驻的安装实体,每次运行都会解析包,但可能命中本地缓存里的旧副本。显式写成 npx @deepseek-ai/dsh@latest 会强制按最新标签解析;缓存目录是 ~/.npm/_npx,怀疑命中旧版时可清理后再试。

更新完怎么确认 dsh 版本真的变了,而不是命令还是老的?

确认 DeepSeek Harness 更新是否真的生效要三步核对:npm ls -g @deepseek-ai/dsh 看全局实装版本,dsh --version 看命令实际跑起来的版本,npm view @deepseek-ai/dsh version 看 registry 认为的最新版。三者不一致时,优先查 npm config get registry 与 PATH。

已经用 npm 更新过 dsh,为什么 npm view 看到的版本比官网旧?

已经用 npm 更新过 DeepSeek Harness 却发现 npm view 版本偏低,多半是 npm 源指向了镜像站,镜像同步有延迟,npm view 读到的是镜像上的旧数据。执行 npm config get registry 确认源,必要时用 --registry https://registry.npmjs.org 直连官方源再查一次。

相关术语

npm update -g
npm update -g 是 npm 的全局更新命令,把全局安装的包升到已记录语义化版本范围允许的最高版本。它不会跨出该范围,因此像 DeepSeek Harness 这样跨大版本发布的项目,升级需要改用 npm install -g <包>@latest。npm Docs
latest 标签
latest 标签是 npm registry 上某个包的默认发布标签,npm install <包>@latest 会按该标签解析到最新稳定版。它与具体版本号不同,会随维护者发版自动移动。npm Docs
npx 缓存
npx 缓存是 npx 存放临时下载包的本地目录,通常位于 ~/.npm/_npx。用 npx 运行包时可能命中缓存中的旧副本,显式带 @latest 或清理缓存可以避免。npm Docs
--depth=0
--depth=0 是 npm ls 与 npm outdated 的层级参数,表示只列出顶层依赖、不展开子依赖树。核对全局装了哪些包及其版本时用它,输出最干净。npm Docs

来源