Slow DSH plugin Downloads? npm Mirror & DeepSeek Harness

Install & Get StartedPublished 2026-08-21Author: DSH Plugin Hub
DSH pluginDeepSeek Harnessslow downloadsnpm mirrorproxy
DSH plugin downloads slow or failing? Switch npm to a mirror or proxy. Install DeepSeek Harness and plugins from official channels.

When DSH plugin or DeepSeek Harness downloads are slow or fail, check the npm official registry first: switching to a mirror and configuring a proxy resolves most stalls immediately.

Overview

A stalled download usually comes from one of three things: a slow official registry, poor local network, or a single narrow install channel. Debug in this order: confirm which registry the download uses, speed it up, then switch to an easier channel. Read the error type before deciding the direction: timeouts and disconnects (ETIMEDOUT, ECONNRESET, ECONNREFUSED) usually mean network or registry issues; E404 / 404 Not Found usually means a wrong package name or version; 401/403 points to credentials. Classify first, then decide whether to switch the source or fix the command — do not blindly retry the same command over and over. DSH is still in developer preview and iterates fast — follow the official docs for exact commands (source).

Slow or failed DSH plugin downloads: confirm the registry first

The npm official registry is slow to reach and occasionally times out, which is where most download failures start. Check which registry is in use:

bash
npm config get registry

The default output is https://registry.npmjs.org/. If every npx @deepseek-ai/dsh web stalls at the fetch stage for a long time, or reports errors like ETIMEDOUT and ECONNRESET, switch to a mirror and retry (next section). The same applies to plugin installs — dsh plugin --profile web add forwards its arguments to the pnpm inside the profile (source), so it is equally affected by the npm registry speed.

After confirming the registry, run npm ping to quickly test connectivity to it: if it responds with low latency, the registry is probably not the problem; if it times out or errors, the registry or your network is the culprit, and you can decide between a mirror or a proxy. Also note that an outdated Node version can make npx look "stuck" at the fetch stage — run node -v and confirm it is 18 or newer before you go down the wrong path. For a full error classification and the fix steps, see Fix DeepSeek Harness Install Errors.

Mirror registry and proxy: speed up DSH plugin downloads

A mirror registry is the fastest fix; a proxy is the most thorough — and the two can be combined.

Option 1: switch to an npm mirror. Using npmmirror as an example:

bash
npm config set registry https://registry.npmmirror.com

Verify with npm config get registry, then rerun the npx or dsh plugin command. If you use pnpm, update pnpm's registry too (pnpm config set registry pointing to the same mirror), otherwise the plugin install step still hits the slow source. One thing to know in advance: mirrors sync from the npm official registry with a lag of minutes to hours, so a freshly published package may not be available on the mirror right away. If you get E404 there, do not jump to conclusions — wait a bit, or temporarily switch back to the official registry for that single fetch, then switch back. To restore the official registry, point it at https://registry.npmjs.org/ again.

Option 2: configure a proxy. A terminal-level proxy applies to npx, git, and pnpm alike. On macOS / Linux, set the http_proxy and https_proxy environment variables in your shell; on Windows PowerShell use $env:HTTP_PROXY. Rerun the download command to see whether it recovers. In environments that only reach the internet through an internal proxy — corporate or campus networks — this step is usually mandatory. After configuring, verify with npm ping; it is faster than rerunning the download. A terminal-level proxy is global to the session; if you only want one command to use it, prefix that single command with the environment variables and they will expire right after, without polluting the current session.

Note: after switching to a mirror, the git part of dsh plugin --profile web add github:owner/repo still goes over the git protocol. If git cannot pull, configure a proxy for git alone:

bash
git config --global http.proxy http://127.0.0.1:<proxy-port>

Verify it with git config --get http.proxy; when no longer needed, remove it with git config --global --unset http.proxy. If the plugin's author also publishes it on npm, installing the npm-published version instead solves both the git protocol and GitHub access at once — another route for github-sourced plugins that will not pull, covered in How to install a DSH plugin.

Other channels for the DeepSeek Harness core and DSH plugin packages

Besides CLI package fetching, there are two more convenient channels.

  1. DSH core: besides npx, you can build from source (git clone + pnpm install, source) — the source comes straight from GitHub; if GitHub is slow too, configure the git proxy (above) before cloning. A source build suits users who want to track the latest development branch or modify the code themselves; for daily use, the npx one-liner is still recommended as it skips compilation and dependency installation.
  2. DSH plugin: plugin packages do not have to go through the CLI. DSH Plugin Hub embeds a plugin center under Settings, syncing data with dsh-plugin.org daily and curating 4,401 plugins; clicking install there resolves the install command and dependencies in one pass, bypassing CLI npm stalls, and the result is logged in the notification center for later review.

After installing, run dsh plugin --profile web list to confirm the plugin shows up; plugins installed via the CLI and via the plugin center land in the same profile, so the verification step is identical.

For the full install command and real examples, see How to install DSH plugin.

Notes

  1. A registry switch only affects your user-level config and does not touch the system.
  2. Read the error before debugging: timeouts usually mean network/proxy issues; E404 usually means a wrong package name or version.
  3. After installing, run dsh --dump-config to confirm the plugin registered.
  4. Classify the error message before retrying; retrying the same command blindly will not help — if the classification is wrong, neither a mirror nor a proxy will save you.

Source: dsh CLI README, official Quickstart

FAQ

How do I debug slow or failing DSH plugin downloads?

Run npm config get registry to confirm you are on the official registry, switch to a mirror (npm config set registry https://registry.npmmirror.com) and retry; if it still stalls, configure a proxy — the two can be combined.

npm mirror did not help; github-sourced plugins still fail to download?

A github:owner/repo reference goes over the git protocol, not the npm registry. Configure a git proxy (git config --global http.proxy) or switch to the npm-published version.

npx @deepseek-ai/dsh web is stuck at the fetch stage?

First confirm the network can reach the npm registry, then switch to a mirror and retry. For a source build, also confirm GitHub is reachable or use a proxy.

Is there an install method that avoids CLI package fetching?

Yes. The plugin center in DSH Plugin Hub installs with one click and syncs data with dsh-plugin.org daily; the DSH core itself can be obtained via npx or a source build.

Sources