Introduction

In the DSH plugin ecosystem, many capabilities can be extended around the Web UI, but desktop behaviors like launching windows, system tray, notifications, and closing to exit are usually not within the scope of the Web service itself. dsh-native-launcher adapts this layer: on Windows, it organizes the DeepSeek Harness Web UI’s launch entry, window behavior, tray notifications, and uninstallation cleanup into a set of toggleable features.

It is maintained by ingleav626-art and uses the MIT license. It does not replace the official Web UI, nor does it introduce heavy desktop runtimes like Electron / Python / WebView2. Instead, on top of the DSH official plugin ecosystem and its official base dependencies, it uses Windows native mechanisms to provide a desktop App-style one-click launch experience.

What is it

In short: dsh-native-launcher is a Windows-oriented DSH plugin used to launch the WebUI as a desktop app entry point and provides a system tray, notifications, settings page, and one-click uninstall.

It primarily solves these types of operations:

  • Don’t want to manually run commands to start the WebUI every time.
  • Want to start or return to an existing window by double-clicking a desktop shortcut.
  • Want system notifications for task completion, errors, and waiting for approval.
  • Want configurable service exit behavior when closing the window.
  • Want to clean up generated files, shortcuts, registry entries, and profile entries when uninstalling.

Core Features

Desktop Shortcut

A desktop shortcut is generated after installation. Double-clicking it starts or returns to the WebUI. The shortcut name can be customized in the settings page, and rebuilding can be forced.

Standalone App Window

The WebUI can be installed as a desktop app. The app window has an independent taskbar icon and no browser address bar. If the app is not installed, the plugin falls back to the open method specified in the settings page.

Automatic Window Focus

If the WebUI is already running, clicking the shortcut or tray again switches the existing window to the foreground instead of opening a new instance.

System Tray and Task Notifications

The plugin provides a persistent tray icon with entries including “Open WebUI” and “Exit”. Windows native notifications alert users to task status changes, covering completion, errors, aborts, blocking, reaching limits, as well as waiting for approval, waiting for answers, scheduled review, etc.

Notifications use the tray notification as the primary channel, with browser notifications only as a fallback. Windows may silently block consecutive notifications within a short time; it is recommended to wait a few seconds before clicking again when testing notifications.

Closing Semantics

When all windows are closed and no tasks are running, the service stops automatically; if tasks are still running, the service waits for them to complete before stopping. “Close window to exit” can be disabled in the settings page to keep the service running after closing the window.

Settings Page and Modularity

The settings page provides visual configuration and persistence. Configurable items include:

  • Launch command
  • Port
  • Shortcut name
  • Open method
  • Tray toggle
  • Notification toggle
  • Closing semantics parameters
  • Individual feature module toggles

Additional features are provided as independent modules and can be enabled or disabled separately. If you are already using other similar plugins, you can disable corresponding modules in the settings page to reduce feature conflicts.

One-Click Uninstall and Logs

The settings page provides one-click uninstall: stops the service, removes desktop shortcuts, cleans up generated files and registry entries, removes plugin entries from the profile, and optionally clears personalized configuration.

Structured logs are available for the start, run, and uninstall processes. The uninstall log is located at:

%USERPROFILE%\.dsh-webui-launcher\uninstall.log

This log will not be cleaned up during uninstall. For notification issues, check:

~/.dsh-webui-launcher/tray-notify.log

Installation and Enablement

Platform and Version Requirements

Only supports Windows 10/11, x64. macOS/Linux should not be installed.

Requires:

dsh >= 0.1.0-rc.8

If the dsh version is too low, execute:

npm install -g @deepseek-ai/dsh@0.1.0-rc.8

Since rc.8, dsh web opens the browser by default; dsh-native-launcher uses --no-open to avoid double-opening pages caused by both the plugin and official behavior.

The dsh plugin command depends on pnpm. If prompted:

pnpm is not recognized

