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.

Run Watchdog — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
R

@mskyurina/dsh-run-watchdog

Run Watchdog

Purpose-aware monitoring for DeepSeek Harness long-running commands

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

npx -y @deepseek-ai/dsh plugin --profile web add github:Hirate99/dsh-run-watchdog#184aec0aedc141b153dd00f37d797faa568d17e9
READMECompatibilityVersions

Compatibility and provenance

Run Watchdog is published as @mskyurina/dsh-run-watchdog and currently resolves to version 0.1.3. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
10/16/2026

Versions

0.1.3stable
10/16/2026

Related plugins

Loading related plugins…

Latest
0.1.3
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
ISC
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
10/16/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 developer-tools.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Sdk Minimal@deepseek-ai/dsh-sdk-minimalThe standalone minimal SDK profile bundle: JSON-RPC, one DeepSeek adapter, persistent shell, and JSONL sessionsSdk App@deepseek-ai/dsh-sdk-appThe dsh SDK profile bundle: stdio JSON-RPC serving and process lifecycle over dsh-baseExperimental Inspector@deepseek-ai/dsh-experimental-inspectorExperimental cross-realm CDP hub for Host debugging and Client Runtime inspection

README

dsh-run-watchdog

English | 简体中文

Monitor long-running DeepSeek Harness jobs using their purpose and live output. Alert the main agent when training, builds, tests, or data processing need attention.

Supports DeepSeek and Jev. Version 0.1.3.

Demo

Training alert in DSH Desktop

The watchdog catches NaN during training and alerts the agent.

Installation

Desktop: install from npm

Open Plugins → Add plugin, enter the package name, then select Install → Enable now:

@mskyurina/dsh-run-watchdog

Use @mskyurina/dsh-run-watchdog@<version> to pin a version. Configure it under Plugins → dsh-run-watchdog.

Alternatively, install the v0.1.3 release package, or build a package below. The repository no longer tracks dist; install a release package.

Build from source

Requires Node.js ≥ 22.19 and DSH native bash / pwsh tools with background job support.

npm ci
npm run check
npm pack

Install the generated mskyurina-dsh-run-watchdog-0.1.3.tgz through Desktop's plugin page. Alternatively, fully quit Desktop and use its bundled CLI on Windows:

& "$env:LOCALAPPDATA/Programs/DeepSeek Harness/resources/runtime/cli/bin/dsh.cmd" plugin --profile desktop add "<absolute-package-path>/mskyurina-dsh-run-watchdog-0.1.3.tgz"

Reopen Desktop and configure the plugin.

Development dependencies are pinned to DSH 0.2.1-alpha.3 and Cordis 4.0.5-alpha.2. Desktop 0.2.0-rc.2's bundled runtime was also tested previously. Rerun integration tests when upgrading the host.

Configuration

  • DeepSeek reuses your signed-in DSH account by default, or the API key in DSH model settings when signed out. Select the monitoring model on the plugin page. Custom endpoints or credential references continue to use API keys.
  • Jev shows a dedicated API key field. The key is saved in DSH's credential store.
  • Shadow mode is the default: task decisions are available through watch_status, without task alerts or stops. Monitoring failures still notify the agent. Set recordPath to save decisions.
  • Enforce mode delivers alerts to the original conversation and wakes an idle agent.

Save changes before selecting Test connection. Changes apply to newly attached monitors.

SettingDefaultDescription
firstCheckMs10000Delay before the first check
judgeTimeoutMs8000Model request timeout
stopThreshold0.8Jev probability threshold for automatic stopping
allowAutoStopfalseAllow individual jobs to request automatic stopping
recordPathUnsetLocal JSONL decision log

Requests include the task purpose, command, and up to 16000 characters of recent output. Local records contain the same evidence. Credentials are resolved from DSH first, then from the environment variable named by apiKeyEnv.

How it works

The plugin supplies instructions to the main agent. The agent starts a native background job and attaches watch_job; users do not need to name tools or provide tool parameters.

