Bundle
dsh-self-restart
Any DeepSeek Harness session can request a Desktop restart, then the same persisted session is resumed and followup'd with a self-contained mission.
- Source
- NecromanAlbert
- License
- MIT
- Updated
- Updated 6 days ago
Readme
<div align="center">
# dsh-self-restart
**Any DeepSeek Harness session can restart Desktop and come back with its own mission.**
[简体中文](README.zh.md) · [MIT](LICENSE)
[](LICENSE)
[](https://deepseek-harness.github.io/deepseek-harness/develop/basic/publish.html)
[](https://github.com/topics/dsh-plugin)
[](https://nodejs.org/)
</div>
> Community plugin for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness). Not an official DeepSeek AI product.
Host-only. Writes a handoff for the **calling** session, requests the official Desktop restart, then `agents.resume`s that persisted identity if it is not live yet and followups it. GUI does not have to open the tab first.
## Install
```sh
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
```json
{
"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:
1. Reads `$DSH_HOME/self-restart/handoff.json` (max age 30 minutes).
2. Calls `agents.resume({ resumeSessionId })` if that session is not live.
3. `followup`s 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](https://github.com/shengyvself/dsh-autoresume) (one configured `targetSessionId`).
- Not [edusrez/dsh-smart-restart](https://github.com/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
```sh
node --test
```
Host: `lib/index.js`. Shared: `lib/handoff.js`, `lib/paths.js`, `lib/followup.js`. No Client half.
## License
MIT.
Install
dsh plugin --profile web add github:NecromanAlbert/dsh-self-restart
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-self-restart from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.