DeepSeek Harness Bluebook
Getting Started

Installation

Start with terminal-free DSH Desktop, or install Node.js on Windows / macOS / Linux and launch official DeepSeek Harness step by step

This page assumes you are starting from zero. Choose the desktop app first if you do not want to install Node.js or type terminal commands; use the official path below for automation, headless work, or direct CLI control.

DSH Desktop is the simplest route for people who want to open a desktop app and get started: it includes the Node.js runtime, so you do not first need Node.js, pnpm, or a terminal window that stays open. Download the installer for your platform, then configure a model through the in-app flow.

Which route should I choose?

Choose Desktop first for a graphical desktop experience, no terminal, or app-managed Harness processes.
Continue with official CLI / Web UI for scripts, CI, SSH/headless work, the latest upstream builds, or complete control over Node.js and profiles.

DSH Desktop is an independent community project, not a DeepSeek product. Read the release notes and verify the relevant checksum before installing; its pinned Harness version and compatibility are defined by its own releases.

Official CLI / Web UI path

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":

  • npm is Node.js's package manager (think "app store");
  • npx @deepseek-ai/dsh web means: fetch the @deepseek-ai/dsh package from the npm registry and run its web entry;
  • You do not need to npm install dsh manually first — npx handles the download and caching for you;
  • On the first run it also initializes the web profile 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

  1. Open nodejs.org and download the LTS .msi installer;
  2. Double-click it and accept the defaults;
  3. Reopen the terminal (PowerShell or CMD) after installing.

Option B: winget

winget install OpenJS.NodeJS.LTS

Verify: after reopening the terminal, run

node --version

Output like v24.x.x or v22.19.x or newer means success.

Step 2: Launch the Web UI

npx @deepseek-ai/dsh web

The default address is http://127.0.0.1:3080. In the current release, a local dsh web launch normally opens the default browser; an SSH or editor-forwarded launch prints the host URL instead. Add --no-open to prevent the browser opening. 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 web

Launch arguments

The dsh launcher parses only its own flags and hands the rest to the booted app:

CommandPurpose
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 webAlias of --profile web
dsh plugin --profile <name> <pnpm args>Forward plugin management to pnpm in the profile directory
dsh --dump-default-config / --dump-configPrint 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

On this page