@bright-y/dsh-restart

August 21, 2026 · View on GitHub

English | 中文

One-click restart button for DeepSeek Harness: a circular-arrow button in the conversation header's right-side utilities area (next to "Session log") that relaunches DSH Desktop gracefully after confirmation. No more closing and reopening the app by hand after installing plugins.

What it does

  • A bordered capsule button at the top-right of the session header (matching the header's own controls and the app theme).
  • Clicking it opens a confirm dialog (restart is disruptive — running sessions, tasks and unsaved state may be interrupted).
  • Confirming POSTs to the loopback-only /api/dsh-restart/restart route; the host relaunches DSH Desktop via desktopActions.requestRestart (Electron app.relaunch) a beat after the acknowledgement.
  • On a plain dsh web boot (no desktop shell) the route answers 501 and the button explains that one-click restart requires DSH Desktop.

Install

After installing, restart dsh web and the restart button appears in the session header.

From this repository (git)

dsh plugin --profile web add git+https://github.com/bright-y/dsh-restart.git#main

From the release package (.tgz)

Download dsh-restart-0.1.0.tgz from the Releases page, then:

dsh plugin --profile web add /path/to/dsh-restart-0.1.0.tgz

From the repository (development)

git clone https://github.com/bright-y/dsh-restart.git
cd dsh-restart
pnpm install
pnpm run build
dsh plugin --profile web add link:$(pwd)

Security model

  • The host API is loopback-only: requests from non-local addresses, foreign Host headers and cross-site origins are rejected with 403.
  • The restart route only exists in a DSH Desktop shell; on other runtimes it answers 501 without touching the host.

Known limitations

  • One-click restart requires DSH Desktop (the Electron shell). On plain dsh web the button reports that the runtime is unsupported.
  • Restart interrupts the current process; any running session/task is suspended and resumes after relaunch.

License

Apache-2.0.