Execute:

npm install -g pnpm

Or:

corepack enable pnpm

@deepseek-ai/schemastery is a DSH official base dependency, declared during plugin installation; it is used for the settings page schema and is not part of extra community functionality frameworks.

Method 1: npm Installation

npm install -g dsh-native-launcher
dsh plugin --profile web add dsh-native-launcher

Method 2: Source Code Installation

git clone https://github.com/ingleav626-art/dsh-native-launcher
dsh plugin --profile web add <path-to-repo>

Changes take effect after restarting dsh web.

Post-Installation Check

After installation and restart, a shortcut should appear on the desktop and an icon in the system tray in the bottom right. Double-click the shortcut to start or return to the WebUI.

Typical Usage

Launching WebUI

After installation, simply double-click the desktop shortcut. If the WebUI is not running, the service starts; if it is already running, it switches to the existing window.

Installing as a Desktop App

Open a normal tab at:

http://127.0.0.1:3080

Click install in the page prompt. If the browser does not pop up an install prompt, go to:

⋯ → More tools → Apps → Install this site as an app

After installation, the shortcut will prioritize opening the standalone app window.

Modifying Settings

The settings page allows configuration of launch command, port, shortcut name, open method, tray toggle, notification toggle, closing semantics parameters, and individual feature module toggles. Modifications are saved persistently.

Handling Missed Notifications

If tray notifications are not received, first confirm the tray icon exists, then check:

~/.dsh-webui-launcher/tray-notify.log

When sending test notifications from the settings page, it is recommended to wait a few seconds before clicking to avoid Windows blocking consecutive notifications in a short time.

Old App Won’t Open After Changing Port

After modifying the port, old PWAs may still point to the old port. It may fall back to --app mode at startup, and functionality will still be available. The old app needs to be manually uninstalled from:

edge://apps

and then reinstalled.

Not Wanting to Exit Service on Window Close

If you want the service to continue running after closing the window, disable “Close window to exit” in the settings page. Afterward, you need to manually stop the service using the exit entry in the tray.

Shortcut Depends on Global dsh Command

Shortcuts start the service via the dsh command, relying on the global dsh command in PATH. Starting from v0.2.1, it can automatically fallback to npx launch and show a prompt; however, if dsh is not globally installed, it is still recommended to verify that the dsh command in PATH is available.

Uninstalling

It is recommended to perform one-click uninstall in the settings page. This only removes the desktop enhancement components provided by this plugin; the dsh service itself and its data are not affected. You can choose whether to clear personalized configuration.

Manual backup method:

dsh plugin --profile web remove dsh-native-launcher

And clean up:

~/.dsh-webui-launcher

And the DSH WebUI shortcut on the desktop. The uninstall log remains in:

%USERPROFILE%\.dsh-webui-launcher\uninstall.log

Applicable Scenarios and Notes

Suitable for:

  • DSH WebUI users on Windows 10/11, x64.
  • Want unified management of desktop shortcuts, tray, notifications, and window close exit behavior.
  • Want to remain lightweight without introducing Electron / Python / WebView2.
  • Want features to be toggleable individually to reduce conflicts with other plugins.

Notes:

  • Restricted to Windows; do not install on macOS/Linux.
  • dsh version requires dsh >= 0.1.0-rc.8.
  • dsh plugin depends on pnpm.
  • Tray notifications are the primary channel, browser notifications are a fallback; consecutive notifications may be silently blocked by Windows.
  • After changing the port, old PWAs may still point to the old port.
  • One-click uninstall only removes desktop enhancement components and does not affect the dsh service itself and its data.
  • The plugin runs under the permissions of the current dsh process. It is recommended to check the source code, dependency declarations, and MIT license before installation.

Links

Directory page:

https://www.skillhub.cn/plugins/ingleav626-art/dsh-native-launcher

GitHub:

https://github.com/ingleav626-art/dsh-native-launcher