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.
Install
dsh plugin --profile web add file:/path/to/dsh-doctor/pluginREADME '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
- Repo: moonquake2004/dsh-doctor#plugin
- Category: Development & Runtime
- Stars: 0
- Version: GitHub main (README-documented; verified against DSH 0.1.5-rc.1 — not published to npm)
- Last push: 2026-09-16
- First seen: 2026-08-14
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.