Introduction

When using the Web UI of dsh (DeepSeek Harness), the typical workflow is to open a terminal, execute the startup command, and then open a browser. dsh-desktop-launcher solves the desktop entry problem: on macOS, it generates ~/Desktop/dsh.app; on Linux, it generates ~/.local/share/applications/dsh.desktop. After double-clicking the entry, the Web UI can be launched and the browser opened.

It only handles the desktop side, does not install terminal commands, and does not modify PATH.

What is this

dsh-desktop-launcher is a dsh plugin maintained by LvienOeria with an MIT license. Its purpose is to install a desktop double-click launcher for dsh, suitable for users who need the Web UI as a desktop entry but do not want to install additional terminal commands.

Core Features

Generated Files

  1. macOS generates:
~/Desktop/dsh.app

Double-clicking dsh.app launches the Web UI and automatically opens the browser.

  1. Linux generates:
~/.local/share/applications/dsh.desktop

It is used as an entry in the application menu.

  1. Generates a startup script:
~/.dsh-launcher-desktop/dsh-start.command

This script is used to poll the Web UI address and open the browser.

Icons and Size

  • Includes built-in whale and whale-dark 1024px PNG icons.
  • Zero dependencies, package size is approximately 147 KB.

Scope

  • Only touches the desktop side, does not install terminal commands.
  • Does not modify PATH.
  • Terminal commands are in a separate dsh-launcher package.
  • Does not support Windows; on Windows, no files are installed, only a warning is issued.

Installation and Enablement

Prerequisites

Requires dsh CLI and pnpm >= 9. If the current environment has an older pnpm version, you can execute:

corepack enable

Install the Plugin

Install from npm:

dsh plugin --profile web add dsh-desktop-launcher

Install from GitHub:

dsh plugin --profile web add github:LvienOeria/dsh-desktop-launcher

Install from a local path:

dsh plugin --profile web add ./dsh-desktop-launcher

Generate the Launcher

After installation, launch dsh once:

dsh --profile web

If the current directory is the source directory, you can also use:

pnpm dsh web

After starting, dsh.app will appear on the macOS desktop; on Linux, an entry corresponding to dsh.desktop will appear in the application menu.

Typical Usage

Customize the Launcher

The plugin supports the following configuration options:

  • launcherName: The name of the desktop application or entry.
  • iconStyle: Built-in icon styles, available as whale or whale-dark.
  • iconFile: Path to a custom icon file.
  • url: The Web UI address to poll and open.
  • sourceDir: Source code directory.
  • startCommand: Custom startup command.
  • autoOpenBrowser: Whether to automatically open the browser.

These configurations are used to adjust the launcher name, icon, target address, startup command, and browser opening behavior.

Security and Uninstall

Security Tips

  • The plugin manages the files it generates; existing files or applications without a managed by dsh-desktop-launcher vX tag will be backed up as <path>.bak before being replaced.
  • Illegal configurations will result in an error.
  • Installation failures only log errors and will not crash the harness.
  • On first launch on macOS, you may encounter Gatekeeper and need to manually select to open.
  • After the plugin is loaded by dsh, it generates desktop files locally on the machine, and execution permissions depend on the current dsh process. Before installation, you should check the source code and MIT license and only install from trusted sources.

Uninstall

First, remove the plugin:

dsh plugin --profile web remove dsh-desktop-launcher

Then, delete the files generated by the plugin:

rm -rf ~/.dsh-launcher-desktop ~/Desktop/dsh.app

On Linux, if you used the application menu entry, you can additionally delete:

rm -f ~/.local/share/applications/dsh.desktop

Conclusion

The capabilities of dsh-desktop-launcher are focused: making the desktop entry for the dsh Web UI lightweight and clean. It is suitable for users who only want to launch via double-click on macOS/Linux and do not want to bundle terminal commands.

GitHub repository: https://github.com/LvienOeria/dsh-desktop-launcher