DeepSeek Harness 插件市场下载慢、装到一半失败?插件安装的镜像与代理排查全流程
DSH plugin 下载慢、装到一半失败(中文也常写作 DSH插件、DeepSeek插件),根因分三类:网络到 registry 慢、当前 npm 镜像同步滞后、插件含需要现场编译的原生依赖。 三者表现相近但处理方式完全不同,这篇按「先分类 → 配镜像与代理 → 清理重试与校验」走完,避免反复重装。
第一步:装 DSH plugin 先分清三类症状——慢、404,还是卡在编译
同样是「装不上」,终端输出停在哪一步就指向哪一类问题,先分类再动手。 对照表:
| 症状 | 终端表现 | 根因 | 去哪一节 |
|---|---|---|---|
| 下载很慢但最终成功 | 进度条推进缓慢 | 到 registry 的网络慢 | 配镜像 |
| 立刻失败并报 404 | 输出含 ERR_PNPM_FETCH_404 | 镜像同步滞后,源里没有 | 换源重试 |
| 进度卡住或报 gyp/make | 停在编译步骤 | 原生依赖现场编译失败 | 补工具链 |
报错的完整解读见《DSH plugin 安装失败排查:ERR_PNPM_FETCH_404》,本篇只处理「慢」与「装到一半中断」。
第二步:给 DSH plugin 安装配上镜像与代理
镜像与代理都写在 .npmrc 里,而 dsh plugin 的安装由 pnpm 驱动、pnpm 同样读取这份配置,所以改一处两条安装路径都生效(来源)。 五步:
- 先看当前用的是哪个源 — 执行
npm config get registry。预期:输出当前 registry 地址,确认是不是镜像源。 - 换到更快的镜像 — 执行
npm config set registry https://registry.npmmirror.com。预期:再跑插件安装,下载速度明显改善。 - 只给一次安装换源 — 在命令末尾追加参数,不改全局配置:
dsh plugin --profile web add <包名> --registry=https://registry.npmjs.org
预期:本次安装走指定源;报 404 时用它对照官方源是否真的有包。也可用 npm_config_registry=https://registry.npmjs.org dsh plugin --profile web add <包名> 临时指定。
- 公司网络要过代理就配 proxy — 执行
npm config set proxy http://127.0.0.1:<端口>与npm config set https-proxy http://127.0.0.1:<端口>。预期:安装不再出现连接超时;也可用HTTP_PROXY/HTTPS_PROXY环境变量只对当前终端生效。 - 确认代理放行了插件来源域名 — npm registry 与 GitHub 都要能出网。预期:
github:owner/repo这类来源不再卡在拉取阶段。

插件市场里点「安装」走的是同一条取包链路,所以镜像与代理配置好后,界面上的下载速度同样改善。
第三步:清理后重试 DSH plugin 安装并校验
装到一半失败别急着整目录删,先卸载再重装,让依赖声明与实际文件保持一致。 四步:
- 卸载失败的那一条 — 执行
dsh plugin --profile web remove <包名>。预期:命令成功返回,profile 的依赖记录清掉该条。 - 确认 profile 没被改错 — 执行
ls "$DSH_HOME/profiles",确认操作的是同一个 profile。预期:与你原计划的 profile 一致,避免在另一个 profile 上重装。 - 用新源重装 — 执行
dsh plugin --profile web add <包名>。预期:这次能在合理时间内装完,不再中断。 - 两处校验 — 执行
dsh plugin --profile web list,再打开设置 → 插件市场 → 已安装核对。预期:两处都能看到该插件,版本一致。

