Back to home@mel0nyrame

deepseek-harness-desktop

Native Electron desktop app with a bundled DeepSeek Harness agent runtime

Stars
1
Language
TypeScript
Created
Aug 14, 2026
Updated
Aug 19, 2026

Introduction

DSH Desktop

English | 中文

DSH Desktop bundles the complete DeepSeek Harness runtime inside a native Electron application

deepseek-harness-desktop packages DeepSeek Harness as the native Electron application DSH Desktop. The desktop shell is the product-specific layer; the bundled dsh runtime keeps its plugin system, sessions, tools, PTYs, persistence, CLI identity, and documentation vocabulary.

Installed DSH Desktop window with native macOS chrome, a glass sidebar, an isolated workspace with preset sessions, and the assembled agent composer

Native window capture from the installed macOS bundle using an isolated temporary profile and preset sessions, framed against a neutral backing.

Native macOS experience

Compact native window illustrationCompact native frame
Content fills the window while controls share the traffic-light region, with native dragging and full-screen behavior.
Persistent glass sidebar illustrationGlass that remembers
Light, Dark, and System appearances follow macOS; the glass preference persists, with an opaque Reduce Transparency fallback.
Zero-width sidebar illustrationZero-width focus mode
Collapse the sidebar completely to reclaim the conversation width, then restore the last usable sidebar size.

Desktop shell, full harness

Bundled runtime illustration
Bundled runtime
The installed app starts its own application-scoped DSH child. A system Node.js or separately installed DSH CLI is not required.
Private carrier illustration
Private desktop carrier
The sandboxed renderer crosses a context-isolated preload bridge and validated IPC. The desktop profile opens no browser-facing HTTP listener.
Native workspace illustration
Native macOS shell
Electron main owns directory selection, path opening, compact window chrome and native dragging, recovery, and process-tree cleanup; the sidebar uses the saved glass preference.
Shared state illustration
Shared DSH state
DSH Desktop and the CLI use the same ~/.dsh home, so sessions, profiles, and configuration remain available to both.

How it works

The React client retains the transport-neutral Connection surface used by the Web product. Electron main owns the native window and supervises one dedicated DSH child; that child owns Cordis, sessions, plugins, model execution, PTYs, persistence, and subprocesses.

React renderer to preload bridge to Electron main to bundled DSH child architecture

The desktop application reference owns the complete carrier, lifecycle, packaging, native-action, recovery, and installed-app acceptance contracts.

Start from source

The project is in developer preview. From this repository checkout:

pnpm install
pnpm run build
pnpm run dev:desktop

Build macOS artifacts

pnpm --filter @deepseek-ai/dsh-desktop run package

The package command writes the host-architecture .app and .dmg under apps/desktop/dist/. Current local artifacts are ad-hoc signed and not notarized, so a downloaded build may require the one-time macOS right-click → Open flow.

Project boundaries

Status and distribution

  • The repository and application are under active development; compatibility-breaking changes remain possible.
  • The checked-in packaging path currently targets macOS and builds the host architecture.
  • Developer ID signing and notarization are not configured; read the desktop limitations before distributing artifacts.

Development

Core contributor workflows remain in CONTRIBUTING.md, the development guide, and AGENTS.md. Changes to the bundled harness continue to follow those upstream-derived contracts; desktop-specific implementation lives under apps/desktop and its supporting desktop plugins.

License

MIT

Third-party dependencies and their licenses are disclosed in THIRD_PARTY_NOTICES.md.