Back to home@NecromanAlbert

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.

简体中文 · MIT

License: MIT dsh.bundle topic: dsh-plugin Node.js 22+

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
missionRequired. Self-contained. The next turn after boot only sees this text.
reasonOptional. Stored on the handoff file.
sessionIdOptional. Defaults to currentInitiator. Do not point this at another session unless you mean to.

After boot the plugin:

  1. Reads $DSH_HOME/self-restart/handoff.json (max age 30 minutes).
  2. Calls agents.resume({ resumeSessionId }) if that session is not live.
  3. followups a plugin notice with the mission.
  4. 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 web process 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.