Attachment returns immediately. Jobs are monitored concurrently with independent log cursors. Monitoring does not consume the agent's output, start commands, or restart jobs. The agent can read further output with job_output.

Each check selects an action (continue, notify, recommend stopping, or uncertain) and a separate next check interval (10, 30, 60, 120, 300, or 600 seconds). Alerts do not end monitoring. The judge continues to choose the interval after an alert. Repeated attention decisions are suppressed until a successful continue decision re-arms notifications.

  • Jev can stop only when it selects stop, its stop score reaches stopThreshold, and both deployment settings and the job authorize stopping. Missing output or unreadable sources prevent automatic stopping. This score is not a calibrated accuracy estimate.
  • DeepSeek stop recommendations only notify.
  • Stop and notify probabilities are no longer added together; continue is a single action.

Output redirection is supported. Pass up to eight absolute file paths in log_paths when attaching. The monitor reads these files incrementally alongside job output and reports missing files, read failures, truncation and rotation. Quiet output is not a task failure; missing evidence is not proof of health.

watch_job returns output sources, mode, health and first check time. watch_status(jobId) exposes the latest judgment and input evidence, consecutive failures and next check time. Two consecutive judge failures notify the agent; recovery sends another notification. Unexpected observation-loop failures are also reported. Jev supplies choices and scores without an explanation; DeepSeek can supply a short explanation. The main agent should explain monitoring startup, task problems and lost visibility to the user.

Normal completion uses native DSH notifications. An alert cancels job_output(wait=true) waits in the same session, including waits started while an alert is pending. This does not cancel the agent or stop jobs. Other blocking tools are not interrupted.

Monitoring ends when the job finishes or the plugin unloads. Unloading does not stop jobs; restarting the plugin does not restore monitors. The last 100 ended monitors remain queryable in memory. Failed model requests retry with bounded backoff.

Development

npm run check

Runs the build, type checks, and offline regression tests without API keys. Coverage includes decision thresholds, chunked and truncated logs, immutable state, scheduling boundaries, continued checks after alerts, monitoring failure and recovery, log rotation, concurrent jobs, wait interruption races, DSH tools, and real child processes.

Online connection tests call the selected provider:

npm run smoke -- jev
npm run smoke -- deepseek

Set WATCHDOG_MODEL to override the test model. Offline tests do not establish model quality across real tasks, and the demo does not guarantee consistent autonomous tool selection.

FileResponsibility
src/output.tsPure log accumulation and evidence statistics
src/decision.tsModel input, action selection, and comparison rules
src/monitor-state.tsPure check snapshots and scheduling
src/monitor.tsLog reads, model requests, and the monitoring loop
src/jobs.tsDSH job access and independent cursors
src/interrupt-wait.tsRelease output waits when alerts arrive
src/index.tsTool registration, alert delivery, and Cordis lifecycle
src/providers.tsDeepSeek / Jev request adapters
src/settings.ts, src/client.tsxCredentials, connection tests, and settings UI

docs/ and .integration/ contain local verification artifacts and are excluded from version control. README demo assets live in assets/.

Reusable online evaluations live in test/evaluation/ and require explicitly configured judge credentials. Temporary host probes, diagnostic scripts and raw evaluation records stay in the ignored .integration/ directory.

CI and releases

Pushes to main and pull requests run the full checks and pack on Windows and Linux. The prepack hook builds dist for npm pack and npm publish. Git keeps source; the npm package contains the runtime artifacts and needs no install-time build.

For a new release, run npm version patch --no-git-tag-version (or specify a version), commit, and push main. After both platforms pass, the workflow creates v<version>, publishes to npm, and creates a GitHub Release. Later commits with the same version do not publish again. Rerun the original workflow to resume missing publication steps; existing tags are never moved.

Like agent-workspace, publishing uses npm Trusted Publishing. Authorize GitHub owner Hirate99, repository dsh-run-watchdog, workflow ci.yml, and environment npm in this package's npm settings, with direct publishing enabled. Trust is package-specific; another package's authorization does not transfer. No npm token is required. After the initial publication, configure this trust on npm to enable subsequent workflow releases.