Introduction

DeepSeek Harness (DSH) usually offers two ways to use it: the dsh CLI and the Web UI. For developers who have already installed DSH and want to use the official Web UI in a desktop window without reimplementing DSH’s own agent capabilities, a native desktop wrapper is required. dsh-gui does exactly that: it loads the official Web UI of dsh inside an Electron native window and supports installation, maintenance, and uninstallation as a dsh plugin.

What is it

dsh-gui is maintained by Aaaaamadeus, licensed under MIT, with the repository located at:

https://github.com/Aaaaamadeus/dsh-gui

Its positioning is that of a native desktop web-shell for DeepSeek Harness (dsh). It can be installed as a dsh profile bundle plugin and automatically creates and refreshes desktop shortcuts.

Core Features

Below are several verified core capabilities.

  • Load the official Web UI of dsh within the window; no need to modify this shell after updates to the official frontend or kernel.
  • Can be installed as a dsh plugin to integrate with the web profile bundle.
  • Idempotently refreshes desktop shortcuts every time a dsh profile starts, supporting icon and hidden console launch options.
  • Relies solely on the host-apiproxy line protocol provided by dsh and does not import any @deepseek-ai/* packages.
  • The renderer side uses the contextIsolation + sandbox sandbox mode, with external links delegated to the system’s default browser.
  • Supports main process plugins, RPC permission declarations, the dshgui-plugin:// asset protocol, and native mode built-in UI plugins.

Installation and Usage

Prerequisites: dsh CLI and pnpm must be installed.

First, install it as a bundle plugin for the web profile.

dsh plugin --profile web add "github:Aaaaamadeus/dsh-gui"

Then start dsh web once to execute the plugin and automatically create desktop shortcuts.

dsh web

Use the following command to uninstall the plugin.

dsh plugin --profile web remove dsh-gui

If installing from source, first clone the repository and install dependencies.

git clone https://github.com/Aaaaamadeus/dsh-gui
cd dsh-gui && npm install --ignore-scripts

Then add the Electron runtime and install as a dsh plugin.

node node_modules\electron\install.js
scripts\install-as-dsh-plugin.cmd

If not installing as a plugin, you can also start it directly.

dsh-gui.cmd

pnpm intercepts the Electron binary post-download; the Electron runtime will be automatically supplemented on first launch. If you need to use a mirror, set the following environment variable.

set ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/

Typical Usage

The common flow is:

  1. Install the plugin:
dsh plugin --profile web add "github:Aaaaamadeus/dsh-gui"
  1. Start dsh web once:
dsh web
  1. Use the created desktop shortcut afterwards; the shortcut will refresh idempotently every time a dsh profile starts.
  2. Uninstall the plugin:
dsh plugin --profile web remove dsh-gui

Applicable Scenarios and Notes

Suitable for developers already using dsh who want to place the official Web UI in a desktop window. Note the following points before use:

  • dsh is still a developer preview version and may have breaking changes in the future; protocol fixes are concentrated in src/kernel/.
  • The development verification environment is:
DeepSeek Harness 0.1.0-rc.5 / 0.1.0-rc.6
Windows
Node.js ≥ 20
Electron 37
  • Renderer plugins run in a sandbox and can only call RPC declared in the manifest via the whitelist API:
window.dsh / DSHGUI
  • Main process plugins have the same trust level as dsh plugins and can register this plugin’s namespace IPC:
ctx.ipc.handle(channel, fn)
  • The plugin is enabled as a dsh profile bundle and runs with the permissions of the current dsh process; you should check the source code, license, and dependencies before installing.
  • This project does not contain DeepSeek Harness code; dsh and its ecosystem licenses can be viewed in their respective repositories.

Conclusion

The value of dsh-gui lies in preserving the dsh official Web UI and kernel while providing a desktop window, plugin installation, and shortcut maintenance. The repository address is:

https://github.com/Aaaaamadeus/dsh-gui