Skip to content
Projects

vibeinging/dsh-desktop has 490 GitHub stars and 22 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-10 04:39 UTC. Last push 2026-11-06.

How these counts are measured

DeepSeek Harness Desktop App: a local AI desktop workspace for DSH Sessions, projects, files, web research, plugins, and Office artifacts.

Measured star growth

in 24h
+1
in 7 days
Collecting history
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.en.md

Original

DSH Desktop

DSH Desktop Bundle Edition — official DSH Web, community plugins, and desktop capabilities in one ready-to-use app.
Conversations, files, Git, terminals, tasks, Worktrees, and the plugin market share one DSH Profile.

中文

Official website Latest release GitHub stars dshfind MIT License DSH 0.1.5-rc.1 Profile Bundles

DSH Desktop main interface

DSH Desktop (Bundle Edition) is a community-maintained desktop distribution. It runs the official DeepSeek Harness npm runtime and dsh-web-app directly, with a curated set of pinned community Bundles. There is no second Chat implementation or separate plugin database to maintain: the app starts from one official DSH Profile.

Website · Download the latest release · Mobile remote · Get started · Install plugins

Download

Platform Install Status
macOS Apple Silicon Download the .dmg and drag it to Applications Developer ID signed and Apple notarized
Windows x64 Download the .exe, then choose the install scope and app directory Use the artifacts published on the current Release page
Linux x64 AppImage Invite-only testing, tracked in Linux support issue #19
macOS Intel No formal installer yet Run from source

Direct download links and file sizes are listed on the website download page; first-run questions (Gatekeeper, SmartScreen, API keys, slow downloads) are covered in the website FAQ.

The app directory contains only the installed application. Profiles, plugins, Sessions, and other DSH data use a separate data directory; changing the app location does not move or delete that data.

Ready on first launch

Official conversations and Agents

The main window is official DSH Web. DSH owns Sessions, Agents, Tools, Skills, MCP, settings, and history; the app does not maintain a second Chat surface.

Better Sidebar workbench

Files, code and Markdown editing, Git, terminals, web pages, and extension tabs are built in. Version 0.18.0-alpha.0 targets the current alpha SDK while retaining multi-repository and Worktree support, Vue editing, and local Markdown images.

Plugin market

Discover, install, update, disable, and remove plugins from official settings. The UI, CLI, and app restart all use the same Profile state.

Tasks, attachments, and Worktrees

A task board, file and folder attachments, Git Worktrees, project tools, Office output, and structured results are independent Bundles that can be composed as needed.

Desktop Host and recovery

The app owns windows, native file selection, updates, startup, and recovery. Formal builds ask before downloading, check the Profile, and install; Profile or Client failures open recovery.

Reproducible defaults

New Profiles initialize offline from pinned packaged artifacts. Normal startup does not rewrite an existing Profile or silently restore plugins the user removed.

Mobile remote access

After signing in and enabling this computer, continue the same Workspace and Session from Android, Remote Web, or another Desktop. The Host creates outbound connections only and opens no public listening port.

Explicit service boundary

A third-party service currently provides accounts, the device directory, signaling, and relay. See the mobile remote guide for connection methods, security boundaries, and removal.

Interface

Conversations, questions, and approvals

Official DSH Web Session

Conversations, tool approvals, question cards, queued messages, and history replay stay in the official Session.

Plugin market in official settings

Plugin market in official Web settings

The market uses the official settings Slot. It neither replaces settings nor creates a second plugin database.

Git Worktree workspace

Git Worktree in official Web

Create an isolated Worktree from the active Session directory and open an official Session for the new workspace.

Bundled by default: mobile remote access

