npx @deepseek-ai/dsh web 跑的是哪个版本?DeepSeek Harness 缓存与版本漂移治理

安装与快速上手发布于 2026-09-24作者: DeepSeek Plugin 插件市场
DeepSeek HarnessDSH pluginnpx版本管理dsh web
npx @deepseek-ai/dsh web 每次都会解析 npm 包,但可能命中 ~/.npm/_npx 里的旧副本,于是「命令没变、版本却对不上」。本文讲清 npx 的两处缓存、三条查版本命令、清缓存与强制 @latest 的写法,以及全局安装与 npx 混用时的排查顺序。

npx @deepseek-ai/dsh web 每次都会从 npm 解析包,但会复用本地缓存——所以出现「命令没变、版本对不上」时,问题基本不在 DSH,而在 npx 缓存与多份安装。 本文把缓存位置、查版本命令、清缓存与锁版本写法一次讲清。

概览:dsh 版本对不上的三种成因

版本对不上有三种成因:npx 命中了缓存里的旧副本、本机存在多份安装、shell 缓存了命令路径。 三种都能用命令验证,不用卸载重装(来源)。判断顺序建议从「查当前版本」开始,先定位事实,再决定清哪一处缓存。

为什么 npx 会跑到旧版本:dsh 的两处缓存不是一处

npx 相关有两个可清的位置,性质完全不同:~/.npm/_npx 是 npx 的临时运行环境,~/.npm/_cacache 是 npm 的下载缓存。 很多人只清了后者,于是旧副本照旧生效(来源)。

缓存位置存什么清理命令
~/.npm/_npxnpx 临时运行环境(包与可执行入口)rm -rf ~/.npm/_npx
~/.npm/_cacachenpm 下载缓存(tarball 数据)npm cache clean --force

npm cache clean --force 不会清 ~/.npm/_npx——这是两处独立目录,只清一处往往看不到任何变化。

怎么查 npx @deepseek-ai/dsh web 当前跑的是哪个版本

查版本要分三层问:npx 解析到的版本、全局安装的版本、当前终端实际命中的 dsh。 三条命令各回答一个问题(来源):

  1. 查 npx 解析到的启动器版本:npx @deepseek-ai/dsh --version,预期:输出版本号;它只在参数边界之前打印启动器版本(来源);
  2. 查全局安装的版本:dsh --version,预期:输出版本号;若提示 command not found,说明你从头到尾都是 npx 方式,没有全局实体;
  3. 查所有可见的 dsh 路径:which -a dsh,预期:列出全部命中路径;出现两行以上就说明本机有多份安装(nvm 各 Node 版本各一份、pnpm 或 Homebrew 装了一份)。

两个版本号不一致时,优先怀疑 shell 的命令路径缓存:执行 hash -r(zsh 用 rehash)后再复核一遍。

清 npx 缓存,强制 dsh 解析到最新版

要彻底断掉旧副本,按「清两处缓存 → 用 @latest 重跑」的顺序做,一步都不能省(来源)。

  1. 清 npm 下载缓存:npm cache clean --force,预期:命令返回成功;此后重新下载不再复用旧 tarball;
  2. 清 npx 临时运行环境:rm -rf ~/.npm/_npx,预期:目录被删除,下次运行 npx 会重新解析并下载;
  3. 用最新标签重跑:
bash
npx -y @deepseek-ai/dsh@latest web

预期:终端显示重新下载,之后启动的即当前最新版; 4. 复核:npx @deepseek-ai/dsh --version,预期:版本号与官方 Releases 页最新版一致。

想确认官方最新版号,去官方 Releases 页或 npm 包页看,不要凭记忆写版本号——任何文章里写死的版本号都会过期(来源)。

锁定 dsh 版本:把 @latest 换成确切版本号

固定版本与追最新版只差包名的写法:@latest 是最新标签,换成版本号就是锁定。 这在排查「新版引入的问题」或团队统一环境时特别有用:

  1. 到官方 Releases 页复制确切版本号;
  2. 用锁定写法启动:
bash
npx @deepseek-ai/dsh@1.3.9 web

预期:npx 按该版本解析并启动,不再自动追最新; 3. 验证:npx @deepseek-ai/dsh@1.3.9 --version,预期:输出的版本号与你写的完全一致; 4. 想回到追最新:去掉版本号或改回 @latest 即可。

版本号怎么选、rc 版与稳定版的取舍,见《DeepSeek Harness 版本怎么选?dsh 版本号怎么看》。

全局安装与 npx 混用时的 dsh 排查顺序

