How to install DeepSeek Harness: 4 methods compared
DeepSeek Harness has four install paths: npx, global npm, desktop, and source. All run, but prerequisites, maintenance, and audience differ; choosing wrong makes updates and uninstalls awkward.
Four paths compared
Start with the table, then read each path.
| Method | Prerequisite | Best for | Updates |
|---|---|---|---|
| npx | Node.js | Trying it out | Latest each run |
| Global npm | Node.js and PATH | Daily terminal use | npm update |
| Desktop | Platform installer | GUI and system integration | In-app |
| Source | Git and build tools | Development and customization | git pull plus build |
You do not need all four, and data location is decoupled from install method. Pick one primary path; multiple installs cause version and data confusion. Sessions, plugins, and configuration live under DSH_HOME, so switching paths does not migrate data, but it does not lose it either.
npx: try it out
npx is the lowest-barrier entry.
- Confirm Node.js: node -v.
- Run npx @deepseek-ai/dsh web.
- Open the local address printed in the terminal.
- Complete model and profile initialization on first entry.
- Close when done; no global command remains.
npx fetches the latest each time and still writes data. It avoids update management but starts slower and changes versions; switch to global npm when you need stability. Sessions and configuration still land under DSH_HOME, so "temporary run leaves no trace" is false.
Global npm: long-term use
For daily terminal use, a global install is simplest.
- Confirm the npm global directory and PATH.
- Run npm install -g @deepseek-ai/dsh.
- Confirm the command with dsh --version.
- Start with dsh web and open the browser.
- Update with npm; do not reinstall.
PATH is the most common issue, and version management matters. If the command is missing, check whether the global bin is on PATH; npx running while dsh does not means a path problem. Record the version before upgrading so you can roll back.
Desktop: graphical interface
Desktop suits windows, tray, and system integration.
- Open Releases and choose the installer for your platform.
- Install, start, and complete initialization.
- Configure model and plugin market in settings.
- Update through in-app prompts; do not overwrite the install directory.
- Uninstall through the system, then clean data.
Sharing data between desktop and CLI needs care, and Linux has no official desktop build. Two versions writing one DSH_HOME risk locks and version conflicts; do not run both at once. On Linux, use CLI plus browser instead of third-party packages.
Source: development and customization
Use source when changing code, inspecting implementation, or submitting patches.
- Clone the repository and check out the target branch.
- Install dependencies and build per the repository instructions.
- Start the build output and confirm the commit matches.
- Rebuild after changes and clear cache when needed.
- Update with git pull and rebuild.
The cost is the build, and source and global installs should not mix commands. Dependencies, Node versions, and build scripts can fail; if you only need features, avoid this path. Two dsh binaries may point to different locations; use which dsh to confirm.
Choosing by scenario
Choose by duration, customization, and GUI needs.
| Situation | Method | Reason |
|---|---|---|
| First trial | npx | No global pollution |
| Daily terminal use | Global npm | Fast startup, simple updates |
| Want windows and tray | Desktop | GUI and system integration |
| Need to change code | Source | Debug and customize |
| CI or temporary tasks | npx | No preinstall |
Pick one primary path, then supplement as needed; do not install all four to "try them." Mixing versions and data costs more than the choice saves.
Verification after install
All paths share three verification signals.
- Command: dsh --version prints a version.
- Service: dsh web starts and prints an access address.
- Function: the browser opens the UI and completes a minimal conversation.
Record the install method and version. All three must pass; passing only the command may hide a service failure, and passing only the service may hide an unconfigured model.
Updates and uninstalls
Each path maintains itself differently.
- npx: no update needed; clear cache if necessary.
- Global npm: update and uninstall with npm; watch PATH residue.
- Desktop: in-app update, system uninstall, then clean data.
- Source: git pull and rebuild; clear artifacts when switching branches.
Uninstalling is not deleting data, so snapshot before updates. Sessions, plugins, and configuration live under DSH_HOME and need separate cleanup. Keep a version list and a data copy for rollback.
Next steps
Choose a path, then verify three layers. For detailed comparison, read DeepSeek Harness install methods compared. For downloads, read Where to download DeepSeek Harness. For Linux, read Running DeepSeek Harness desktop on Linux.
Sources: DeepSeek Harness docs, dsh CLI README, DeepSeek Harness Releases
FAQ
Use npx to try DeepSeek Harness without polluting the global environment; choose the desktop app for a window, system integration, and automatic updates. They can coexist but should not run on the same data at once.
A global npm install whose command is not found usually has the npm global bin directory off PATH. Find the global install path, add it to PATH, and reopen the terminal.
A source build suits development and debugging where you change code or inspect implementation. Global npm suits daily use in DeepSeek Harness with simpler upgrades.
The four install paths update and uninstall differently. Npx fetches latest each run, global npm uses npm, desktop uses in-app updates, and source uses git pull plus a rebuild.
Related Terms
- npx
- npx is npm's temporary execution tool that downloads and runs a package without a persistent global install.— dsh CLI README
- global install
- A global install places a package in a system-level directory and registers a command, suited to long-term use with PATH and version maintenance.— dsh CLI README
- desktop app
- The desktop app is a graphical build distributed as an installer with windows, tray, and system integration; updates are managed by the app.— DeepSeek Harness Releases
- source build
- A source build clones the repository, installs dependencies, and builds locally, suited to development, debugging, and customization.— deepseek-harness repository
Sources
- DeepSeek Harness docs· deepseek-harness
- dsh CLI README· deepseek-ai
- DeepSeek Harness Releases· deepseek-ai