@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/restartroute; the host relaunches DSH Desktop viadesktopActions.requestRestart(Electronapp.relaunch) a beat after the acknowledgement. - On a plain
dsh webboot (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 webthe 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.