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
dshwithin the window; no need to modify this shell after updates to the official frontend or kernel. - Can be installed as a
dshplugin to integrate with thewebprofile bundle. - Idempotently refreshes desktop shortcuts every time a
dshprofile starts, supporting icon and hidden console launch options. - Relies solely on the
host-apiproxyline protocol provided bydshand does not import any@deepseek-ai/*packages. - The renderer side uses the
contextIsolation + sandboxsandbox 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:
- Install the plugin:
dsh plugin --profile web add "github:Aaaaamadeus/dsh-gui"
- Start
dsh webonce:
dsh web
- Use the created desktop shortcut afterwards; the shortcut will refresh idempotently every time a
dshprofile starts. - 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:
dshis still a developer preview version and may have breaking changes in the future; protocol fixes are concentrated insrc/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
dshplugins and can register this plugin’s namespace IPC:
ctx.ipc.handle(channel, fn)
- The plugin is enabled as a
dshprofile bundle and runs with the permissions of the currentdshprocess; you should check the source code, license, and dependencies before installing. - This project does not contain DeepSeek Harness code;
dshand 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