dsh 更新了版本没变怎么办?DeepSeek Harness 多份安装、PATH 与缓存排查

简介: dsh 更新了版本没变,先分清三层:磁盘上的包、PATH 命中的命令、正在跑的进程。最常见是服务没重启与多份安装;本文给 which -a、npm root -g、hash -r 与缓存、镜像滞后的逐项排查。

dsh 更新了版本没变,先分清三层:磁盘上的包、PATH 命中的命令、正在跑的进程。最常见是服务没重启与多份安装;本文给 which -a、npm root -g、hash -r 与缓存、镜像滞后的逐项排查。

本文转自 DSH Plugin Hub 插件市场


dsh 更新了版本没变,先分清三层:磁盘上装的包、PATH 命中的那条命令、以及正在运行的进程。 DSH插件 与 DeepSeek插件 的版本判断同样依赖 PATH 与缓存机制,插件侧另有入口,见文末。十次里有七八次是「服务进程没重启」,剩下的多在多份安装与 PATH 顺序、nvm 切换过的 Node、命令哈希缓存这几处——这篇按这个顺序逐层排掉。

版本没变先分清三层:DeepSeek Harness 的包、命令与进程

「版本没变」有三种含义完全不同的情况:包没装上、装上了但命令走的不是这一份、命令是新的但跑着的进程还是旧的(来源)。 先按下表对号入座:

现象 指向哪一层 第一件事
npm ls -g @deepseek-ai/dsh 版本没变 包没更新成功 查 npm 源与权限,见《DeepSeek Harness 更新失败怎么办?》
npm ls -g 是新版,但 dsh --version 是旧版 命令命中了另一份安装 用 which -a dsh 看 PATH 顺序
命令版本是新的,浏览器界面/行为没变 进程没重启 重启 dsh 或托管它的后台服务
  1. 看包装到哪一步 — 执行 npm ls -g @deepseek-ai/dsh。预期:输出 npm 记录的全局版本号。
  2. 看命令实际是哪份 — 执行 which dsh(Windows:where dsh)。预期:输出命令真正执行的路径,与上一步的全局目录对照。
  3. 看进程用的哪份 — 重启 dsh 后再执行 dsh --version。预期:重启后仍不一致,才需要往 PATH 与缓存方向继续查。

最常见的原因:DeepSeek Harness 服务进程没重启

更新改的是磁盘上的包文件,已经在跑的 dsh 进程仍持有旧代码,所以必须重启进程版本才会变——这是「更新成功但版本没变」里占比最高的一种(来源)。 三步处理:

  1. 先停掉当前进程 — 在运行 dsh 的终端按 Ctrl+C;若配了后台服务,用 systemctl --user restart dsh(Linux)或 launchctl kickstart -k gui/$(id -u)/org.dsh.web(macOS)重启。预期:lsof -i :3080 先无监听、重启后再出现监听。
  2. 确认没有残留进程 — 执行 pgrep -af dsh。预期:只应看到你刚启动的那一个;有多个说明旧进程还占着端口。
  3. 重新验证版本 — 执行 dsh --version。预期:显示新版本。若仍为旧版,继续往下查 PATH。

一个容易忽略的点:浏览器里打开的页面属于旧进程,重启后要刷新页面(必要时强制刷新),否则看到的行为可能仍是旧的。

DSH plugin 的 PATH 与多份安装:更新落在另一份上

同一个 dsh 在机器上存在多份安装时,npm 更新的与你执行的不是同一份,版本自然「没变」(来源)。 四步排清:

  1. 列出所有匹配 — 执行 which -a dsh(Windows:where dsh)。预期:输出多行,第一行是命令实际执行的那份;行数大于一则存在多份安装。
  2. 确认 npm 更新的是哪一个目录 — 执行 npm ls -g @deepseek-ai/dsh 与 npm root -g。预期:全局目录路径与第 1 步里命中的那份是否一致,一眼可判。
  3. 确认当前 Node 版本 — 执行 node -v 与 npm prefix -g。预期:若你用过 nvm,每个 Node 版本有各自的全局目录,在某版本下更新不会影响另一个版本。
  4. 在正确的那份上重装 — 切到你实际使用的 Node 版本后执行 npm install -g @deepseek-ai/dsh@latest。预期:npm root -g 与 which dsh 指向同一区域,dsh --version 同步变化。

处置原则:与其在多份安装间反复更新,不如只保留一份——把多余的全局安装卸掉,或统一用 nvm 管理 Node,避免长期出现「更新了但没变」。

DeepSeek Harness 命令哈希缓存与 npx 缓存

