Releases: huyang218/dsh-desktop
Release list
v0.1.4
Full Changelog: v0.1.3...v0.1.4
v0.1.3
v0.1.2
v0.1.1
v0.1.0: dsh Desktop 0.1.0
First public release. A desktop app for DeepSeek Harness (dsh) that installs and updates the runtime, owns the server process and its storage, and puts the web UI in a window.
Unofficial project — not affiliated with or endorsed by DeepSeek.
Downloads
| Platform | File | Notes |
|---|---|---|
| macOS (Apple Silicon) | DeepSeek Harness-0.1.0-arm64.dmg |
Ad-hoc signed, not notarized — first launch needs approval under System Settings → Privacy & Security |
| Windows 10 (1803+) / 11 | DeepSeek Harness Setup 0.1.0.exe |
Per-user install, no admin rights; unsigned, so SmartScreen warns on first run |
Both carry their own Node runtime and a snapshot of dsh, so the target machine needs nothing preinstalled and the first launch works offline.
What it does
- Dual-slot updates. "Check for Updates" queries the registry first and reports what it finds, rather than downloading before it can tell you whether you need it. On agreement it installs that exact version into the idle slot, boots a probe server against it, and moves the pointer only after that self-test passes — a failed upgrade leaves the working version untouched. Progress shows in the tray.
- Process ownership. The server runs in its own process group (POSIX) or process tree (Windows) and is terminated as a whole when the app quits — no orphaned
dsh, shell or PTY processes. - Supervision. An unplanned exit — including an OOM abort, which arrives as a signal rather than an exit code — restarts automatically with 1s/3s/8s backoff. Three consecutive failures raise a dialog instead of spinning; a server that stays up a minute earns a fresh budget.
- Recoverable start. A server that misses the readiness deadline offers a retry rather than killing the app, because on a busy disk it is usually just slow.
- App-owned storage.
DSH_HOMElives inside the app's data directory. Both the data and log directories can be relocated from Settings. - Plugin manager. Install, remove and configure
dshplugins from a window; plugins exporting a config schema get a generated form. - Chinese and English, switchable from Settings → Language, applied without a restart.
Platform status
Both platforms are verified end to end, including the property that only real hardware could settle: quitting leaves no orphaned processes. Killing a POSIX process group and running taskkill /T are different mechanisms, and getting it wrong produces an app that appears to exit cleanly while leaving dsh running.
Linux is untried.
Known limitations
dshis at release-candidate stage; this app depends on a deliberately minimal contract (dsh web --port N, HTTP 200 at the root means ready).- The local port is reachable by any process on the machine —
dshhas no auth token yet, and a random port narrows that window without closing it. - Neither build is signed by a recognised authority: macOS is ad-hoc signed and not notarized, Windows is unsigned.
- Conversations require
DEEPSEEK_API_KEY. - Plugin management needs
pnpmon the machine (npm i -g pnpm);dshmanages profile plugins through it.
Building from source
Packaging snapshots the packaging machine, so each platform's package must be built on that platform. See the README.