dsh-self-restart
Any DSH session can request a Desktop restart, then the same persisted session is resumed and followup'd with its mission.
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 26, 2026
- Updated
- Aug 26, 2026
Introduction
dsh-self-restart
Any DeepSeek Harness session can restart Desktop and come back with its own mission.
Community plugin for DeepSeek Harness. Not an official DeepSeek AI product.
Host-only. Writes a handoff for the calling session, requests the official Desktop restart, then agents.resumes that persisted identity if it is not live yet and followups it. GUI does not have to open the tab first.
Install
dsh plugin --profile desktop add github:NecromanAlbert/dsh-self-restart
Restart Desktop after install. Any session on that profile then sees dsh_restart_session.
Agent tool
{
"mission": "Reload plugin copies, then verify the notes pad still opens.",
"reason": "reload-client"
}
| Argument | |
|---|---|
mission | Required. Self-contained. The next turn after boot only sees this text. |
reason | Optional. Stored on the handoff file. |
sessionId | Optional. Defaults to currentInitiator. Do not point this at another session unless you mean to. |
After boot the plugin:
- Reads
$DSH_HOME/self-restart/handoff.json(max age 30 minutes). - Calls
agents.resume({ resumeSessionId })if that session is not live. followups a plugin notice with the mission.- Clears the file so a later boot does not replay it.
One handoff file at a time. A second call before restart overwrites the first.
What this is not
- Not a
dsh webprocess killer / scheduled-task relaunch. - Not a sidebar / tray restart button.
- Not “ask the human to restart, then wait for them to reopen the tab”.
- Not a housekeeper identity fiber.
- Not shengyvself/dsh-autoresume (one configured
targetSessionId). - Not edusrez/dsh-smart-restart (systemd / web).
If the Host has no desktopActions.requestRestart, the tool still writes the handoff and tells you to restart Desktop yourself.
Develop
node --test
Host: lib/index.js. Shared: lib/handoff.js, lib/paths.js, lib/followup.js. No Client half.
License
MIT.