moonquake2004/dsh-doctor#plugin

Offline diagnostic for DSH: 19 checks across env, profile, and session state, with a settings "Doctor" panel and a read-only JSON API.

An offline diagnostic for DeepSeek Harness, meant to be run before boot or before installing plugins. DSH's plugin tree is fragile by install — a dangling reference, a broken file: link, a duplicate entry id or a corrupted session log can brick a profile at boot or stall the web server, and --dump-config still passes because it never mounts the loader. dsh-doctor ships 28 built-in checks across env, profile and session, mapped to 18 community failure reports and each verified with synthetic negative fixtures, plus a self-updating remote catalog of 5 declarative pattern checks.

Development & Runtime ★ 0 updated 2026-09-16
View on GitHub ↗

Install

dsh plugin --profile web add file:/path/to/dsh-doctor/plugin

README 'Also installable as a dsh plugin': installed from a checkout or a published path using the file: form above (substitute the real path to the plugin directory). The primary usage is the standalone one-file diagnostic: node dsh-doctor.mjs for everything, or node dsh-doctor.mjs --profile web for profile checks only. Zero npm dependencies and no build step.

Compatibility

Runs anywhere node exists — zero npm dependencies, one file. zstd is needed only for .zstd session logs (check E1 tests for it). Verified against DSH 0.1.5-rc.1 with session format v3, locating dsh-session across npx / global / profile layouts and reading legacy v0 events through the installed dsh-session-format-* migration chain.

Details

Recent updates

README ties the tool to dsh discussion #1496 (Advisory: plugin-install path needs guardrails) and presents dsh-doctor as the offline check that advisory calls for; --update runs pnpm install in the profile hosting the plugin (override with DSH_DOCTOR_UPDATE_CMD) and then asks you to restart dsh web.

FAQ

How do I install dsh-doctor as a dsh plugin?
Per the README: dsh plugin --profile web add file:/path/to/dsh-doctor/plugin — pointing at the plugin directory from a checkout or a published path.
Can I run dsh-doctor without installing it as a plugin?
Yes — it is a single zero-dependency file: run node dsh-doctor.mjs for all checks, or node dsh-doctor.mjs --profile web for profile checks only.
Why run dsh-doctor if --dump-config already passes?
Because --dump-config never mounts the loader, so it passes on broken setups. dsh-doctor checks the env, profile and session layers where dangling references, duplicate entry ids and corrupted session logs actually break boot.

More plugins in Development & Runtime

Browse more in Development & Runtime

Guides for Development & Runtime plugins