Foreword¶
DeepSeek Harness (DSH) runs in the browser by default. The dsh-desktop-shell plugin addresses this issue by converting the Web UI into a standalone desktop application. It generates a portable launcher under the user directory, creates desktop and Start menu shortcuts, and takes over the execution of the DSH backend.
Core Features¶
This plugin implements a standalone application experience through a WebView2 window, with the following capabilities:
- Standalone Window: Reuses the system WebView2 runtime, without a browser address bar or tabs.
- Close Minimizes to Tray: Closing the window only hides it; the backend must be stopped via the tray menu “Quit”.
- Silent Startup: The backend runs silently, without a console window appearing, and logs are written to a designated directory.
- Readiness Gating: The UI does not load prematurely; it waits until the backend prints the authentication URL before entering, avoiding a fleeting 404.
- Zero Electron Dependencies: The payload is about 1.2 MB and does not introduce the large Electron runtime.
- Debug Mode: Provides a separate debug shortcut, with the backend running a visible console to make error inspection easier.
- Watchdog and Automatic Takeover: If the backend exits unexpectedly, it is restarted automatically; supports taking over DSH backends started externally.
- In-Settings Control: Under Settings → General Settings → DSH Desktop Shell, provides install, repair, cleanup, and autostart controls.
Installation and Prerequisites¶
Prerequisites:
* System: Windows 10/11 (x64).
* Runtime: WebView2 (usually preinstalled), Node.js >= 22, DSH >= 0.1.5-rc.1.
* Permissions: Administrator rights are not required; installation files are located in the user directory.
Installation Steps:
Run the following command in the terminal to install the plugin:
dsh plugin --profile web add dsh-desktop-shell
After installation, DSH must be restarted for the plugin to take effect. After restarting, you can confirm the installation status under Settings → General Settings → DSH Desktop Shell.
Usage¶
Check Status¶
You can check the installation status via the interface:
curl.exe http://127.0.0.1:3080/api/dsh-desktop/status
Tray Operations¶
The launcher resides in the system tray. Right-click the tray icon to perform the following actions:
* Open UI: Restore the window.
* Restart Backend / Restart in Debug Mode: Restart the DSH backend.
* Take Over External Backend: Bring an unmanaged backend process under launcher management.
* View Logs / Config / Data Directory: Quickly locate the relevant files.
Settings Operations¶
In the settings interface, for the “DSH Desktop Shell” row, you can:
* Install / Repair: Re-provision files and refresh the configuration.
* Rebuild Shortcuts: Update the desktop and Start menu shortcuts.
* Enable / Disable Autostart on Login: Disabled by default; must be enabled manually.
* Clean Installation: Delete shortcuts and plugin files under the user directory.
* Restart Backend: Restart managed by the launcher.
Installed Files¶
After the plugin is installed, the following contents are generated under the %USERPROFILE%\dsh-desktop directory:
- Executable file:
DSHLauncher.exe(about 90 KB). - Dependency libraries:
Microsoft.Web.WebView2.*.dll,WebView2Loader.dll. - Source and checksums:
DSHLauncher.cs,build-icons.mjs,SHA256SUMS.txt. - Configuration and logs:
launcher.config.json,preferences.json,logs\dsh-web.log. - Shortcuts:
.lnkfiles for the desktop and Start menu.
Cleanup and Uninstall¶
Uninstall the plugin:
dsh plugin --profile web remove dsh-desktop-shell
After uninstalling, it is recommended to click “Clean Installation” in the settings to delete the shortcuts and the %USERPROFILE%\dsh-desktop directory.
Note: If the plugin is still enabled, the host will automatically reinstall it on the next startup. To remove it permanently, first uninstall the plugin or set the environment variable DSH_DESKTOP_NO_AUTOINSTALL=1.
Ecosystem Context¶
DSH adopts a plugin-based architecture. This plugin is maintained by the developer RINGOLINK and complies with the MIT license. All files and behaviors are managed by the plugin itself, without modifying the DSH core.