Back to home

thuang3316

dsh-desktop

DeepSeek desktop for windows. Same UI, just a desktop version.

Stars
1
Language
JavaScript
Created
Aug 15, 2026
Updated
Aug 15, 2026

Introduction

DSH Desktop — Windows desktop shell for DeepSeek Harness

⚠️ Community project, not an official product. DSH Desktop is maintained by the community, is not affiliated with or endorsed by DeepSeek AI, and is not a DeepSeek official product. It is simply a Windows desktop shell around DeepSeek Harness (dsh, MIT-licensed).

An Electron window around the existing DeepSeek Harness Web GUI (dsh web), plus a system tray, single-instance lock, crash restart, and a self-contained runtime. Feature-identical to the Web UI, shares its data (common %USERPROFILE%\.dsh), and needs no Node.js installed on the target machine.

中文说明

Screenshots

Light theme, showing a mock conversation (no real data):

Chinese UI:

Chat (zh)

English UI:

Chat (en)

Features

  • Reuses the Web UI: the window loads http://127.0.0.1:3080 directly; no UI is rewritten.
  • Host lifecycle:
    • On start it probes the port: if a dsh is already running it attaches (never manages or kills it on exit);
    • otherwise it launches its own host from the bundled runtime, with crash restart (3-attempt backoff);
    • if the port is taken while forceOwnHost is on, it retries with --port 0 and follows the URL the host prints.
    • Readiness = the host's stdout dsh web: http://... line (the web app's official supervisor signal).
  • ✕ minimizes to tray: background tasks keep running; only the tray menu's "Quit" really exits.
  • Single-instance lock: a second launch focuses the existing window.
  • Self-contained: portable Node + the published @deepseek-ai/dsh npm package live in resources/host/runtime/.
  • Dev mode: set devMode.checkoutDir to a source checkout to run the host from its build output.

Download

Windows only for now — there are no macOS or Linux builds yet.

Download the latest Windows zip or browse all Releases.

Unzip and double-click DSH Desktop.exe.

Windows SmartScreen may warn about an "unknown publisher" (binaries are not signed yet) — choose "More info → Run anyway".

Configuration

Configuration keys and the host-source priority are documented in docs/configuration.md.

Development

Build, smoke-test, screenshot, and packaging instructions: docs/development.md.

License & attribution

  • Project code: MIT (see LICENSE).
  • App icon: the OpenMoji whale U+1F40B, CC BY-SA 4.0, © OpenMoji contributors; source at assets/icons-src/, derivatives stay under the same license.
  • Bundled DeepSeek Harness and Node.js runtime: see THIRD_PARTY_NOTICES.md.

Layout

src/main.js       main process: single instance, boot flow, smoke/screenshot hooks
src/config.js     config loading/validation
src/host.js       HostManager: probe/attach, spawn, readiness parse, crash restart, stop
src/window.js     main window: load retries, error page, navigation pinning, ✕→tray
src/tray.js       tray icon and menu
src/log.js        logging
assets/icons-src/ icon sources (OpenMoji whale SVG)
build/icon.png    application icon (OpenMoji derivative)
docs/             configuration & development docs, README screenshots
scripts/bundle-host.mjs  portable Node download + npm install of the dsh CLI
scripts/seed-mock.mjs    mock conversation seeding for README screenshots
resources/host/   bundled runtime (runtime/ is generated, git-ignored)