AI Agent Hub
Back to plugins
⚙️

dsh-keep-going

Workflow Updated 2026.09.13

Run the following command in DeepSeek Harness:

dsh plugin install Carrick-K7/dsh-keep-going

Paste the following prompt into your AI chat to install this plugin:

Install by running dsh plugin install Carrick-K7/dsh-keep-going in your DeepSeek Harness terminal; the source is available at https://github.com/Carrick-K7/dsh-keep-going

About this plugin

You ask DSH to restart after installing a plugin. The process comes back, but the three or four conversations that were running in parallel are all frozen mid-turn. History is intact; the work is simply stopped, and every one of them needs a manual continue before it moves again. dsh-keep-going is built to close that gap. On each process restart it scans persisted sessions once, restores eligible unfinished tasks and active goals, and leaves paused, completed, blocked, archived, or awaiting-answer states exactly where they are. While DSH runs normally the plugin is completely dormant: no periodic scans, no outgoing messages, no locks, no goal mutations.

Beyond recovery it ships a safe-restart workflow: drain running work, synchronously snapshot newly received messages, then request a clean DSH exit. A task gets at most three automatic attempts; after that it is marked blocked with the provider's own error message rather than retried on a fixed timer. It recognises ask_user_question calls and approval records, will not synthesise your reply, and will not replay a stale one-time grant. When a tool already fired an external side-effect just before the crash, the continuation tells the assistant to verify completed operations instead of blindly repeating them, because exactly-once delivery is a property of the tool itself, not a promise this plugin makes.

This plugin is most useful if you run several concurrent DSH conversations or goals, especially through a chat platform like Feishu, and manage the DSH process with a service manager such as systemd. It does not replace the service manager; you still wire up Restart=always or a forced restart on exit code 75. What it guarantees is that the context lost in that restart window is picked back up on the next boot, scoped strictly to the conversation it belongs to, without you opening a browser to say go one at a time.

Use Cases

  • DSH restarts after a plugin install and several parallel conversations freeze, each needing a manual continue prompt
  • After a crash or restart, unfinished tasks and active goals resume automatically on next boot without a browser
  • Quickly inspect which tasks recovered, which still await a user reply, and which are marked blocked after multiple restarts

Best For

  • Users running multiple concurrent DSH conversations or goals
  • Operations staff managing the DSH process with service managers such as systemd
  • Teams integrating DSH through chat platforms like Feishu that rely on session-to-thread routing