插件市场的已安装列表是最终判据;命令输出与它一致才算真的装好。挑选插件与查看版本的用法见《用插件市场装插件》。
镜像与代理配置 DSH plugin 安装的注意事项与局限
- 镜像快但有滞后:镜像同步有延迟,刚发布的插件或版本在镜像里可能还没有,表现为立刻 404;判断标准是官方源能否搜到同名包。
- 代理要放行两类域名:registry 与插件来源(GitHub 等)都要能出网,只放行其一仍会卡在半路。
- 别用删目录代替卸载:手动删
node_modules会留下声明与文件不一致的残局,正确做法是 remove 再 add。 - 卡在编译不是网络问题:输出含
gyp/make一类关键词时,换镜像无效,要补编译工具链或改装有预编译产物的 npm 版本。 - 先分类再动手:慢、404、卡编译三类症状处理方式不同,盲目重装只会重复踩同一个坑。
镜像与代理配好之后,插件的安装与更新都会顺畅很多。DSH Plugin Hub 既是插件市场也是管理界面,装完在它的已安装列表里复查最直接。
来源:dsh CLI README(官方仓库)、npm .npmrc 配置(官方文档)、dshplugin/dsh-plugin-hub
常见问题
**插件市场下载 DSH plugin 慢,多数不是插件本身的问题,而是取包链路慢**。装得慢通常来自三层:本机到 registry 的网络慢、当前 npm 镜像同步滞后、插件含需要现场编译的原生依赖。先确认是「纯慢」还是「卡住不动」,前者换镜像提速,后者多半是依赖编译或代理不通。
**装 DSH plugin 到一半失败、进度卡住时,先看终端最后几行输出指向哪一步**。输出停在下载就查网络与镜像,停在 gyp / make 一类关键词就是原生依赖在编译,停在认证类提示则是代理或私有源配置问题。定位到步骤再动手,别反复重装。
**改 DSH plugin 安装的镜像源要写进 .npmrc,npm 与 pnpm 都会读取**。执行 npm config set registry https://registry.npmmirror.com 改默认镜像,只想给一次安装换源就在命令末尾加 --registry=https://registry.npmjs.org,或用 npm_config_registry=... 环境变量临时指定,装完再改回常用镜像。
**给 DSH plugin 安装挂代理,要在 .npmrc 里配 proxy 与 https-proxy,或走环境变量**。执行 npm config set proxy http://127.0.0.1:端口 与 npm config set https-proxy http://127.0.0.1:端口,也可用 HTTP_PROXY / HTTPS_PROXY 环境变量只对当前终端生效;代理域名要放行 registry 与插件来源域名,否则仍会超时。
**换源后仍装不上 DSH plugin,要先用 remove 卸载再重装,而不是手动删目录**。装到一半失败后,执行 dsh plugin --profile web remove <包名> 清掉这条记录,再用新镜像重跑 add;手动删 node_modules 会留下依赖声明与实际文件不一致的残局,校验时反而更难判断。
相关术语
- npm 镜像源(registry)
- npm 镜像源是 npm 包仓库的副本,默认官方源为 registry.npmjs.org,国内常用淘宝镜像提速。它由 .npmrc 的 registry 项控制,npm 与 pnpm 共用这份配置,因此改一处两处都生效。— npm 官方文档 - .npmrc 配置
- .npmrc
- .npmrc 是 npm 的配置文件,记录 registry、proxy、https-proxy 等键值。dsh plugin 安装由 pnpm 驱动,而 pnpm 同样读取 .npmrc,所以插件安装的镜像与代理都在这里配置。— npm 官方文档 - .npmrc 配置
- ERR_PNPM_FETCH_404
- ERR_PNPM_FETCH_404 表示 pnpm 从当前镜像取包时返回 404,即该镜像里没有这个包或版本,常见于镜像同步滞后。它是「源里没有」而不是「网络慢」,处理方式是换源重试。— dsh CLI README
- 原生依赖编译
- 原生依赖编译指安装含 C/C++ 扩展的插件时,需要在本机用工具链现场构建。这一步耗时且容易在缺编译环境时失败,表现为安装长时间卡住或报 gyp、make 一类错误。— dsh CLI README
来源
- dsh CLI README· deepseek-ai
- npm 官方文档 - .npmrc 配置· npm
- dshplugin/dsh-plugin-hub GitHub 仓库· GitHub