Tools & Capabilities

deepseek-harness-desktop-windows

easyhoov/deepseek-harness-desktop-windows · ★ 3

easyhoov

Unofficial Windows desktop package for DeepSeek Harness that requires no Node.js or command line and preserves the official Web UI and plugin ecosystem.

License
NOASSERTION
Added
2026-08-23
Maintenance
active
Install kind
github

No manifest check is available; listing does not imply compatibility or security review.

安装

dsh plugin --profile web add github:easyhoov/deepseek-harness-desktop-windows

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: en · Read Chinese README

Table of contents
  1. Why another desktop wrapper?
  2. Features
  3. Plugin ecosystem
  4. Download
  5. Quick start
  6. Build from source
  7. More

GitHub stars GitHub release License: MIT Platform Topics

DeepSeek Harness for the Windows desktop: no Node.js install, no commands — double-click to run, with the official DSH web UI and plugin ecosystem fully preserved.

⚠️ Unofficial. This project is not affiliated with, endorsed by, or published by DeepSeek. It packages the open-source @deepseek-ai/dsh distribution as-is. The whale mark is the official DeepSeek Harness favicon used for visual consistency only, and remains a DeepSeek trademark.

中文 · English


Why another desktop wrapper?

Most community wrappers spawn the dsh web CLI and point a browser window at 127.0.0.1:3080. This one is different: the whole shipped composition runs inside the Electron main process (in-process integration), the frontend loads locally, and every /api request plus event downlink crosses an IPC bridge — zero ports, zero child processes, no local HTTP server. Sessions, goals, background jobs, and plugins are first-class local state: closing the window (to the tray) keeps them running.

DeepSeek Harness Desktop

Features

🧬 In-process host Boots the official web profile with dsh-app-boot inside Electron's main process; no child process, no port, no HTTP server
🔌 IPC transport fetch / WebSocket shims in preload carry all RPC over Electron IPC; official client plugins run unmodified
🪟 Frameless glass chrome Custom 36px glass title bar (whale icon, version badge, ⋯ menu, min/max/close), Win11 rounded corners, startup splash — themed by the DSH UI's own CSS variables
🛍️ Plugin store The community store (ZASENJC) is built in: /store or Settings → Plugins → Plugin Store to browse, search, install and uninstall with one click; installs run the official dsh plugin add (npm / GitHub / monorepo subdirectories / tarballs) with the bundled pnpm — no console window, live progress, restart to apply
💰 Session balance Live balance and per-turn cost under the composer, click to top up
📝 File changes + one-click restore The "文件" button in the session header lists every write/edit the agent made (with +/− line stats) and restores them one-by-one or all at once — guarded by a hard fence (session-cwd/workspace roots only, dangerous extensions refused, snippet verification)
🗂️ Sidebar workbench Built-in better-sidebar: file explorer / editor & preview / real terminal / Git panel / sandboxed browser / subagent topology, isolated per session; title-bar compat mode is on by default — the sidebar buttons and tab bar are pushed down clear of the top chrome (strip height tunable in Settings → Side card)
⬆️ Dual-channel updates Channel 1: electron-updater self-updates from GitHub Releases (live download progress + visible installer); Channel 2: ⋯ menu "更新 dsh" installs a newer official @deepseek-ai/dsh and boots from it, with one-click rollback to the bundled copy
🪟 Tray residency Closing the window keeps sessions running; tray menu shows/hides, checks updates, quits
🔔 Native notifications Driven by the host's own event streams: approvals, questions, agent errors, dynamic-plugin run requests; reply-completion only while the window is in the background
🏠 First-run home wizard Pick a private data directory or reuse ~/.dsh; a live dsh web instance on the shared home triggers a conflict warning
🛡️ Crash recovery Renderer crash rebuilds the window and reloads the site; the host state survives (3 strikes per minute → give up)
📦 Session export In-process with taskbar progress, native save dialog, completion notification
🐋 Official whale icon The DeepSeek Harness favicon (black whale) rasterized to PNG, shipped with the app
🧰 Log repair tool scripts/repair-log.mjs fixes the upstream interruption-flush seq-reorder corruption

Plugin ecosystem

DeepSeek Harness is built on Cordis with an "everything is a plugin" architecture: model adapters, tools, sessions, and the agent loop all run as plugins; external plugins plug in through profiles and bundles.

This app's own desktop features are standard DSH plugins (bundles + declarative patches), composed with the profile and recognized by dsh web too. CLI installs (shared profile):

dsh plugin --profile web add <package>
dsh plugin --profile web add github:<repo>

Download

Artifact Notes
DeepSeek-Harness-Desktop-Setup-<version>.exe NSIS installer (choose install dir); used by the auto-updater
DeepSeek-Harness-Desktop-Portable-<version>.exe Portable
latest.yml Auto-update metadata, published beside the installers on every Release

Get the latest builds from GitHub Releases (Windows 10/11, x64; built by GitHub Actions on every v* tag). Not code-signed — SmartScreen will ask; signing is wired via CSC_LINK / CSC_KEY_PASSWORD.

Quick start

  1. Launch the app; on first run pick a data directory (private by default, or share ~/.dsh)
  2. Open Settings → Models and enter a DeepSeek API key (or a custom OpenAI-compatible endpoint); applies live, no restart
  3. Pick a workspace directory (native OS dialog) and start a session

This mirrors the official Quickstart — the desktop app boots the same web profile composition the CLI does, so models, workspaces, approvals, and plugin development behave identically.

One deliberate deviation: the CLI uses the invoking directory as the default workspace; the desktop app boots from the user home (override with DSH_DESKTOP_CWD), with workspace selection in the UI.

Build from source

Requires Node.js ≥ 20:

npm ci
npm start       # run in development
npm run dist    # build installers (output in release/)

More