DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Goal Auto — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
G

@huanlin/dsh-goal-auto

Goal Auto

Per-session auto-resume toggle for long-running goal sessions: mark a session, and after the harness restarts the agent is resumed automatically and its active goal keeps running.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:FuWenLianggit/dsh-goal-auto#77332403d8288ceb2822b3ff7b42f50b778cea08
READMECompatibilityVersions

Compatibility and provenance

Goal Auto is published as @huanlin/dsh-goal-auto and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
9/6/2026

Versions

0.1.0stable
9/6/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
9/7/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in agents-orchestration.

Headless@deepseek-ai/dsh-headlessThe dsh one-shot bundle: a direct core Agent/Session runner over dsh-base with no Host, HTTP, or browser layerExperimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI pluginsSubagent Codex@deepseek-ai/dsh-subagent-codexOne-shot Codex subagent provider over the official app-server protocolSubagent Claude Code@deepseek-ai/dsh-subagent-claude-codeOne-shot Claude Code subagent provider over the official Agent SDK

README

dsh-goal-auto

Per-session auto-resume toggle for long-running goal sessions in DeepSeek Harness (DSH).

What it does

  • Adds a 🔁 toggle to the session header action bar.
  • Marked sessions are resumed automatically after the harness restarts: the agent is reloaded, its agent preset is mounted, the goal is re-armed, and the goal-round-driver keeps driving rounds without any manual click.

Why resume is not enough (the three layers)

A plain agents.resume() after a restart leaves the session dead. Three things must happen before a goal session runs again:

LayerProblemFix
Model variablesempty options -> {{model}}/{{provider}} unset, prompt assembly crashespass explicit agentOptions.provider/model/maxTokens
Tool setresumed agent has no tools (preset not applied)mount the agent preset in the resume setup
Goal driverafter restart goal.activation resets to disarmedcall goals.resume() to re-arm; driver auto-injects next round

Adaptive preset

The preset is read from the session header (header.agentPreset) and mounted per session, falling back to the configured default when the header has none.

Install

dsh plugin --profile web add file://<this repo path>

Or, as used here: keep the plugin in <DSH_HOME>/plugins/dsh-goal-auto and add a file:/link: dependency in the profile's package.json + a junction under profiles/<name>/node_modules/@huanlin/dsh-goal-auto.

HTTP surface

  • GET /__goal-auto/state -> enabled map
  • POST /__goal-auto/toggle -> flip a session flag (+ start now if enabled)
  • POST /__goal-auto/resume-now -> force resume of one session (diagnostics)

State lives in <DSH_HOME>/goal-auto-state.json (per-instance; safe to edit by hand while the harness is stopped). Logs go to <DSH_HOME>/goal-auto.log.

Layout

  • src/index.js — cordis bundle (host): state, HTTP, boot auto-resume
  • src/client.js — client bundle: header 🔁 toggle
  • cordis.patch.yml — loader insert for the profile

Watchdog requirement (IMPORTANT)

The plugin resumes sessions when the harness starts. It does not keep the harness process alive. If dsh web crashes, hangs (TCP alive but HTTP dead), or is killed, nothing inside the process can restart it — you must run a process watchdog outside the harness.

Without a watchdog:

  • the service dies and nobody brings it back;
  • after a machine reboot nothing auto-starts;
  • goal sessions only resume on the next manual start.

A reference watchdog system is included in this repository under watchdog/. It is the same system used by the author:

watchdog/
  watchdog-instance.ps1   per-instance resident watchdog
                          health = TCP listening AND HTTP 200
                          sliding window catches hard hangs AND intermittent
                          "slow death" (5+ HTTP failures in last 10 probes)
                          boot grace 120s so fresh starts are never killed
  start-instance.ps1      auto-init + start one instance (seeds settings,
                          credentials, agent presets, plugin environment)
  control.ps1             unified control: start|stop|restart|status [instance]
  instances.txt           instance registry: name|home_dir|port

Design notes (all learned the hard way):

  • Watchdogs are per instance (one process per instances.txt row), all sharing one script. A single mutex per instance prevents duplicates.
  • Auto-start at logon via the Windows Startup folder (a small .vbs per instance calling watchdog-instance.ps1 -Name <instance>).
  • instances.txt and every .ps1 must stay pure ASCII — Windows PowerShell 5.1 mis-parses UTF-8 without BOM, and the harness rejects JSON files that carry a BOM.
  • Health probes use .NET HttpWebRequest, not curl.exe (curl in 5.1 intermittently returns 000 against a healthy instance).
  • Add a crash circuit breaker: if an instance dies N times within a short window, stop relaunching and alert — otherwise a plugin bug turns the watchdog into an infinite restart loop.

Configure instances.txt for your own homes/ports before use. The watchdog is generic; the paths under watchdog/ reference the author's layout only as an example.