DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-goal-auto

F

dsh-goal-auto

Manifest valid

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.

UI (client)hasBundlePatch

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.

Comments

Loading…

From the same category

open-design

by nexu-io

🎨 Best DeepSeek Harness Design Plugin. The open-source Claude Design alternative. 🖥️ Local-first desktop app. 🖼️ Your coding agent becomes the design engine: prototypes, landing pages, dashboards,

Development & InfrastructureTerminal & ClientsUI & ExperienceManifest valid

★ 98.6k

Apache-2.0

TypeScript

Sep 29, 2026

Index only — not installable

by Molunerfinn

:rocket: The Ultimate Image Uploader for Efficient Creators. Supports Obsidian, Typora, VS Code etc. and 60+ image hosting services (S3, GitHub, Cloudflare R2, Imgur, Aliyun OSS...). Paste, upload, d

Terminal & ClientsVision & Multimodal

★ 27.3k

MIT

TypeScript

Sep 24, 2026

Index only — not installable

by zhu1090093659

DeepSeek Harness (DSH) Web Plugin Aggregation Ecosystem · Everything is a plugin, distributed via the Creative Workshop

Tools & CapabilitiesTerminal & ClientsDevelopment & InfrastructureModels & ProvidersUI & ExperienceManifest valid

★ 8.1k

Apache-2.0

TypeScript

Sep 29, 2026

dsh plugin --profile web add dsh-web

by YaoApp

✨ All your agents and workspaces in one place, on every device you own. Track tasks on a board, accessible from desktop, mobile, browser, or API. Self-hosted.

Terminal & Clients

★ 8k

Go

Sep 28, 2026

Index only — not installable

by omdsh-dev

开放的侧边栏底座,支持三方拓展注册新侧边栏页面。内置文件渲染编辑/终端/侧边对话/Git/子代理页面 | Open sidebar foundation, supports third-party extensions to register new sidebar pages. Built-in file rendering/editing, terminal, side chat, Git,

Terminal & ClientsUI & ExperienceWorkflow & AutomationManifest valid

★ 3.9k

↓ 49.8k/wk

MIT

TypeScript

Sep 28, 2026

dsh plugin --profile web add dsh-better-sidebar

by ccch1mneyyy

DSH 官方公众号收录的 TUI 补位插件:Claude Code 风,鲸鱼顶栏/实时状态/流式思考/双击 Esc 回滚/上下文进度+TPS。npm 一键装。 DSH official WeChat featured TUI plugin — Claude Code style: whale bar, live status, streaming thoughts, double-Esc rol

Terminal & ClientsUI & ExperienceManifest valid

★ 3.8k

↓ 10.1k/wk

MIT

TypeScript

Sep 29, 2026

dsh plugin --profile terminal add @deepseek-harness-tui/dsh-tui