New Profiles include the exactly pinned [email protected], shipped alongside the DSH 0.1.5-rc.1 trial line. Open Remote in the sidebar, sign in, and enable remote access for this computer. You can then use Remote Web, the Android app, or another Desktop to open the same Host Workspaces and Sessions, continue conversations, send images, and respond to permission requests.

  • Network boundary: the Host creates outbound connections only and opens no public listening port; Remote tries LAN, P2P, TURN, and Relay in order, and every path carries Noise IK encrypted application traffic.
  • Account and data: the default currently uses the third-party dsh.r2049.cn account, device directory, signaling, and relay service; device identity and credentials stay under DSH_HOME. Remote access is unavailable until you sign in and enable the current computer.
  • Authorized devices: they control the Harness through a fixed API allowlist while the Agent can still run tools under its normal permissions; no direct Shell, PTY, or general file RPC is exposed.
  • Removal: existing Profiles receive this default once after an upgrade; disabling or removing it prevents later app updates from restoring it.
dsh plugin --profile web remove ds-harness-remote

The project does not yet provide a supported self-hosted Server, and its independent cryptographic review, real cross-network two-device coverage, and long-running stability validation remain incomplete. Remove the Bundle if remote access is not needed. The desktop package applies a SHA-256-bound compatibility projection to that fixed tarball without modifying official DSH or the upstream repository source. See the remote access guide for connection, security, and removal details.

The mobile remote capability comes from ds-harness-remote, open-sourced by liguobao; this project ships its pinned 0.4.1 by default. Special thanks to the original author for open-sourcing the Bundle and to DeepSeek Harness Remote Web for providing the remote entry point and supporting services currently available to the community, allowing DSH Desktop users to continue working from a phone or browser.

Bundled by default: conversation window teams

New Profiles include @vibeinging/[email protected]. It lets DSH conversation windows collaborate directly:

  • Message another window: tell the current window "hand this to window name", and the message lands as a real DSH message in the target window — visible there, durable, and clickable back to its source.
  • Make a window the captain: create a set of role windows, assign them tasks and dependencies, let members report back as real messages, and adjust work in plain language without tracking IDs.

All team and window state is read and written through the official Session API in the current Profile; the plugin opens no external network connections. Remove it when not needed:

dsh plugin --profile web remove @vibeinging/dsh-session-teams

Why this route

Concern DSH Desktop approach
Depending on a private front end Load official Web and the official npm runtime directly, without a private Chat fork
Using community plugins UI, Tools, and workflows keep using official Bundles, Services, and Slots
Avoiding split plugin state The official Profile is the sole authority for the market, settings, and CLI
Trusting the defaults Pin versions, integrity, permissions, dependencies, licenses, and offline artifacts
Limiting native access Files, windows, and Browser Workspace use a small Session-bound method surface
Preserving configuration at startup Existing Profiles keep user choices; failures preserve the Profile and open recovery
Preserving plugins during app updates A read-only Profile check runs first; disabled or removed Bundles are not restored

Electron is a thin desktop Host. Agents, Sessions, and the plugin system remain in DSH, while product capabilities are Bundles whenever possible. Portable plugins can therefore serve compatible official Web Profiles and DSH Desktop; only operating-system features require an explicit desktop-adapter.

Getting started

  1. Download a supported installer from Releases.
  2. Start the app and choose a working directory or create a Session directly.
  3. Open files, Git, or a terminal from the sidebar, and attach files or folders from the composer.
  4. Open Settings → Plugin Market when you need more capabilities.

Model credentials are managed by DSH settings and the local environment. API keys are never written to this README, screenshots, or the plugin manifest.

Installing more plugins

Most users should use Settings → Plugin Market. The market shows source, version, compatibility, and permissions. A visible listing is not automatically reviewed or bundled by this project, so inspect upstream documentation before installation.

The official CLI operates on the same Profile:

dsh plugin --profile web add -w <package>@<exact-version> --save-exact --ignore-scripts
dsh plugin --profile web remove <package>

A plugin that follows the official DSH Bundle and dshClient contracts does not need a DSH Desktop rewrite. Plugins that require windows, native dialogs, or Browser Workspace must explicitly use the narrow desktop Host and report missing capabilities in other hosts.

Optional example: skin center

DSH Desktop running the Blue Fantasy dark skin from the skin center

