Workflow & Automation

dsh-launcher

lvienoeria/dsh-launcher · ★ 2

lvienoeria

A lightweight DeepSeek Harness plugin that installs a terminal command — type dsh-go to start the Web UI and open the browser. Everything is a plugin.

License
MIT
Added
2026-08-23
Maintenance
active
Install kind
github
npm
dsh-launcher

No manifest check is available; listing does not imply compatibility or security review.

安装

dsh plugin --profile web add github:lvienoeria/dsh-launcher

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

For install and environment setup, plus plugin development tutorials, see DSH community docs ↗

README

Source README · body: en · Read Chinese README

Table of contents
  1. What it does
  2. Install
  3. Customize
  4. How the start command is resolved
  5. How it stays safe
  6. Uninstall
  7. Notes
  8. License

English | 中文

A tiny DeepSeek Harness plugin that installs a terminal command to start the harness with one word: type dsh-go, and it starts the web UI and opens your browser. Everything is a plugin — this whole thing is just a bundle.

Lightweight: zero dependencies, ~9 KB package. It only touches the terminal side — no desktop icons, no bundled apps. The double-click desktop launcher lives in the separate dsh-desktop-launcher package, so you install exactly what you want.

What it does

Loaded as a bundle, the plugin's apply runs on every harness boot and converges these artifacts (idempotent: a fast no-op when the config is unchanged):

Artifact Where What
Launcher script ~/.dsh-launcher/dsh-start.command starts dsh, polls the web UI URL, opens the browser when ready
Terminal command ~/.local/bin/dsh-go dsh-go in a terminal does exactly that

Install

Prerequisites: the dsh CLI and pnpm ≥ 9 (the harness pins pnpm 11 — corepack enable if yours is older).

From npm:

dsh plugin --profile web add dsh-launcher

From GitHub — plain JS, no build step, so nothing to allowlist:

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

Local path installs work too (zero dependencies):

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

Then start dsh once — the plugin generates the launcher:

dsh --profile web      # installed CLI
# or
pnpm dsh web           # source checkout (auto-detected)

Done. Type dsh-go in a terminal to start the harness; closing that terminal window stops it (Ctrl+C works too).

Customize

Edit your profile's patch layer (~/.dsh/profiles/<profile>/cordis.patch.yml) — later layers win, and a patch replaces a row's whole config:

- id: dsh-launcher
  config:
    command: dsh-go                      # terminal command name (default dsh-go)
    url: http://127.0.0.1:3080           # web UI URL to poll and open
    sourceDir: /path/to/deepseek-harness # run `pnpm dsh web` from a checkout
    startCommand: ''                     # fully custom start command (single line)
    autoOpenBrowser: true
    ensurePath: true                     # auto-append binDir to shell rc PATH

How the start command is resolved

  1. startCommand (explicit)
  2. sourceDir → cd <dir> && pnpm dsh web
  3. cwd is a source checkout whose package.json has a dsh script
  4. an installed dsh CLI on PATH (outside our own binDir — recursion guard)
  5. fallback dsh --profile web (with a warning)

How it stays safe

  • Every generated file carries a # managed by dsh-launcher vX marker. An existing file without the marker is backed up to <path>.bak before replacement (never silently clobbered).
  • Unchanged config → nothing is rewritten (state hash in ~/.dsh-launcher/state.json).
  • Bad config (wrong types, non-http(s) url, multi-line startCommand) fails loudly with a clear message.
  • Install failures are logged prominently but never take the harness down — dsh still boots.

Uninstall

dsh plugin --profile web remove dsh-launcher
rm -rf ~/.dsh-launcher ~/.local/bin/dsh

Notes

  • The terminal command defaults to dsh-go, not dsh — dsh is the harness CLI name, so the launcher never shadows it. Rename it any time via the command config.
  • Want a desktop double-click app (with the whale icon) instead of / in addition to the terminal command? Install dsh-desktop-launcher.
  • Windows is not supported (nothing is installed; a warning is logged).

License

MIT — see LICENSE.