Preface¶
In DSH’s plugin model, Host and Client plugins are typically used to combine capabilities on the web side. If third parties want to bring extended capabilities into the desktop environment, a desktop host is still needed to carry the profile, extension entry points, and connector boundaries.
dsh-desktop-min provides such a minimal runtime: it launches a web-capable DSH profile in a secure Electron window and provides the minimal foundational environment required for third-party desktop extensions.
What This Is¶
dsh-desktop-min is a minimal, product-neutral, extension-first DeepSeek Harness desktop shell.
Its core does not include the following capabilities: Agents, workspaces, product UI, embedded pages, tray menus, updates, custom chrome, notifications, and remote hosting. These capabilities belong to separate DSH packages and can provide Host, Client, or fully trusted Native entry points on demand.
The repository is located at https://github.com/wezoo-wb/dsh-desktop-min. The version declared in package.json is 0.1.1, the author field is dsh-desktop-min contributors, and the license is MIT.
Core Capabilities¶
Desktop Shell and Extension Discovery¶
- Launches a web-capable DSH profile in a secure Electron window.
- Provides a minimal runtime for third-party desktop extensions.
- Automatically discovers Native extensions listed in the profile’s DSH bundles.
- Supports explicitly specifying Native extension packages or directories via
--extension.
Native Extension Capabilities¶
Native entry points can:
- Register JSON capabilities for use by Host and Client callers;
- Register replaceable Host connectors;
- Read Host contributions;
- Execute Host commands;
- Observe or configure the main window;
- Obtain a background lifetime for tray-style extensions;
- Use the full Electron API when the package explicitly declares full trust.
Regular Host and Client plugins do not receive Node.js, raw Electron, raw IPC, or BrowserWindow.
Connectors and Startup Options¶
Source startup supports the following options:
--profile--devtools--extension--connector--connector-option--safe-mode
The built-in local connector supports startupTimeoutMs, ranging from 1,000 to 600,000 milliseconds, with a default value of 60,000 milliseconds.
Installation and Activation¶
End users install the platform-specific artifacts from GitHub Releases and then launch the application normally. Installed applications do not require Node.js or a package manager.
This repository contains the application source and is not published as an npm launcher. Existing DSH profile composition remains the responsibility of the official dsh CLI.
Running from Source and Examples¶
The source environment requires Node ^22.19.0 || >=24.0.0. The project is pnpm-only, and Corepack will use the repository-declared pnpm@11.7.0.
Install dependencies and run checks:
corepack pnpm install --frozen-lockfile
corepack pnpm run check
Example source startup commands:
corepack pnpm start -- --profile web
corepack pnpm start -- --profile my-profile --devtools
corepack pnpm start -- --profile my-profile --extension @acme/desktop-native
corepack pnpm start -- --profile my-profile --connector @acme/remote --connector-option endpoint=wss://host.example
corepack pnpm start -- --profile my-profile --connector-option startupTimeoutMs=180000
corepack pnpm start -- --profile my-profile --safe-mode
Development runs and built-in examples:
corepack pnpm run dev -- --profile web
corepack pnpm run example -- --profile web
Use Cases and Considerations¶
This is suitable for scenarios where third-party desktop extensions need to be hosted in the DSH desktop shell while keeping the core minimal.
If the goal involves Agents, workspaces, product UI, embedded pages, tray menus, updates, custom chrome, notifications, or remote hosting, the corresponding standalone DSH packages should be used.
Special attention is required when using Native extensions:
- Native entry points are local code, and their trust impact is the same as the application itself.
- Before enabling full-trust Native capabilities, inspect the extension source, full-trust declarations, and licenses.
- Remote connectors must return a trusted loopback Client URL, typically implemented via a local proxy or tunnel.
- The core will not grant preload to arbitrary remote pages.
Links¶
- Directory page: https://www.skillhub.cn/plugins/wezoo-wb/dsh-desktop-min
- GitHub: https://github.com/wezoo-wb/dsh-desktop-min