DeepSeek Harness Commands
Current DSH command reference for the Web UI, profiles, headless tasks, plugins and configuration inspection.
On this page
Quick reference
| Task | Command | When to use it |
|---|---|---|
| Start the Web UI | npx @deepseek-ai/dsh web | Recommended beginner command. `web` is an alias for the built-in web profile. |
| Start without opening a browser | npx @deepseek-ai/dsh web --no-open | Useful when you want to open the printed URL yourself. SSH launches already avoid opening a browser locally. |
| Use another Web UI port | npx @deepseek-ai/dsh web --port 8080 | The launcher starts the web profile, then passes --port to the Web app. |
| Run one headless task | npx @deepseek-ai/dsh --profile headless "run the tests" | Runs a fresh persisted session, prints the final answer and exits without starting a Web server. |
| Inspect the composed config | npx @deepseek-ai/dsh --profile web --dump-config | Prints the web profile after profile, home-level and command-line patch layers are composed. |
| Manage a profile plugin | npx @deepseek-ai/dsh plugin --profile <name> add <package> | Creates or extends an out-of-tree profile by forwarding package operations to pnpm. |
| Check Node.js | node --version | Confirms Node.js is available before running DSH. |
| Check npm | npm --version | Confirms npm/npx were installed with Node.js. |
| Run a source checkout | pnpm dsh web | Use after cloning the official repository, installing dependencies and running pnpm run build. |
First run: what to expect
npx @deepseek-ai/dsh webOn the first launch, npx may need to download the package before DSH starts. This can take longer than later launches. If the terminal has not printed an error, a short pause during installation is normal.
For a normal local launch, DSH starts the Web UI at http://127.0.0.1:3080 by default and opens the default browser. In an SSH launch, DSH prints the host URL instead because the SSH client or editor owns the local forwarded address.
Use the URL printed by DSH. Pass --no-open when you explicitly do not want a browser launch; SSH environments can still require port forwarding configured by your SSH client or editor.
Profiles and app arguments
Current DSH launches named profiles. The built-in web and headless profiles auto-initialize from shipped templates the first time they are used. Other profiles are created or extended through dsh plugin.
dsh web is shorthand for dsh --profile web. Launcher flags come first; once the launcher reaches an app argument, the active profile handles the remaining arguments. For example, --port 8080 belongs to the Web app.
npx @deepseek-ai/dsh --profile web --port 8080npx @deepseek-ai/dsh --profile headless "summarize this repository"npx @deepseek-ai/dsh --profile web --dump-default-config--dump-default-config shows the shipped bundle layers. --dump-config also includes profile, home-level and --patch overlays without booting the app.
Run from the official source repository
This is for contributors or developers who want to work on DeepSeek Harness itself. It is not required for normal use.
git clone https://github.com/deepseek-ai/deepseek-harness.gitcd deepseek-harnesspnpm installpnpm run buildpnpm dsh webpnpm run build prepares the repository artifacts. The later pnpm dsh web command uses those built artifacts without rebuilding them.
What to do after DSH starts
DeepSeek Harness README · DSH CLI README · CLI behavior reference. DSH remains in developer preview, so command behavior can change between release candidates.