How to update DSH: npx, git pull, and dsh plugin update

Update & UpgradePublished 2026-08-19Author: DSH-Plugin Hub
DSHDeepSeek HarnessDSH pluginupdateupgrade
npx fetches the latest DeepSeek Harness automatically, source builds use git pull, and DSH plugins upgrade via dsh plugin --profile web update.

Updating DSH is two separate things: the CLI itself (via npx or git pull) and its plugins (via dsh plugin --profile web update).

Know how you installed DSH

How you update depends on how you installed. DSH is in developer preview (currently 0.1.0-rc.6) and iterates fast, so releases land often (source). The two install methods update differently, and the plugin story is separate from the CLI story.

Method 1: npx one-liner for DSH

An npx install needs no manual update — rerunning fetches the latest. npx @deepseek-ai/dsh web pulls the newest version from npm every time you run it (source). So "updating" is simply running the npx command again at next launch. npx only pulls a temporary package — nothing is installed globally, so there's no "package upgrade" step: no need to uninstall the old version, and npm handles the leftover temp files. web is an alias for --profile web, so this command targets exactly the profile the Web UI runs.

Method 2: building DSH from source

For a source clone, pull the code, reinstall deps, and rebuild. Inside the deepseek-harness repo directory, run:

bash
git pull
pnpm install
pnpm run build
pnpm dsh web

The last line boots the same Web UI you get from npx, but from your local build. The official docs stress that production runs require built package and frontend artifacts first, so don't skip pnpm run build (source). The first build fetches dependencies over the network and is much slower than npx — that's normal; later incremental builds are much faster.

Updating DSH plugins

Upgrade plugins with dsh plugin --profile web update. The command forwards its arguments to pnpm inside the profile directory, updating all dependencies:

bash
dsh plugin --profile web update

To update a single plugin, add its package name:

bash
dsh plugin --profile web update <package-name>

To see why a plugin is installed and who depends on it, use dsh plugin --profile web why <package> (source). Since dsh web is an alias for --profile web, this is the same profile the Web UI loads its plugins from; if you also run the headless profile, update its plugins separately with dsh plugin --profile headless update.

Before and after updating DSH

Back up session data before updating, and re-check plugin compatibility after. Concretely:

  1. Session data lives under ~/.dsh/sessions; copy it before updating.
  2. DSH is a preview release with possible breaking changes — check a plugin's declared compatible version on its detail page before upgrading.
  3. After updating, run through your main flows; if a plugin stops loading, see DSH troubleshooting.

Source: official Quickstart, dsh CLI README, deepseek-ai/deepseek-harness

FAQ

How do I update DSH?

It depends on how you installed. npx: rerun npx @deepseek-ai/dsh web for the latest. Source build: run git pull && pnpm install && pnpm run build in the repo.

How do I update a DSH plugin?

Run dsh plugin --profile web update to upgrade all plugins in the profile, or add a package name to update just one. Arguments are forwarded to pnpm.

Will updating DSH break my plugins?

Possibly. DSH is a developer preview with breaking changes. Check each plugin's compatible version before upgrading, then run your main flows after.

Should I back up before updating DSH?

Yes. Session data lives in ~/.dsh/sessions — copy it before updating so you can restore if something breaks.

How do I know DSH is up to date?

With npx, every launch fetches the latest, so no extra check is needed. With a source build, git pull tells you. The current release is 0.1.0-rc.6.

Sources