At a glance
What it does
A read-only DSH and Cordis composition diagnostic plugin for profile scans, snapshots, diffs, and isolated upgrade preflight.
Web Profile
>=0.1.0-rc.5 <0.2.0
Evidence-verified
Checked Sep 16, 2026, 2:11 PM UTC
Code-evidenced contributions
What it adds to DSH
Displays the latest local report, a conflict graph, and JSON/Markdown exports without repair or plugin-management actions.
Mechanism evidence ↗Scans selected profiles, creates redacted snapshots, compares reports, and rehearses upgrades in an isolated temporary profile.
Mechanism evidence ↗Before you choose it
Use the dsh-doctor CLI to inspect an explicitly selected DSH profile for duplicate Cordis rows, hook-order risks, UI ownership conflicts, bundle overrides, peer or platform mismatches, and profile drift. Its Settings page only displays and exports the latest local report.
Best for
DeepSeek Harness users maintaining Cordis plugins or preparing a DSH upgrade.
Common tasks
- Scan a selected profile and review evidence-backed composition warnings.
- Create redacted snapshots and diff plugin, hook, UI-claim, peer, and platform changes.
- Preflight a declared DSH upgrade in an isolated temporary profile.
Permissions and data
Designed for read-only diagnostics and isolated preflight by default.
Permissions- Reads an explicitly selected profile for diagnostics.
- Writes scan output only to the directory requested by the user.
- Can copy a report to a plugin report directory only when --publish or --report-dir is explicitly used.
- Snapshots are described as redacted and include lockfile hashes.
- The author states it does not read .env files, keys, tokens, environment values, session bodies, or workspace file contents.
- Avoid using profile directories, .env locations, or directories containing secrets for reports.
- No network I/O is claimed by default.
- No credentials are declared.
Limitations
- The supplied npm distribution has a repository/source mismatch; prefer the pinned Git bundle.
- Without a stable public DSH resolved-composition provider, findings may be static and do not establish final runtime composition.
- Preflight does not download, install, load, or run candidate lifecycle scripts; candidate peer/platform facts and runtime compatibility remain unverified.
What DSHub checked
- Pinned source commit, bundle structure, and Cordis patch were verified.
- The package declares Node.js >=20 and a preview DSH range of >=0.1.0-rc.5 <0.2.0.
What DSHub did not check
- Installation and runtime behavior were not executed from the supplied evidence.
- The claimed DSH/Cordis compatibility range was not independently runtime-tested in the supplied evidence.
- npm package provenance is not established because its repository metadata differs from this source.
Pinned install
Install DSH Composition Doctor
This plugin bundle does not have a DSH Plugin install action. Use its source documentation for the delivery method.
Maintainer source
Project README
dsh-composition-doctor
English | 中文
Composition and upgrade preflight doctor for DeepSeek Harness (dsh). It reads an explicitly selected profile and explains observable Cordis/plugin composition risks with concrete evidence. It never edits a real profile or silently changes permissions.
What the model gets
| Command | Purpose |
|---|---|
dsh-doctor scan |
Detect duplicate Cordis rows, hook-order risks, UI slot/route ownership conflicts, bundle overrides, peer/platform mismatches, and profile drift. |
dsh-doctor snapshot |
Create a redacted, comparable profile snapshot with lockfile hashes. |
dsh-doctor diff |
Summarize added/removed/upgraded plugins, rows, hooks, UI claims, peers, and platforms. |
dsh-doctor preflight |
Rehearse a target DSH upgrade in an isolated temporary profile. |
The Web Settings page is display/export only: it reads the latest local report, shows a conflict graph, and exports JSON/Markdown. It has no repair, install, or uninstall action.
Reports and evidence boundaries
scan --output <dir> writes only to the requested directory. To make the same report visible to the read-only Settings page, opt in explicitly: --publish copies it to the default plugin directory .dsh-composition-doctor/reports, while --report-dir <dir> publishes to a configured plugin directory. Use --format both so the Web route has report.json and Markdown remains exportable. Do not use a profile directory, .env location, or any directory containing keys, tokens, or other secrets as a report directory.
Reports declare evidenceMode: static means allow-listed root YAML/manifest metadata only; resolved requires an injected public runtime provider; mixed is reserved for an adapter that supplies both. Static findings and the bounded metadata coverage are not proof of the final runtime composition. This release has no stable public DSH runtime provider bundled.
preflight --candidate package@version inserts a validated exact reference into an isolated temporary package.json and includes that declared metadata in static analysis. It never downloads, installs, loads, or runs candidate lifecycle scripts; peer/platform facts inside an uninstalled candidate and runtime compatibility remain unverified. --allow-build is only a recorded future runner gate and still executes no third-party script.
Install
npm install -g dsh-composition-doctor
npx @deepseek-ai/dsh plugin --profile web add dsh-composition-doctor
Restart the Web UI (npx @deepseek-ai/dsh web) after changing a profile. The CLI can also run from a checkout with node dist/cli/main.js.
Example
dsh-doctor scan --profile C:\path\to\profile --format both --output .\reports\profile --publish
dsh-doctor scan --profile C:\path\to\profile --format both --output .\reports\archive --report-dir C:\safe\doctor-reports
dsh-doctor snapshot --profile C:\path\to\profile --output .\reports\before.json
dsh-doctor diff --before .\reports\before.json --after .\reports\after.json --format both
dsh-doctor preflight --profile C:\path\to\profile --target-dsh 0.1.0-rc.6
Each finding is info, warning, or error and includes evidence, explanation, and the smallest remediation. Missing runtime evidence is reported as a warning, never as a confirmed failure.
Safety and privacy
Default operations are read-only or isolated under the OS temporary directory. The plugin does not modify profiles, install/remove plugins, migrate configuration, escalate permissions, or perform network I/O by default. It never reads .env, keys, tokens, environment values, session bodies, or workspace file contents.
Support and limitations
Verified preview range: DSH >=0.1.0-rc.5 <0.2.0, Cordis >=4 <5, Node.js >=20; Windows is first-class and macOS/Linux are supported. DSH has not yet exposed a stable resolved-composition introspection API, so static findings are explicitly labelled when no public provider is available.
Development
pnpm test
pnpm typecheck
pnpm build
See README.zh.md, docs/compatibility.md, and docs/examples/scan-report.md. MIT licensed.
Operate deliberately
Install and manage
Prerequisites and target Profile
Target: Web Profile
Delivery: Dsh Bundle Git — lemonxiny55/dsh-composition-doctor#ab9091c1438cff58c85584f09a263c589b6833ce。
Verify, update, and remove
Show lifecycle commands
dsh plugin --profile web listCompatibility and access
Preview support declared for DSH, Cordis, Node 20+, and major OSes: >=0.1.0-rc.5 <0.2.0。
Review compatibility evidence ↗
Risk facts
The npm package's repository metadata does not match this source; use the pinned Git bundle for source-backed installation.
Evidence ↗Static findings are not proof of final runtime composition when no public runtime provider is available.
Evidence ↗Evidence and editorial reviewManifest, Bundle patch, distribution and freshness
Immutable evidence
Review status and source activity
Use this as a diagnostic aid, not as confirmation that a target composition will work at runtime.
AI reviewed Sep 16, 2026, 2:12 PM UTC。GitHub facts last checked Sep 16, 2026, 2:12 PM UTC。
No material source change has been recorded since this evidence baseline.