同一台机器同时有全局安装和 npx 缓存时,最容易出现「更新了全局版、终端却还在跑缓存副本」。 按固定顺序排查,别跳步(来源):

  1. which -a dsh 列全部路径,预期:确认到底装了几份、各在哪;
  2. hash -r 清 shell 路径缓存,预期:再执行 which dsh 结果可能变化;
  3. 对比 dsh --version 与 npx @deepseek-ai/dsh --version,预期:找出旧的那一份;
  4. 旧的是全局安装 → npm update -g @deepseek-ai/dsh;旧的是 npx 缓存 → 按上一节清缓存;两者都旧 → 先更新全局,再清 npx 缓存。

完整的「更新了版本没变」排查法见《dsh 更新了版本没变怎么办》。

DSH plugin 版本也一起对齐:交给 Hub 可视化管

本体版本理清之后,DSH插件版本建议交给界面管——版本号、可更新状态、更新确认都在一处显示(来源)。 装好 DSH Plugin Hub 后打开设置 → 插件市场 → 已安装,每个插件都显示当前版本与更新时间,行尾直接给「可更新」与「卸载」按钮:

DSH Plugin Hub 已安装插件列表

与其在命令行里比对 dsh plugin list 与包版本,不如用 Hub 的已安装列表一眼看出哪些插件落后、哪些有新版本——更新前还会弹确认窗口展示将要执行的命令。访问 https://dsh-plugin.org/zh/ 即可了解详情。

来源:npm npx 文档、npm cache 文档、dsh CLI README、官方 Releases

常见问题

npx @deepseek-ai/dsh web 每次都会拉最新版,为什么我的版本还是旧的?

npx @deepseek-ai/dsh web 跑的是旧版,是因为 npx 复用了本地缓存——解析包时命中了 ~/.npm/_npx 里的旧副本。执行 npm cache clean --force 后重跑,或把命令写成 npx -y @deepseek-ai/dsh@latest web 显式按最新标签解析,就会重新下载最新包。

怎么确认 npx @deepseek-ai/dsh web 当前跑的到底是哪个版本?

执行 npx @deepseek-ai/dsh --version 看 npx 解析到的启动器版本;如果做过全局安装,再执行 dsh --version 对比全局版本。两个数字不一致,说明本机同时存在 npx 缓存与全局安装两份 dsh,当前终端跑的是哪一个取决于 PATH 与缓存。

npm cache clean --force 能清掉 dsh 的 npx 缓存吗?清完还要做什么?

npm cache clean --force 只清 npm 的下载缓存(~/.npm/_cacache),不会动 npx 的临时运行环境 ~/.npm/_npx,dsh 的旧副本通常留在这两处中的后者。要彻底断掉旧副本,先 npm cache clean --force,再删 ~/.npm/_npx,然后用 @latest 重新运行一次,让 npx 重新解析并下载最新包。

想把 dsh 固定在一个版本上、不让 npx 自动升级,命令怎么写?

锁定 dsh 版本就把 @latest 换成确切版本号,例如 npx @deepseek-ai/dsh@1.3.9 web,npx 就会按这个版本解析而不是最新标签。锁定前先到官方 Releases 页或 npm 包页确认该版本号真实存在,不要凭记忆写版本号。

which dsh 只有一条,但 dsh --version 和 npx 的版本对不上,怎么排查?

dsh --version 与 npx 版本对不上,一般是本机存在多份 dsh,按三步排查:先用 which -a dsh 列出所有可见的 dsh 路径,确认是否有多份安装(nvm 各 Node 版本、pnpm、Homebrew 各一份);再执行 hash -r(zsh 用 rehash)清掉 shell 的命令路径缓存;最后分别跑 dsh --version 和 npx @deepseek-ai/dsh --version 对比,谁旧就清谁对应的缓存。

相关术语

npx
npx 是随 npm 一起安装的包执行器,能在不全局安装的情况下从 npm 拉取并执行某个包;它会把包缓存到本地,因此后续运行时可能复用旧副本而不是重新下载。— npm 官方文档
@latest
@latest 是 npm 包的最新版本标签(dist-tag),写在包名后表示按该标签解析版本;在 npx 命令里显式写 @latest 可以绕过缓存里的旧副本,强制解析当前最新发布版本。— npm 官方文档
npx 缓存
npx 缓存是 npx 存放临时下载包的本地目录,通常位于 ~/.npm/_npx,与 npm 的下载缓存 ~/.npm/_cacache 是两处不同位置;版本对不上时两处都需要检查。— npm 官方文档
启动器版本
启动器版本指 dsh 启动器自身的版本,用 dsh --version 或 npx @deepseek-ai/dsh --version 查看;它只在参数边界之前打印,边界之后的同名参数会交给被启动的应用解析。— dsh CLI README

来源