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 plugindepends 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