KhanZou/Deepseek-Harness-as-Desktop

Turns DeepSeek Harness into a Codex-style Windows desktop app: a native WebView2 shell (DshDesktop.exe, C# WinForms) that embeds the DSH Web UI in its own window, detects the backend and starts it if needed, keeps running in the system tray when closed or minimized (with an Exit action that stops the backend only if this exe started it), optionally registers for launch at logon, and delivers real Windows Action Center toasts for task completion — including a bounded answer preview, a quick-reply input that sends text back to the same session through the official DSH session.prompt channel, and sandbox permission escalations answered with Allow once / Reject through the official respond channel. Six plugins add the desktop experience: a Desktop and a Skin Center settings section, a unified desktop framework for declarative Settings tabs/items and right/bottom panel tabs with persistence and cross-plugin sync, a Files/Changes panel with a file tree, previews and git stage/unstage/discard, a mini terminal in the bottom panel, a Git graph tab, multi-type viewers (Markdown, code, images, video, PDF, web pages and WebGL STL/OBJ models) and a per-turn live token statistics line.

Infrastructure & Deployment ★ 4 updated 2026-09-16 ✅ runtime-tested
View on GitHub ↗

Install

Download the release build from github.com/KhanZou/Deepseek-Harness-as-Desktop and run dsh-desktop-window/shell/DshDesktop.exe

README quick start (Windows): prepare a harness checkout once (git clone https://github.com/deepseek-ai/deepseek-harness.git "D:\deepseek harness", then corepack pnpm install and corepack pnpm run build); copy the dsh-desktop-window folder anywhere (e.g. D:\dsh-desktop-window) and double-click dsh-desktop-window\shell\DshDesktop.exe, or build the shell from Program.cs. Then install the six plugins into the web profile from the harness checkout — each is a folder under the repository root — with corepack pnpm dsh plugin --profile web add <folder> for dsh-desktop-window, dsh-desktop-settings, dsh-desktop-framework, dsh-skin-gallery, dsh-git-graph and dsh-live-stats — and restart the desktop app. The README notes every path is relocatable; only the harness checkout is machine-specific and defaults to D:\deepseek harness, changeable through serverWorkDir in config.json or --workdir per launch. The host plugin (dsh-desktop-window) is optional but recommended (turn/end toasts and fresh skins.json).

Compatibility

Windows 10/11 x64 with the Microsoft Edge WebView2 Runtime (preinstalled on most systems), Node.js 22.19+ or 24+ with corepack-enabled pnpm, and a DeepSeek Harness checkout. The shell defaults to starting corepack pnpm dsh web in the background when the backend is not already listening on 127.0.0.1:3080.

Details

Recent updates

The README documents how the pieces fit and where paths come from: the desktop app and plugins derive config, data and script paths from their own location, the only machine-specific path is the harness checkout (serverWorkDir / --workdir), and plugins are installed with corepack pnpm dsh plugin --profile web add. It also documents a backend HTTP surface including GET /api/skins, the panel/settings frameworks in docs/, and third-party skins such as Abyssal Maid Atelier by Small-tailqwq.

FAQ

How do I install DeepSeek Harness as Desktop?
On Windows: prepare a harness checkout (corepack pnpm install, corepack pnpm run build), copy the dsh-desktop-window folder and run shell\DshDesktop.exe, then install the six plugin folders into the web profile with corepack pnpm dsh plugin --profile web add <folder> and restart.
Does closing the window stop the harness?
By default closing or minimizing hides to the system tray and keeps running. The tray Exit action stops the backend only if this exe started it; close-button behaviour is configurable in Settings → Desktop.
Can I reply to the agent from a Windows toast?
Yes — task-completion toasts show a bounded answer preview with a quick-reply input that sends text back to the same session through the official DSH session.prompt channel, and permission escalations surface Allow once / Reject buttons answered through the respond channel.

More plugins in Infrastructure & Deployment

Browse more in Infrastructure & Deployment

Guides for Infrastructure & Deployment plugins