交互式 shell 会缓存命令名到路径的映射,程序被替换或移动后缓存可能仍指向旧路径;如果你用 npx 运行,还可能命中 ~/.npm/_npx 里的旧副本(来源)。 三步清理:

  1. 清 shell 命令缓存 — 执行 hash -r(bash 与 zsh 都可用),zsh 也可用 rehash。预期:再执行 which dsh 拿到的是当前真实路径。
  2. 清 npm 与 npx 缓存 — 执行 npm cache clean --force。预期:之后 npx @deepseek-ai/dsh@latest 会重新下载,而不是复用旧副本。
  3. 重新验证 — 依次执行 which dsh、dsh --version、npm view @deepseek-ai/dsh version。预期:三者版本口径一致;若最后一个偏低,看下一节。

DeepSeek Harness 镜像源滞后:把「还没同步」误判成「更新没生效」

npm view 与 npm outdated 读的是当前源的缓存数据,源指向镜像站时可能落后于官方发布,于是看起来「没有新版本可更新」(来源)。 三步确认:

  1. 看当前源 — 执行 npm config get registry。预期:输出当前 registry 地址,判断是否为镜像站。
  2. 直连官方源复核 — 执行 npm view @deepseek-ai/dsh version --registry https://registry.npmjs.org。预期:与上一步结果对比,若这里更高,说明是镜像滞后而非更新失败。
  3. 需要时切源或临时指定 — 若长期停留在镜像上,用 --registry 临时指定官方源重新安装。预期:版本号更新到官方源上的最新稳定版。

五条通用注意事项:

  1. 先重启再怀疑更新失败:进程没重启是最常见原因,别一上来就反复重装。
  2. 别在多份安装之间来回更新:每次都只动一份、验证另一份,永远对不上;先收敛成一份再谈更新。
  3. which dsh 之后的路径要记下来:它是判断「命令走哪份」的唯一依据,比看哪个目录都觉得像更可靠。
  4. 清缓存后首次启动会变慢:重新下载属于正常现象,别把它当成新的故障。
  5. 更新后行为异常但版本已变:那属于兼容性问题,走另一条路,见《DeepSeek Harness 更新后 DSH plugin 不兼容?》。

排完本体版本问题后,插件侧的状态要单独看:DSH Plugin Hub 是 DeepSeek Harness 内置的官方插件市场,已安装列表会显示每个插件的当前版本与可更新徽标。 版本号已核对无误、界面行为却仍不符合预期时,先在这一页确认相关插件是否确实升到了新版,避免把插件没更新误当成本体没生效。

DSH Plugin Hub 已安装插件列表,显示每个插件的版本与可更新状态


常见问题

dsh 更新命令跑完了、也提示成功,为什么 dsh --version 还是旧版本?

DeepSeek Harness 更新完版本没变,最常见的原因是正在跑的进程还是旧代码。更新改的是磁盘上的包文件,已经启动的服务进程不会自动换成新版本,必须重启 dsh(或重启托管它的后台服务)再执行 dsh --version。

电脑上装了好几份 dsh,怎么确认更新的是哪一份、命令走的又是哪一份?

确认 DeepSeek Harness 更新的是哪一份、命令走的又是哪一份,用 which -a dsh(Windows 用 where dsh)列出 PATH 里所有匹配的 dsh,第一个就是命令实际执行的那份。再执行 npm ls -g @deepseek-ai/dsh 与 npm root -g,确认 npm 更新的是哪个全局目录;两者不一致时,更新就落在了另一份上。

用 nvm 切换过 Node 版本之后 dsh 版本好像变回去了,是什么原因?

用 nvm 切换 Node 后 DeepSeek Harness 版本变回去,是因为 npm 的全局目录随 Node 版本变化:每个 Node 版本有各自的全局 node_modules,在 A 版本下更新的包在 B 版本下看不到。用 node -v 与 npm root -g 确认当前生效的是哪一套,然后在你实际使用的那套下重新更新。

更新后命令哈希缓存会让 dsh 还指向旧路径吗?怎么刷新?

会——更新 DeepSeek Harness 后 bash 与 zsh 可能仍缓存着旧路径,若旧路径已被替换,缓存可能仍指向它。执行 hash -r(bash/zsh 均可)或 zsh 的 rehash 清掉缓存,再执行 which dsh 与 dsh --version 复核。

npm view 看到的版本比官网低,是更新没生效吗?

DeepSeek Harness 更新后 npm view 看到的版本偏低,多数不是更新问题,而是 npm 源指向了镜像站、镜像同步有延迟。执行 npm config get registry 确认源,必要时加 --registry https://registry.npmjs.org 直连官方源再查一次,避免把镜像滞后误判成更新失败。


本文转自 DSH Plugin Hub 插件市场,版权归属 DSH Plugin Hub 插件市场。

分类:更新与升级

原文地址:https://dsh-plugin.org/zh/tutorials/dsh-update-not-working

首页:DSH Plugin Hub

