插件一直显示 zzz updating plugin:DeepSeek Harness 更新卡住的四类原因与恢复
zzz updating plugin 是更新中的状态,不是报错。 短时间出现正常;一直不结束,才说明卡在下载、解包、依赖或重启四步之一。
zzz 是什么状态
它是界面上的占位文案,表示更新流程正在跑。 更新通常包含四步:解析版本、下载包、解包与依赖、重启加载(来源)。
四步都可能显示同一个状态。 界面不区分阶段,只显示「更新中」;要判断卡在哪一步,必须看系统日志。
不要把它当成错误码去搜。 搜到的多是「更新失败」的通用方案,和「卡住」不是一回事;先看阶段,再选方案。
四类卡住原因
更新停在 zzz,原因集中在四类。 每类有不同判据。
- 下载慢或中断。 网络、镜像或代理问题;日志停在下载阶段,进度不动。
- 解包或磁盘问题。 空间不足、权限不够、路径过长;日志报解包或写入失败。
- 依赖解析冲突。 插件依赖与现有版本冲突,或锁文件残留;日志停在解析或依赖阶段。
- 重启加载失败。 更新写完了,但启动时加载失败;界面可能仍显示更新中,插件却不可用。
四类的处理方式完全不同。 下载问题换网络或镜像,解包问题查磁盘与权限,依赖问题清锁或回滚,加载问题看插件日志。
先判断卡在哪一步
没有日志的判断都是猜。 用三个观察点定位阶段。
- 看进度是否变化。 长时间零变化偏下载;反复跳回偏依赖解析。
- 看系统日志。 最后一条记录停在哪个阶段,就是卡住的位置。
- 看磁盘与权限。 空间不足或目录只读,会在解包阶段失败。
- 看已安装列表。 版本号是否已变;变了但功能不可用,偏加载阶段。
「版本变了但功能不可用」最容易被误判成没更新。 实际是更新完成、加载失败;处理方向是查加载,不是重新下载。
「版本没变」才是真的没走完。 这时看日志停在哪一步,按对应原因处理。
恢复顺序:从轻到重
恢复按代价排序,先做不破坏现场的。
- 等一分钟再判断。 大包或慢网络下,更新本来就需要时间;不要刚出现就中断。
- 看日志确认阶段。 下载、解包、依赖、加载,四选一。
- 换网络或镜像。 只对下载阶段有效;换完重试,观察进度是否变化。
- 清锁与缓存。 依赖解析卡住时,清理残留锁文件后重试;清理前记录当前版本。
- 重装插件。 前四步无效时,卸载后重新安装;重装前确认配置已备份。
- 回退版本。 新版本本身有问题时,装回上一版并锁定,等修复版本。
不要一上来就重装。 重装会丢失现场,也无法区分是下载、依赖还是加载问题;先看日志。
中断要谨慎。 下载阶段中断通常安全;解包与依赖阶段中断可能留下半成品,重启后需要重新更新。
什么时候其实已经完成
三种情况看起来像卡住,实际已经完成。
- 版本已变、功能正常。 只是界面状态没刷新;刷新或重启后恢复显示。
- 插件已可用、列表显示旧版本。 缓存未更新;以实际功能为准,再核对
dsh plugin --profile web list。 - 更新写入完成、等待重启。 部分插件需要重启才生效;界面停在更新中,是等待动作。
判断标准是「版本 + 功能」,不是界面文案。 两者都对,就不用继续等;文案只是展示层。
用命令核对版本。 dsh plugin --profile web list 能看到实际安装版本,比界面状态可靠。
两个典型场景
两个场景最能说明「看阶段」比「看文案」有用。
- 换了镜像仍然卡住。 镜像只影响下载,如果日志停在依赖解析,换十个镜像也不会动;这时应该清锁或回滚,而不是继续换源。
- 更新完成后插件报错。 状态一直显示更新中,但版本已变、插件加载失败;这属于第四类原因,处理方向是看加载日志与插件兼容性,不是重新下载。
两个场景的共同点是「文案没变、阶段变了」。 只看界面会得出错误结论;日志里的最后一条记录才是判据。
防复发:更新前的三件事
更新卡住可以预防,代价是更新前多花两分钟。
- 确认磁盘空间: 至少留出插件体积数倍的空间,避免解包失败。
- 确认网络与镜像: 下载慢时先换镜像,不要等到超时。
- 记录当前版本: 出问题时能回退;只记「最新版」没有意义。
一次只更新一个插件。 批量更新卡住时,无法判断是哪一个;单个更新,问题范围最小。
更新后先跑最小功能。 不要等一天后才发现插件不可用;更新完立刻验证一个入口或命令。
下一步
先看日志停在哪一步,再按代价恢复。 想看正常的单个插件更新流程,看《更新单个插件》;想看 Hot Reload 失败,看《插件 HMR 重载失败》;想看 Hub 的更新确认弹窗,看《DSH Plugin Hub 打开后怎么装插件》。
来源:DSH Plugin Hub 2.2.5 界面截图索引、dshplugin/dsh-plugin-hub、dsh CLI README
常见问题
zzz updating plugin 不是报错,是更新中的占位状态,表示插件正在处理更新。短时间出现正常;长时间不结束才说明卡在某一步。
更新停在 zzz 时直接重启,通常不会把已装版本弄坏,但可能中断写入。先看系统日志停在哪一步:下载可以中断重来,解包与依赖阶段中断可能留下半成品。
判断更新是真卡住还是界面没刷新,看已安装列表里的版本号与更新时间,再看插件是否已经可用。版本已变、功能正常,说明更新完成;版本没变才是真卡住。
换了 npm 镜像后更新变快但仍偶尔卡住,是因为镜像解决下载速度,不解决锁文件、依赖冲突与重启失败。看日志确认卡在哪一步;镜像只对下载阶段有效。
相关术语
- zzz updating plugin
- zzz updating plugin 是插件更新时的占位状态文案,表示更新流程正在执行,不是错误码。— DSH Plugin Hub 2.2.5 界面截图索引
- 更新确认弹窗
- 更新确认弹窗是 Hub 在替换版本前展示目标版本与来源的核对界面,确认后才开始更新。— DSH Plugin Hub 2.2.5 界面截图索引
- 系统日志
- 系统日志记录安装、更新、加载与运行过程,按分类与级别展示,用于判断更新停在哪一步。— DSH Plugin Hub 2.2.5 界面截图索引
- 锁文件
- 锁文件是包管理器记录依赖解析结果的元数据,残留或冲突时会让安装与更新停在解析阶段。— dsh CLI README
来源
- DSH Plugin Hub 2.2.5 界面截图索引· dsh-plugin.org
- dshplugin/dsh-plugin-hub· dshplugin
- dsh CLI README· deepseek-ai