The app keeps the official Web look by default. For a personalized interface, install the community-maintained skin center (@linxin666/dsh-client-ui-skin-center) from the plugin market: dozens of skins can be tried instantly, applied to disk, and reverted to the official look at any time.

dsh plugin --profile web add @linxin666/dsh-client-ui-skin-center

Skin assets carry their own upstream licenses (some CC BY-NC-SA or including character copyrights), so the skin center is not bundled by default; users opt in via the plugin market.

Default plugins

New Profiles include Better Sidebar, dshmarket, the task board, attachment input, Git Worktree, mobile remote access, session window teams, project tools, Canvas, Office output, structured results, and model inheritance. Every manageable Bundle can be disabled or removed.

View the 16 Bundles installed in a new Profile
Default Bundle Type Declared permissions Official management Source
@vibeinging/dsh-work-product-host-ipc desktop-adapter dsh-work-parent-ipc, browser-workspace-host, file-dialog-host, window-host desktop foundation; uninstall is not offered local package
@vibeinging/dsh-desktop-profile-host desktop-adapter dsh-profile-filesystem, controlled-pnpm-runtime, dsh-cli-runtime desktop foundation; uninstall is not offered local package
@vibeinging/dsh-desktop-chrome desktop-adapter no Host permission dsh plugin --profile web remove @vibeinging/dsh-desktop-chrome local package
@vibeinging/dsh-project-tools desktop-adapter product-host dsh plugin --profile web remove @vibeinging/dsh-project-tools local package
@vibeinging/dsh-canvas-tools desktop-adapter product-host dsh plugin --profile web remove @vibeinging/dsh-canvas-tools local package
@vibeinging/dsh-structured-ui-tools desktop-adapter product-host dsh plugin --profile web remove @vibeinging/dsh-structured-ui-tools local package
@vibeinging/dsh-model-inheritance portable no Host permission dsh plugin --profile web remove @vibeinging/dsh-model-inheritance local package
@vibeinging/dsh-product-bridge desktop-adapter product-host dsh plugin --profile web remove @vibeinging/dsh-product-bridge local package
@vibeinging/dsh-office-tools desktop-adapter office-artifact-host dsh plugin --profile web remove @vibeinging/dsh-office-tools local package
@vibeinging/dsh-client-ui-worktree portable no Host permission dsh plugin --profile web remove @vibeinging/dsh-client-ui-worktree local package
@linxin666/dsh-client-ui-task-board portable read current DSH Session, Workspace, and completion history, write task ledger and run records under DSH_HOME, start DSH Session tasks from user actions or Host cron, optionally start a fixed cross-platform sleep-prevention helper dsh plugin --profile web remove @linxin666/dsh-client-ui-task-board upstream repository
ds-harness-remote portable connect to the external dsh.r2049.cn account, device directory, signaling, TURN, and Relay services, allow authorized Web, Android, or Desktop devices on the same account to read and control the current Harness Workspace, Session, models, permissions, settings, and credential writes, store long-lived X25519 device identity keys and device credentials under DSH_HOME, serve remote requests through a fixed Harness API allowlist without direct Shell, PTY, or general file RPC; the Harness Agent can still run tools under its normal permissions dsh plugin --profile web remove ds-harness-remote upstream repository
dsh-multimedia-webui-input portable read files and folders explicitly selected by the user, write attachments under .dsh/tmp/attachments in the active Session workspace, remove only plugin-owned attachment directories after a second user confirmation dsh plugin --profile web remove dsh-multimedia-webui-input upstream repository
dsh-better-sidebar portable read, search, create, modify, and delete files in the current Session workspace, run Git operations in the current Session workspace, start and stop local terminal processes; model-facing terminal tools are disabled by default, open user-entered web pages or external editors and receive files explicitly uploaded by the user, when enabled by the user, register the sidebar_open model tool to open workspace files, folders, or HTTP(S) pages in the current Session sidebar; disabled by default dsh plugin --profile web remove dsh-better-sidebar upstream repository
dshmarket portable read and modify dependencies, Bundle order, and enabled state in the active DSH Profile, install, update, and remove user-confirmed plugins through controlled pnpm, access the plugin catalog, npm, GitHub, and user-configured WebDAV or Gist services, export or import backups that contain Profile configuration dsh plugin --profile web remove dshmarket upstream repository
@vibeinging/dsh-session-teams portable read, route and relay messages and tasks across visible conversation windows in the current profile, including sub-agent handoff, write team, task and visible-window relay state through the official Session API in the Profile session store, create top-level conversation windows on demand and compose sub-agent teams scheduled with the current workspace, model, and permissions dsh plugin --profile web remove @vibeinging/dsh-session-teams upstream repository

