wezoo-wb/dsh-desktop-min

dsh-desktop-min is a minimal, product-neutral, extension-first desktop shell for DeepSeek Harness. It starts an ordinary Web-capable DSH profile in a secure Electron window and supplies the smallest runtime needed for third-party desktop extensions.

catalog 简介 / catalog descriptioncatalog description:A minimal, product-neutral, extension-first desktop shell for DeepSeek Harness.

项目介绍Project Overview

dsh-desktop-min 是面向 DeepSeek Harness 的极简桌面外壳,基于 Electron 启动 Web 配置文件并提供最小运行时,供第三方桌面扩展接入。核心不含 Agent、工作区、托盘、通知或远程托管等能力,这些由独立 DSH 包按 Host、Client 或完全信任的 Native 入口扩展实现。普通扩展仅获得能力发现、JSON 调用、Host 命令执行与事件通道,不接触 Node 或 Electron;Native 入口需在包中显式声明 full trust,其权限等同应用自身。请注意:远程连接器必须返回经本地代理或隧道回环的受信 Client URL,核心不会将 preload 授予任意远程页面。

dsh-desktop-min is a minimal, product-neutral Electron shell for DeepSeek Harness that boots a Web profile and supplies the smallest runtime for third-party desktop extensions. The core deliberately omits Agents, workspaces, product UI, tray menus, updates, notifications, and remote hosting; those arrive through independent DSH packages using optional Host, Client, or full-trust Native entrypoints. Regular plugins only see capability discovery, JSON calls, Host commands, and events, while Native entries declared with full trust gain the full Electron API with the same trust implications as the application. Note: a remote connector must return a trusted loopback Client URL, typically through a local proxy or tunnel, and the core never grants its preload to arbitrary remote pages.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add github:wezoo-wb/dsh-desktop-min

wezoo-wb/dsh-desktop-min 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-desktop-min

dsh-desktop-min is a minimal, product-neutral, extension-first desktop shell for DeepSeek Harness. It starts an ordinary Web-capable DSH profile in a secure Electron window and supplies the smallest runtime needed for third-party desktop extensions.

The core does not implement Agents, workspaces, product UI, embedded pages, tray menus, updates, custom chrome, notifications, or remote hosting. Those features are independent DSH packages with optional Host, Client, and fully trusted Native entrypoints.

Run

End users install a platform artifact from GitHub Releases and launch the application normally. The installed application does not require Node.js or a package manager. This repository is the application source and is not published as an npm launcher.

The launcher applies its Host bridge only for that run when the selected profile has not installed the bundle. Existing DSH profile composition remains owned by the official dsh CLI.

Source launch and useful options:

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

Native extensions listed by the profile's DSH bundles are discovered automatically. --extension adds an explicit package or directory. --safe-mode skips all external Native entries. The built-in local connector accepts startupTimeoutMs from 1,000 through 600,000 milliseconds for unusually large cold-start profiles; its default remains 60,000 milliseconds.

Develop

This is a pnpm-only project. Corepack selects the exact pnpm release declared by the repository:

corepack pnpm install --frozen-lockfile
corepack pnpm run check
corepack pnpm run dev -- --profile web

Run the included capability example:

corepack pnpm run example -- --profile web

Extension model

A package may use ordinary DSH metadata for its Host and Client plugins and add a full-trust Native entry:

{
  "name": "@acme/dsh-desktop-feature",
  "version": "1.0.0",
  "dshDesktopMin": {
    "apiVersion": 1,
    "native": "./lib/native.js",
    "trust": "full"
  }
}

The Native entry can:

  • register an entirely new JSON capability for Host and Client callers;
  • register a replaceable Host connector;
  • read Host contributions and execute Host commands;
  • observe or configure the main window;
  • acquire background lifetime for tray-style extensions;
  • use the complete Electron API under the package's explicit full-trust declaration.

Regular Host and Client plugins never receive Node.js, raw Electron, raw IPC, or a BrowserWindow. The renderer preload exposes only capability discovery, JSON method calls, Host command execution, and capability events.

See architecture, extension authoring, development and packaging, and security policy.

Design principles

  • Minimal defaults and broad extension mechanisms are separate goals.
  • DSH remains responsible for Profiles, bundles, Agent behavior, and Web Client composition.
  • Every cross-process payload is finite JSON and every public id is validated.
  • Process-based Host tools do not create visible console windows on Windows.
  • The main DSH renderer stays sandboxed with context isolation and no Node integration.
  • A remote connector must return a trusted loopback Client URL, normally through a local proxy or tunnel; the core never grants its preload to an arbitrary remote page.
  • Native entries are local code with the same trust implications as the application itself.

License

MIT. See LICENSE.

上一个 Prev dsh-session-manager 下一个 Next dsh-remote-tunnel