v0.1.9 · Built on DeepSeek Harness 0.1.1-rc.2 · Community distribution

DSH Desktop Bundle EditionOfficial DSH Web, community plugins
and desktop capabilities in one ready-to-use app

DSH Desktop runs the official DSH npm runtime and official Web directly, with a curated set of pinned and verified community bundles preinstalled. Chat, files, Git, terminal, tasks, Worktree and the plugin market all live in one DSH profile — no environment setup, no plugin hunting, no second plugin state to maintain.

  • SIGNEDDeveloper ID signing + Apple notarization
  • OFFLINE-INITNew profiles initialize fully offline
  • SINGLE-PROFILEOne official profile as the source of truth
  • RECOVERABLERecovery page on failure — config never destroyed

macOS Apple Silicon (Developer ID signed + Apple notarized)  ·  Windows x64 installer ·  Linux from source

Ready on first launch

One app for the full agent workflow

The main window is the official DSH Web; every other capability ships as a plugin bundle — combine as needed, disable anytime.

Official chat & agents

Sessions, agents, tools, skills, MCP, settings and history are managed by DSH itself — no second chat page, no private frontend fork.

Better Sidebar workspace

File tree, code and Markdown editing, Git, terminal, web and extension tabs. Multi-repo, Worktree and Vue file support; terminal tools stay off for the model by default.

Plugin market

Discover, install, update, disable and uninstall plugins right in the official settings page. UI, CLI and app restarts all share one profile — state never diverges.

Tasks, attachments & Worktree

Task board, file and folder attachments, Git Worktrees, project tools, Office and structured results — each an independent bundle you can combine freely.

Desktop host & recovery

The app owns windows, native file dialogs, updates and recovery. New versions always ask first; a broken profile opens the recovery page with retry and safe-mode options.

Reproducible defaults

New profiles initialize offline from pinned artifacts shipped with the installer, with integrity checks; normal startup never rewrites an existing profile or reinstalls what you removed.

Plugin ecosystem

Why "Bundle Edition": 14 default bundles, all pinned and verifiable

Every bundle is locked to an exact version with recorded SHA-256, permissions and license; apart from two base desktop services, all of them can be disabled or uninstalled, and updates never reinstall what you removed.

Desktop capabilities 10 bundles maintained by this project

  • dsh-work-product-host-ipcDesktop IPC, Browser Workspace, file dialog and window host
  • dsh-desktop-profile-hostProfile filesystem, controlled pnpm and DSH CLI runtime
  • dsh-desktop-chromemacOS title-bar safe area and desktop chrome
  • dsh-project-toolsProject workspace tools
  • dsh-canvas-toolsSession-scoped versioned Canvas and local site tools
  • dsh-structured-ui-toolsStructured result rendering
  • dsh-model-inheritanceParent/child agent model inheritance (portable)
  • dsh-product-bridgeApp instruction context for the current profile
  • dsh-office-toolsOffice artifacts (docx / xlsx / pptx / pdf)
  • dsh-client-ui-worktreeGit Worktree workspaces (portable)

Community picks pinned third-party bundles

  • dsh-better-sidebar v0.16.0 Workspace sidebar with file tree, editor, Git and terminal · upstream
  • dshmarket v1.17.1 Plugin market: install, update, backup and restore · upstream
  • dsh-client-ui-task-board v0.2.7 Task board and run records · upstream
  • dsh-multimedia-webui-input v0.1.0 File and folder attachment input · upstream

Marketplace visibility does not mean this project has reviewed or endorsed a plugin; check upstream docs before installing.

Ecosystem pick Skin Center upstream ↗

The app keeps the official Web look by default. When you want a change, install the community Skin Center @linxin666/dsh-client-ui-skin-center from the plugin market: dozens of skins with instant try-on and one-click revert to the official look. Skin assets carry their own upstream licenses, so it is not bundled by default — you opt in.

dsh plugin --profile web add @linxin666/dsh-client-ui-skin-center
You can also use the official CLI on the same profile
dsh plugin --profile web add -w <package>@<exact-version> --save-exact --ignore-scripts
dsh plugin --profile web remove <package>

Architecture

One official Web + one authoritative profile

Electron here is a deliberately thin desktop host. The real agent, session and plugin systems still belong to DSH.

Any private frontend?

The app loads the official Web and npm runtime directly — no private chat fork to maintain.

