Desktop packaging vs running the CLI yourself
DeepSeek Harness Desktop does not replace DeepSeek Harness. It packages the official @deepseek-ai/dsh CLI and web UI into a supervised native app.
| Capability | DeepSeek Harness Desktop | Official Harness CLI / web (DIY) |
|---|---|---|
| Install | Windows installer or macOS DMG; launch from Start menu / Launchpad. | Install Node.js, then npm install -g @deepseek-ai/dsh; manage PATH and upgrades yourself. |
| Node.js runtime | Pinned Node.js runtime bundled inside the app, isolated from system Node. | Uses your system Node.js version. |
| Starting the app | One click. The Rust sidecar boots Harness, waits for readiness and opens the window. | Run dsh web in a terminal and keep the process alive. |
| Process lifecycle | Supervised: crash detection, bounded restarts, heartbeat, clean shutdown of the whole process tree. | Manual. A crashed process stays down until you restart it. |
| Desktop integration | Tauri 2 windows, system tray, single-instance lock, window-state memory, macOS close-to-tray. | Browser tab or whatever wrapper you set up yourself. |
| Harness UI | Official, unmodified Harness web UI. | Official Harness web UI. |
| IPC / webview boundary | Empty capability set for the Harness window: no window.__TAURI__, no IPC bridge. | N/A (plain browser or your own wrapper). |
| Data directory | Isolated DSH_HOME, separate from the CLI's ~/.dsh. | Default ~/.dsh. |
| Privacy defaults | Session telemetry disabled by default; child-process environment sanitized. | Upstream defaults; configure environment yourself. |
| Updates | Manual download from GitHub Releases today; signed auto-update planned. | npm update (plus any native dependency rebuilds). |
The bottom line
Choose the desktop packaging if you want a one-click, supervised, native app with sane privacy defaults. Choose the CLI if you prefer full control over versions, environment variables and the running process.