HaddenHunter/deepseek-harness-desktop
A cross-platform desktop GUI for DeepSeek Harness that is not a re-implementation: it spawns the upstream Cordis plugin graph (agent-spine → jsonl-persistence → sdk-jsonrpc-server) as a Node.js sidecar and drives it with newline-delimited JSON-RPC over stdio, giving one-click session creation, a visual tool-approval modal (shell exec, write, read, search, browser and custom plugin actions surface one at a time with Allow / Allow once / Deny and regex auto-allow lists), a trajectory timeline that replays the full SessionEvent sequence with diffs and per-event metadata, multi-provider/multi-model configuration with per-session model, temperature, top_p and max-tokens switches, four runtime modes (standard / ptc / minimal / creative) mapped to Harness RuntimeMode, keychain-stored secrets, and append-only JSONL session files loadable by any Harness CLI tool.
Install
Download DSH-Desktop_<version>_universal.dmg from github.com/HaddenHunter/deepseek-harness-desktop/releasesREADME quick start: install a prebuilt release from the Releases page — macOS (Apple Silicon / Intel) DSH-Desktop_<version>_universal.dmg, Windows 10/11 x64 DSH-Desktop_<version>_x64-setup.exe (NSIS) or .msi, Linux .deb or *.AppImage. Node.js ≥ 22 must be on PATH on all platforms (brew install node@22 / official installer with Add to PATH / apt install nodejs npm). Then open DSH Desktop, go to Settings → API Keys and paste your DEEPSEEK_API_KEY (or export it before launching — the sidecar inherits the same env var). Source build: npm install, MOCK_RUNTIME=1 npm run tauri:dev for a UI-only smoke, npm run tauri:dev for the full stack, npm run tauri:build for installer bundles (Tauri 2.x prerequisites: Rust stable, Xcode CLT / MSVC Build Tools + WebView2 / libwebkit2gtk-4.1-dev etc.).
Compatibility
macOS (Apple Silicon / Intel), Windows 10/11 x64 and Linux (deb / AppImage). Node.js ≥ 22 must be in PATH at runtime on every platform. Built on the official Harness SDK over a JSON-RPC 2.0 sidecar in a Tauri 2.x shell; README stresses the strict Tauri security model — the WebView sees only pure JS APIs, while sidecar spawn, keychain, filesystem, notifications, tray, menu and dialogs are owned by the Rust shell.
Details
- Repo: HaddenHunter/deepseek-harness-desktop
- Category: Infrastructure & Deployment
- Stars: 2
- Version: Desktop release installers (README documents DSH-Desktop_<version>_universal.dmg, _x64-setup.exe/.msi and .deb/.AppImage assets; no npm plugin release claimed)
- Last push: 2026-08-14
- First seen: 2026-08-13
Recent updates
README documents the JSON-RPC method surface between app and sidecar (session.status running/idle/error, subagent.started / .finished lifecycle, etc.), the ~15 MB native binary plus bundled CJS sidecar, and a first-run end-to-end smoke flow (new session in standard mode → list src/runtime with file sizes → approve once → confirm tool_call → tool_result → assistant_message and session status idle).
FAQ
- How do I install DSH Desktop (HaddenHunter)?
- Download the release asset for your platform (DSH-Desktop_<version>_universal.dmg, _x64-setup.exe/.msi, or .deb/.AppImage), make sure Node.js ≥ 22 is on PATH, launch the app and paste your DEEPSEEK_API_KEY under Settings → API Keys.
- Is it a re-implementation of DeepSeek Harness?
- No — the README states it spawns the upstream Cordis plugin graph as a Node.js sidecar over JSON-RPC, i.e. the exact same plugin pipeline and agent runtime as DeepSeek Harness v0.1.
- Where are API keys and sessions stored?
- API keys go to the OS keyring (macOS Keychain / Windows CredMan / Linux Secret Service), never to disk; each session is an append-only JSONL file under the workspace's sessions/ directory, loadable by any Harness CLI tool.