See Plugin market selection and desktop integration for the selection, permission, and offline boundaries.

Run from source

Node.js 24 or later is required:

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

Build a local macOS Apple Silicon app:

npm run package:mac:dir
open "release/mac-arm64/DSH Desktop.app"

Local directory builds are for development. End-user signed installers are published through GitHub Releases.

Data and permissions

  • Profiles, plugins, Sessions, and local runtime data are stored under ~/.dsh by default, can be changed with DSH_DATA_ROOT, and remain independent of the app directory.
  • Official Web has no product preload, Node access, or general IPC.
  • Files and directories enter the active Session only after explicit user selection or a declared plugin permission.
  • Plugin startup failure does not silently rewrite the original Profile; recovery can retry, start safely, remove a problem plugin, and export filtered diagnostics.
  • Formal builds check this project's public GitHub Releases and download or install only after user confirmation.
  • Third-party Bundles, native binaries, and visual assets retain their upstream licenses and redistribution terms.

See the privacy notice, security policy, and third-party notices.

Difference from the official desktop and other community desktops

DSH Desktop chooses one official Web interface, one official Profile authority, curated community Bundles, and a narrow Native Host. It does not build a second full front end; it makes the desktop experience a reliable distribution of the DSH plugin ecosystem.

Versus the official desktop (@deepseek-ai/dsh-desktop): the official project maintains its own Electron shell inside the DeepSeek Harness repository — no listening ports, version-locked to the DSH runtime, and using a dedicated profiles/desktop — but as of this writing it has not published public installers. The two are complementary and can coexist: the official desktop is the minimal core experience from DeepSeek, while DSH Desktop is installable today and ships a fixed, verified bundle lineup that packages the plugin market, version compatibility, and desktop capabilities into a complete distribution. They use separate Profile directories, so installing both side by side does not interfere. This project also tracks the official shell and is validating a bundle edition built on top of it.

Other community projects: DSH Desktop by anywhere-labs is another independent community distribution with more emphasis on a complete desktop shell and cross-platform client experience. dataelement/dsh-desktop is also an independent community project. Their code, releases, and product routes are separate; users can choose by interface, plugin model, and available platform artifacts.

Related projects

Project Relationship
dsh-website Official website of this project (DSH Desktop Station · dshdesktopstation.com)
DeepSeek Harness Agent, Session, Tool, Skill, MCP, Profile, and official Web runtime
Official desktop (apps/desktop) DeepSeek's official Electron shell, maintained in the upstream repository
Cordis Plugin foundation
DSH Better Sidebar Default workspace sidebar, editor, Git, and terminal
dsh-market Default plugin market
dsh-session-teams Default conversation window teams Bundle (maintained here, @vibeinging/dsh-session-teams)
dsh-web Upstream community ecosystem repository for the task board and skin center (Apache-2.0)
ds-harness-remote Upstream of the default mobile remote Bundle (maintained by liguobao, includes the Remote Web and Android entry points)
dshfind DSH learning, sharing, and plugin discovery community

Relationship to DeepSeek Harness

DSH Desktop is an independent community project built on the DeepSeek Harness and Cordis plugin systems. “DeepSeek Harness” is used only to describe compatibility and technical origin. This project has no affiliation, partnership, authorization, or endorsement from DeepSeek.

License

Project code is released under the MIT License. Sources and redistribution terms for third-party components, pinned tarballs, native binaries, and visual assets are listed in THIRD_PARTY_NOTICES.md.

Explore related projects