functy23/DSH-Desktop

Native Tauri v2 desktop shell for the DeepSeek Harness web GUI · D based on Tauri v2

A Tauri v2 desktop shell for DeepSeek Harness that opens a native window running the full dsh web GUI with no product UI forked or reimplemented. It spawns a crash-safe supervisor that runs the dsh web backend on a free loopback port, waits until the backend accepts connections, then opens one decorated 1200×800 WebView at http://127.0.0.1:<port>/; on exit it terminates the whole backend process tree (graceful SIGTERM → SIGKILL), and if the app crashes or is force-killed the supervisor's watchdog reaps the backend automatically. It pins DSH_HOME to ~/.dsh (scrubbing ambient DSH_* variables), so sessions, settings and credentials are shared with the CLI dsh.

Infrastructure & Deployment ★ 2 updated 2026-08-14 ✅ runtime-tested
View on GitHub ↗

Install

cargo tauri dev

README run (dev): a Tauri v2 shell built from source — cargo tauri dev. The default backend command runs the repository-local dsh from source, overridable with DSH_WEB_CMD (space-separated; the literal {port} is substituted), e.g. DSH_WEB_CMD="dsh web --host 127.0.0.1 --port {port}" cargo tauri dev. Requirements: Rust stable, Node ^22.19 || >=24 and pnpm, plus Xcode command-line tools on macOS (Linux support is theoretical and needs Tauri's system prerequisites such as webkit2gtk-4.1). The README notes the author has no x86_64 machine, so x86_64 builds must be produced by building the app yourself.

Compatibility

macOS verified; Linux described as theoretical support (not yet fully tested) and requiring Tauri's system prerequisites. Requires Rust stable plus Node ^22.19 || >=24 and pnpm. The README states it consumes @deepseek-ai/dsh as a dependency and never edits harness source — syncing upstream means bumping the harness version and rebuilding the bundled backend.

Details

Recent updates

README backend-packaging note: scripts/prepare-backend.mjs stages a self-contained backend (backend/bin/node per-platform runtime, backend/bin/supervisor, and a pruned @deepseek-ai/dsh production closure), bundled through tauri.conf.json's bundle.resources, and the app spawns it as <resource>/backend/bin/node …/lib/bin.js web. The earlier @yao-pkg/pkg --sea single-file attempt cannot boot the web profile because pkg keeps node_modules in a virtual snapshot, so profile-based plugin resolution fails with ERR_MODULE_NOT_FOUND.

FAQ

How do I install DSH Desktop (functy23)?
It is a source build: install Rust stable, Node ^22.19 || >=24 and pnpm, then run cargo tauri dev (override the backend with DSH_WEB_CMD, e.g. DSH_WEB_CMD="dsh web --host 127.0.0.1 --port {port}"). The README provides no prebuilt installers.
Does it fork the DeepSeek Harness UI?
No — it opens a native WebView running the full dsh web GUI; nothing in the product UI is forked or reimplemented.
Are x86_64 builds available?
No — the README states the author has no x86_64 machine, so x86_64 builds must be produced by building the app yourself.

More plugins in Infrastructure & Deployment

Browse more in Infrastructure & Deployment

Guides for Infrastructure & Deployment plugins