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.

Startup Check — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-startup-check

Startup Check

Pre-flight check for a DeepSeek Harness profile's plugin tree: static checks (syntax, package structure, patch references, config-tree assembly) plus optional real-boot smoke (isolated `dsh web` instance) and page-side smoke (headless Edge over CDP), with instance-shutdown confirmation and stray-ins

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

npx -y @deepseek-ai/dsh plugin --profile web add dsh-startup-check@1.0.0
READMECompatibilityVersions

Description

Pre-flight check for a DeepSeek Harness profile's plugin tree: static checks (syntax, package structure, patch references, config-tree assembly) plus optional real-boot smoke (isolated `dsh web` instance) and page-side smoke (headless Edge over CDP), with instance-shutdown confirmation and stray-instance audit. Provides the model-facing `plugin_check` tool and bundles the `plugin-fault-diagnosis` skill.

Compatibility and provenance

Startup Check is published as dsh-startup-check and currently resolves to version 1.0.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
9/18/2026

Versions

1.0.0stable
9/18/2026
0.4.1stable
9/18/2026
0.4.0stable
9/17/2026

Related plugins

Loading related plugins…

Latest
1.0.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
148.4 kB
Files
16
Surface
any
License
MIT
Source
npm
GitHub
★ 0
Weekly downloads
0
Last push
9/18/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-baseSubagent Codex@deepseek-ai/dsh-subagent-codexOne-shot Codex subagent provider over the official app-server protocol

README

dsh-startup-check — catch a broken plugin before the restart

dsh-startup-check

Catch a broken plugin before the restart.

One tool — plugin_check — for the moment between "I installed a plugin" and "the harness won't open".

简体中文 · English


The problem

Every DSH plugin install is a leap of faith:

install a plugin  →  restart  →  find out the hard way

When the leap fails you are left with a harness that will not open, no page to ask, and a plugin tree you have to bisect by hand. By then the agent that could have read the code is gone.

plugin_check moves that discovery in front of the restart: the model inspects the tree — and, if you want, boots a real isolated instance to prove it comes up — while it can still fix what it finds.

Without the check: install, restart, harness fails to open. With the check: static checks pass, an isolated instance boots, exits, and only then are you told it is safe to restart.

What a failure looks like

Broken syntax in one plugin, caught before any restart, with the file named:

// plugin_check { "target": "dsh-oauth" }
{
  "ok": false,
  "checks": [
    { "name": "语法检查", "ok": false,
      "detail": "dsh-oauth/lib/index.js: Unexpected token '}' (node --check exit 1)" },
    { "name": "package.json 结构", "ok": true, "detail": "1 个插件结构一致" },
    { "name": "配置树组装", "ok": true, "detail": "配置树组装成功 (162 行)" }
  ]
}

The model reads that, fixes the file, re-runs the check, and only then do you restart. When the verdict is a real failure, the bundled plugin-fault-diagnosis skill takes over: read the verdict → locate the file → classify the error → fix, disable, or roll back.

What it checks

#CheckCatches
1Syntaxa plugin lib/*.js that fails node --check (typos, TypeScript/JSX in a plain-JS plugin)
2Package structuremissing main target, dsh.client declared without an exports["./client"] entry, wrong name prefix
3Patch referencescordis.patch.yml pointing at a plugin directory that no longer exists
4Config-tree assemblydsh --profile <p> --dump-config failing — the loader cannot compose the tree at all
5Real-boot smoke live: truethe isolated instance never prints its dsh web: <url>
6Page-side smoke page: truethe page throws, logs errors, or renders nothing — client-side failures the host never sees
7Instance shutdown (with live)the isolated instance did not actually exit, verified against the process table
8Stray-instance audit sweep: trueleftover smoke instances, plus a report of live hosts — report only unless you ask

🛡️ Read-only by design

It never restarts or touches the harness you are using. Smoke instances run on --port 0 with --no-open and a hard timeout; cleanup kills only isolated smoke instances, by exact PID — a resident host is never killed.

Install

dsh plugin --profile web add dsh-startup-check

Then restart the harness — installing a plugin changes dsh.profile.bundles, which is read at boot. That is the last leap of faith you take.

The npm package is published by GitHub Actions with a signed provenance attestation, so anyone who installs it can verify that this tarball was built from this repository at a particular commit, rather than uploaded by hand from someone's machine:

npm view dsh-startup-check dist.attestations
plugin_check                          # static checks (fast)
plugin_check { live: true }           # + boot an isolated instance        (~12s)
plugin_check { page: true }           # + headless-browser page check      (~30–45s, implies live)
plugin_check { sweep: true }          # + audit live DSH processes         (~1–2s)
plugin_check { live: true, killStray: true }   # and clean up this run's leftovers

Reading the verdict

  • ok: true means the checks that ran passed. A static-only run says nothing about runtime behaviour; only live proves the tree boots.
  • "Not measured" is not "failed." No browser, unreadable process table — the affected check says why and is treated as untested (tested: false) instead of being blamed on your plugins.
  • Checks 1–3 walk ~/.dsh/profiles/web/plugins/**, the @local layout. Plugins installed from npm into the profile's node_modules are covered by checks 4–8 instead.
  • The profile is currently fixed to web; other profiles are open work.

Requirements

HarnessDeepSeek Harness with a web profile
OSWindows — the instance audit uses PowerShell/WMI, the page half drives Edge/Chrome over CDP
Node≥ 22 (the harness's own engine)
BrowserEdge or Chrome, only if you want the page-side check

Development

git clone https://github.com/cningan/dsh-startup-check.git
cd dsh-startup-check
npm test

npm test runs node --check over every lib/ file and then test/tool-body-selftest.mjs, which drives apply() and the tool's execute() in a fresh Node process against a stubbed context. That is the layer neither node --check nor a boot smoke can see: a running harness keeps serving the code it booted with, so a broken tool body stays green until the next restart.

Full design, per-object lifecycle and known limitations: docs/architecture.md. Contributions welcome — see CONTRIBUTING.md and CHANGELOG.md.

MIT © cningan · built for DeepSeek Harness