来源:npm Docs - npm prefix、npm Docs - npm ls、GNU Bash Reference Manual(hash)、deepseek-ai/deepseek-harness GitHub 仓库

相关文章
|
1月前
|
缓存 开发工具 git
npm 怎么更新 dsh?DeepSeek Harness 的 npm update -g 与 @latest 用法
npm 怎么更新 dsh 要分清三条路:npm update -g 受语义化版本范围限制、install -g @latest 强制装最新、npx 要显式带 @latest 并注意缓存;文末给版本核对与镜像滞后的确认方法。
512 0
|
1月前
|
缓存 资源调度 开发工具
dsh 怎么升级到最新版?DeepSeek Harness 升级教程:三种升级方式、版本固定与降级、升级前备份
升级 dsh 就是换到新版本:先查当前与最新版本,再按安装方式升级(npx 自动最新、npm update -g、源码 git pull 构建),必要时用 @版本号固定或降级。本文讲清升级与更新的区别、升级步骤、备份与版本管理技巧。
1323 1
dsh 怎么升级到最新版?DeepSeek Harness 升级教程:三种升级方式、版本固定与降级、升级前备份
|
14天前
|
数据可视化 安全 JavaScript
dsh plugin add 本地目录怎么装?git clone 源码、npm 与市场安装怎么选
dsh plugin add 加本地目录一条命令装进 profile:git clone 仓库后 add ../仓库目录;GitHub 源码源只拉源码不拉构建产物,要 author 的 prepare 脚本与用户 allowBuilds 授权;最后给 npm 版与官方市场的选择建议。
179 1
dsh plugin add 本地目录怎么装?git clone 源码、npm 与市场安装怎么选
|
1月前
|
JavaScript API 开发工具
DeepSeek Harness 源码怎么构建?DSH plugin 本地开发调试与源码版 npx 差异指南
DeepSeek Harness 从源码构建分五步:装 Node.js 与 pnpm → git clone → pnpm install → pnpm run build → pnpm dsh 启动。源码版最适合本地开发 DSH plugin——dsh plugin 会把参数原样转发给 pnpm,支持本地路径调试;开发完可提交到 DSH Plugin Hub 收录。
304 3
DeepSeek Harness 源码怎么构建?DSH plugin 本地开发调试与源码版 npx 差异指南
|
20天前
DSH plugin 怎么给用户提供配置?插件 Config 定义、Schema 校验与配置文件加载详解
给 DSH plugin 加配置三步:导出 Config 类型与 Schemastery schema,默认值写进 schema;schema 在插件加载时校验,不合法直接加载失败、错误响亮;用户侧在 cordis.yml 的 config 字段填值,改配置即触发热替换,无需重启。
DSH plugin 怎么给用户提供配置?插件 Config 定义、Schema 校验与配置文件加载详解
|
1月前
|
JavaScript 开发者
DSH plugin 从零怎么写?最小插件目录、本地构建与装进 profile 调试的完整起步流程
写第一个 DSH plugin 只需要一个导出 apply 函数的模块:先用 patch 覆盖层把本地文件插进 Web 界面验证,再做成包用 dsh plugin --profile add 装进 profile,最后用 --dump-config 与日志排错。
243 2
|
1月前
|
JavaScript
DSH plugin 打包成 bundle:bundle 与 profile 的区别、三个文件与安装验证
DeepSeek Harness(DSH)插件打包:用 package.json 的 dsh.bundle 声明 bundle、写 cordis.patch.yml 按包名插入行,再用 dsh plugin add 装进 profile 并用 --dump-config 验证配置层。
163 2
|
13天前
|
人工智能 运维 前端开发
接入多家模型供应商之后,我总结的 7 条铁律
AI 应用接了第二家模型供应商之后,事情就不再是"多加一个接口"那么简单——不是调不通,是钱会算错。这篇讲我们定下来的 7 条规则:幂等键、任务落库时机、备用线路的切换边界、退款、凭据隔离、付款来源固化、密钥不进浏览器。
|
14天前
|
人工智能 自然语言处理 IDE
阿里云AI模型夜间优惠怎么个事儿?Night Plan申请及使用流程
阿里云Night Plan是百炼AI平台推出的夜间优惠计划,每晚22:00–次日8:00使用Qwen3.8-Max/Flash等指定模型享4折,支持Qoder、Meoo及Token Plan用户,自动生效,无需报名。
126 1
|
2月前
|
JavaScript API 开发工具
DeepSeek Harness 0.1.1-rc.1 发布:我的插件和启动器已完成适配
DeepSeek Harness 发布 0.1.1-rc.1,本文整理官方版本状态,并介绍 dsh-billing、Error Lens、Git Inspect、Provider Probe、Concurrency Meter 与 dsh-launcher 的兼容更新。
DeepSeek Harness 0.1.1-rc.1 发布:我的插件和启动器已完成适配