Introduction¶
DeepSeek Harness (DSH) is a plugin-based architecture whose core philosophy is “everything is a plugin”. DSH provides --profile web to run the Web UI, but manually starting and stopping this interface from the command line usually requires additional scripts or operations. dsh-webui-launcher, as a plugin, directly solves this problem. It is maintained by user YV3507 and uses the MIT license. After installation, you can directly manage the Web UI lifecycle from within DSH without leaving the current environment.
Feature Overview¶
This plugin provides a complete set of controls:
- Model tools: Includes four core tools:
webui_start,webui_stop,webui_status, andwebui_open. They can startdsh --profile webin the background, wait for an HTTP 200 response, and then report status or open a browser. - Slash commands: Provides shortcuts such as
/webui start,/webui stop,/webui status, and/webui openfor quick operations in the interactive interface. - Settings page: Adds a “Web UI Launcher” card to DSH’s Web settings page, driving the same JSON interface as the tools above.
- Desktop shortcuts: On first plugin launch, creates a launcher on the desktop (
.lnkon Windows,.desktopon Linux,.commandon macOS). The shortcut automatically uses the official DSH icon and supports custom icons.
Installation¶
Run the following command in the terminal to complete installation:
dsh plugin --profile web add github:YV3507/dsh-webui-launcher
Usage¶
After installing, you can use it in the following ways:
- Slash commands: Type
/webui startin the DSH chat window to start the Web UI service and wait for an HTTP 200 response. - Model tools: Call
webui_startin code or scripts. This tool generates adsh --profile webprocess in the background and continuously monitors until the service is ready. - Desktop shortcut: Find the shortcut created by the plugin on the desktop; click it to start the Web UI and automatically open the browser.
Configuration Options¶
The plugin supports behavior configuration via settings. The main options are as follows:
| Option | Default | Description |
|---|---|---|
port |
3080 |
The port for the Web UI service. |
host |
127.0.0.1 |
The bound host address; defaults to the local loopback. |
startupTimeoutMs |
120000 |
Timeout (in milliseconds) for waiting for HTTP 200 during startup. |
openBrowserOnStart |
true |
Whether to automatically open the default browser after the service starts successfully. |
desktopShortcut |
true |
Whether to create a desktop shortcut (hosts without a desktop environment will silently skip). |
shortcutName |
"DeepSeek Harness Web UI" |
Display name of the desktop shortcut. |
shortcutIconPath |
"" |
Custom icon path; if empty, uses the official DSH icon. |
Behavior and Notes¶
- Loopback restriction: By default, the plugin binds only to 127.0.0.1, does not elevate privileges, and does not allow external network access, which is highly secure.
- Taking over an existing service: If the port is already in use and a corresponding PID record exists, the plugin takes over that existing service instead of restarting it.
- Process management:
webui_stoponly kills the process tree generated by the plugin itself, or the server whose PID it has recorded. Before killing, it verifies that the process is still alive and belongs to the current plugin instance, preventing accidental termination of other processes. - Headless environments: When running without a desktop environment (such as on a server), the plugin does not throw an error but silently skips creating a desktop shortcut.
- Security: The plugin cleans up the server processes it created when destroyed or hot-reloaded.
Conclusion¶
dsh-webui-launcher seamlessly integrates Web UI management into the DSH ecosystem through standardized Model tools and a settings card. For developers who need to control the Web UI in scripts or automated workflows, this is a practical tool. For more information and source code, visit the GitHub repository.