Installation
Beginner-friendly: what npx is, installing Node.js on Windows / macOS / Linux, and launching DeepSeek Harness step by step
This page assumes you are starting from zero. If you already know Node.js, jump straight to launching the Web UI.
Before you install: two concepts
What is Node.js?
Node.js is a runtime that runs JavaScript programs on your machine. DeepSeek Harness is a Node.js program, so Node.js must be installed first. Like a browser, it is an ordinary piece of software you install yourself.
What is npx?
npx is a command that ships with Node.js. It means "temporarily download an npm package and run it, leaving nothing installed behind":
npmis Node.js's package manager (think "app store");npx @deepseek-ai/dsh webmeans: fetch the@deepseek-ai/dshpackage from the npm registry and run itswebentry;- You do not need to
npm installdsh manually first — npx handles the download and caching for you; - On the first run it also initializes the
webprofile and downloads a batch of dependencies, so the first start is noticeably slow (network required); afterwards npx reuses its cache and starts much faster.
Command not found?
If the terminal says 'npx' is not recognized (Windows) or command not found (macOS/Linux), Node.js is not installed yet, or the terminal was not reopened after installing. Complete the steps below first.
Step 1: Install Node.js
The required version is ^22.19 or >=24. Pick your system:
Option A (recommended): the official installer
- Open nodejs.org and download the LTS
.msiinstaller; - Double-click it and accept the defaults;
- Reopen the terminal (PowerShell or CMD) after installing.
Option B: winget
winget install OpenJS.NodeJS.LTSVerify: after reopening the terminal, run
node --versionOutput like v24.x.x or v22.19.x or newer means success.
Step 2: Launch the Web UI
npx @deepseek-ai/dsh webThe default address is http://127.0.0.1:3080. Once started, the command prints the URL it is serving. Seeing web profile initialization and dependency download logs on the first run is normal.
Keep that terminal window open (closing it stops the server), then open the address in your browser.
Headless one-shot tasks
When you don't need a browser, run a one-shot task in headless mode:
dsh --profile headless "Summarize this repository and identify its main packages"Headless mode requires a configured model API key (DEEPSEEK_API_KEY, optionally DEEPSEEK_BASE_URL).
(Advanced) Run from source
For following the latest development or contributing:
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh webLaunch arguments
The dsh launcher parses only its own flags and hands the rest to the booted app:
| Command | Purpose |
|---|---|
dsh --profile <name> | Boot the named profile under $DSH_HOME/profiles/<name> |
dsh --profile headless "job" | Run one fresh persisted session, print the final answer, and exit |
dsh web | Alias of --profile web |
dsh plugin --profile <name> <pnpm args> | Forward plugin management to pnpm in the profile directory |
dsh --dump-default-config / --dump-config | Print the default / composed config tree without booting |
For example, in dsh --profile web --port 8080 the --port belongs to the web app; dsh --help prints the launcher's own help.
Verify the install source
The name "deepseek-harness" was used by third-party projects before the official release. Confirm you install/clone from the official deepseek-ai organization and the @deepseek-ai npm scope, to avoid same-name confusion. For supply-chain and license boundaries, see security & compliance.
Next steps
- After the Web UI is up, walk through the Web GUI quickstart.
- To connect a model, see configure models.
- For more profile tricks, see CLI & profiles.