Preface

By default, DeepSeek Harness (DSH) runs inside a browser tab and is mixed in with ordinary web pages. The dsh-desktop-app plugin solves this problem by converting it into a standalone window, making it look and behave like native software: no browser tabs, no address bar, no bookmarks bar, and only its own taskbar entry and icon.

Plugin Positioning

This is a DeepSeek Harness plugin maintained by MARIOMLY. It registers a host tool named desktop_app and uses an existing Chromium-based browser to turn the Web GUI into a window.

Core Features

  • Chromium –app mode: Turns the DSH interface into a standalone window with no browser tabs, address bar, or bookmarks bar.
  • System tray residency: The service continues running in the background after the window is closed. The tray icon supports minimize to tray, restore window, and restart service.
  • No extra runtime: Uses an existing Chromium browser and does not require Electron.
  • Tray panel request: Supports requesting minimize to tray from the tray panel.

Installation and Enablement

Use the official installation command:

dsh plugin --profile web add github:MARIOMLY/dsh-desktop-app

After installation, restart dsh web and verify:

dsh --profile web --dump-config | grep desktop-app

Usage

You can interact directly in a DSH session:

Make this open like a normal desktop app.

You can also use specific commands (see the table below for parameters):
* status: Reports the running Web port, detected browser, Desktop directory, and shortcut installation status.
* install: Writes the launcher and creates a desktop shortcut.
* remove: Removes the shortcut and launcher.
* open: Opens the application window immediately.
* restart: Restarts the DSH server and reopens the application window. This operation requires creating a child process outside the DSH job object; otherwise, it may be terminated.

Optional parameters:
* browser: Browser ID or path to a Chromium executable.
* icon: Path to the shortcut icon.
* shortcutName: Desktop shortcut file name (default DeepSeek Harness.lnk).
* delaySeconds: Specific to restart; number of seconds to wait before stopping the service (default 15, maximum 300).
* closeOldWindows: Specific to restart; whether to clear old windows before closing windows (default true).

Notes

  • X button limitation: The X button cannot be redefined from outside (Windows 10/11 returns ERROR_ACCESS_DENIED).
  • beforeunload limitation: The beforeunload confirmation is suppressed by Chromium in –app mode.
  • Environment dependency: Requires Node.js >= 20.
  • Service protection: The restart operation creates a child process outside the DSH job object to ensure the service can be restarted.
  • Privacy impact: Only the DSH application window is closed, and the user’s other browser tabs are not affected.

Short Closing

This plugin is suitable for developers who need to use DSH as a resident window. It leverages the existing browser environment to provide an experience close to that of a native application. For more details, you can view the plugin directory or the GitHub repository.