Can plugin state drift?

The official profile is the only authority; market, settings and CLI all write the same data.

Are default plugins trustworthy?

Pinned versions with integrity, permission, dependency and license records, plus offline install artifacts.

Too much native power?

Files, windows and Browser Workspace open only through narrow, session-scoped methods.

Does startup overwrite config?

Existing profiles keep your choices; failures preserve the original profile and open recovery.

Do updates touch plugins?

Updates preflight the profile read-only; bundles you disabled or uninstalled stay that way.

Security & privacy

A single-machine app — your data stays with you

Signed & notarized

macOS Developer ID signing with Apple notarization and Hardened Runtime; the Windows installer enforces signature checks.

Local data

Profiles, sessions and runtime data live in ~/.dsh by default. No external account model; secrets never enter logs or diagnostics.

Minimal attack surface

The official Web gets no product preload, Node access or generic IPC; files enter a session only by your choice or declared plugin permission.

Recoverable

A failing plugin never silently mutates your profile; the recovery page retries, safe-boots, removes the problem plugin and exports redacted diagnostics.

Quick start

Three steps from zero to your first session

  1. 1

    Download and install

    Get the installer and drag it to Applications. It ships the official runtime and offline setup artifacts — no Node.js required, first launch works without network setup.

  2. 2

    Configure a model API key

    Get an API key from the DeepSeek platform or another provider, then paste it in the in-app DSH settings. Credentials stay in ~/.dsh, managed by DSH — never uploaded or logged.

  3. 3

    Start working

    Pick a working directory and create a session; open files, Git or terminal in the sidebar; when you need more, visit Settings → Plugin Market.

Download

Choose your platform

Latest release v0.1.9 · Artifacts are published on GitHub Releases; in-app updates always ask first.

macOS Intel / Linux No formal installer yet

Run from source (Node.js 24+); macOS x64 and Linux supported.

Run from source →

GitHub slow in your region? The installers are large (official runtime and offline setup included) — copy the direct link and use a download manager or GitHub proxy; in-app updates use GitHub Releases too.

Run from source
git clone https://github.com/vibeinging/dsh-desktop.git
cd dsh-desktop && npm install
npm run doctor
npm run dev:electron

FAQ

Frequently asked questions

How do I get and configure a model API key?

Get an API key from the DeepSeek platform or another provider, then paste it in the in-app DSH settings. Credentials are managed by DSH locally in ~/.dsh — never uploaded, logged or written into plugin manifests.

macOS says the app "can't be verified"?

Release builds are Developer ID signed and Apple notarized, so this should not appear. If it does, right-click the app in Applications and choose Open, or allow it in System Settings → Privacy & Security.

Windows SmartScreen blocked the installer?

The installer is signature-checked. If SmartScreen still shows "Windows protected your PC", click "More info" → "Run anyway".

GitHub downloads are slow or unreachable

Installers are large (~300–400 MB with the official runtime and offline setup). Copy the direct link above and use a download manager or GitHub proxy; in-app updates use GitHub Releases too.

Where is my data stored?

Profiles, sessions and runtime data live in ~/.dsh by default (configurable via DSH_DATA_ROOT). DSH Desktop is a single-machine app with no external account model.

I already use npx dsh — will data conflict?

The default data directory matches the official CLI (~/.dsh). The app only reads existing profiles at startup and never rewrites config; offline initialization runs only for new profiles.

Does the app auto-update?

Release builds check the public GitHub Release: it asks first, downloads only after you confirm, and preflights the profile read-only before installing. Updates never restore bundles you disabled or removed.

How do I install more plugins?

Open Settings → Plugin Market in the app; the market shows source, version, compatibility and permissions. You can also use the official CLI (dsh plugin --profile web …) on the same profile.

Is Linux supported?

No formal installer yet — run from source (Node.js 24+). macOS Intel is also source-run.

What is the relationship with DeepSeek?

DSH Desktop is an independent community project built on DeepSeek Harness and the Cordis plugin system, with no affiliation, partnership, authorization or endorsement from DeepSeek.

Can I use my own plugins?

Plugins matching the official DSH Bundle and dshClient contracts work without rewriting. Plugins needing windows, native file dialogs or Browser Workspace must explicitly use the narrow host contract.

Ready to start?

Download the app, pick a working directory, and create your first session.