DSH Plugins Marketplace

DSH Plugins

Plugins

/

Development & Infrastructure

/

dsh-tray-restart

d

dsh-tray-restart

Identified

Restart control for the DeepSeek Harness desktop app on Windows. A session header button or a tray icon stops the app and its host process, waits for both to exit, clears a stale profile lock, and rel

dsh-tray-restart

Restart the DeepSeek Harness desktop app — the Electron shell and the Host process it runs — without quitting by hand.

A restart button in the session header, plus a Windows tray icon with the same action. Other plugins, skins, and settings are reloaded on the way up.

Windows only. The plugin lives on WinForms and taskkill; on any other platform it does nothing and logs why.

What you get

  • Header button — a small restart icon in the top-right utilities row of every session.
  • Tray icon — right-click for Restart DSH (app + host) / Open DeepSeek Harness / Quit tray icon. Left-click opens the app.
  • One action — both paths kill the whole process tree (taskkill /T /F), wait for it to exit, clear a stale profile lock if the previous run left one, and start the app again.

Requirements

  • DeepSeek Harness desktop app, Windows 10 or 11.
  • Nothing else. No build step, no dependencies.

Install

# from npm — prebuilt, no build step
dsh plugin add dsh-tray-restart

# or straight from this repository
dsh plugin add https://github.com/Joshua1ya/dsh-tray-restart

Then quit the app completely and reopen it once — client bundles and the host rows are collected at startup, so a page refresh is not enough.

After that first restart the plugin maintains itself: the header button is there, and the tray icon appears on every launch.

Uninstall

dsh plugin remove dsh-tray-restart

The tray icon disappears with the next app restart (or quit it from its own menu).

How it works

PieceWhat it does
index.js (Host)Registers GET /dsh-tray-restart/status and POST /dsh-tray-restart/restart on the web server, and starts the tray helper.
client.js (Web UI)Renders the header button into conversation.session.header.utilities.
assets/tray.ps1WinForms NotifyIcon, polls the shell process so it disappears when the app does.
assets/launch-*.ps1Start the tray or the restart helper through WMI (Win32_Process.Create) — see below.
assets/restart.ps1Kill the shell (and its process tree), wait, clear ~/.dsh/profiles/<profile>/lock, relaunch the executable.

Two implementation details worth knowing if you fork this:

  1. The helper must be started outside the app's process tree. The Host runs inside a Job object that restricts USER handles, so a child process created with a normal spawn/Start-Process builds its NotifyIcon without error but never appears in the notification area. Processes created through Win32_Process.Create are parented to WmiPrvSE instead and register fine. The restart helper goes through the same path for the same reason — and it must, because it kills the app's process tree and would otherwise kill itself first.
  2. ctx.get('webServer') is undefined during a plugin's apply. The web server starts after plugin rows load. Route registration therefore waits with ctx.inject(['webServer'], …); the tray start is independent and must not return early.

Restarting from here is equivalent to quitting the app from its menu and launching it again — nothing is kept in memory across the restart.

License

MIT

Comments

Loading…

Similar plugins

dsh-restart-button

by 13520rygvv

DSH desktop plugin: a one-click restart button in Settings, plus a customizable shortcut.

Tools & CapabilitiesUI & ExperienceManifest valid

★ 1

JavaScript

Oct 27, 2026

dsh plugin --profile web add @local/dsh-restart-button

by IHS470

DeepSeek Harness restart button in the DSH desktop window title bar

Development & InfrastructureManifest valid

★ 3

↓ 125/wk

MIT

JavaScript

Oct 3, 2026

dsh plugin --profile web add dsh-plugin-restart

by Eason-22

DeepSeek Harness plugin: restart without losing work, with an idle-aware graceful restart and automatic session resume after the host comes back. Built-in restart supports the Windows desktop app only

Sessions & MessagesManifest valid

★ 0

MIT

JavaScript

Oct 28, 2026

dsh plugin --profile web add dsh-autorestart

by QIRSHENG

Adds a Restart item to the DeepSeek Harness desktop system-tray menu and re-applies the patch after every app update.

UI & ExperienceManifest valid

★ 0

MIT

JavaScript

Oct 23, 2026

dsh plugin --profile web add dsh-tray-restart

by wangbofan

DSH desktop (Windows) titlebar menu: a Restart button that closes and relaunches the whole app - shell + Host. Plugin-only, no app.asar patching.

Manifest valid

★ 0

MIT

JavaScript

Oct 14, 2026

dsh plugin --profile web add dsh-restart-button

by w17her

Reload, restart, or shut down the DeepSeek Harness desktop app from inside its window.

Manifest valid

★ 0

MIT

JavaScript

Oct 27, 2026

dsh plugin --profile web add @local/dsh-power-control