Evidence snapshot reviewed Sep 16, 2026GitHub checked Aug 21, 2026
Evidence-verifiedPlugin BundleSecurity & GovernanceWeb Profile

DSH Composition Doctor

A read-only DSH and Cordis composition diagnostic plugin for profile scans, snapshots, diffs, and isolated upgrade preflight.

At a glance

What it does

A read-only DSH and Cordis composition diagnostic plugin for profile scans, snapshots, diffs, and isolated upgrade preflight.

Use cases
Security & GovernanceConfigurationDebuggingPlugin Management
Works with
Deepseek HarnessDshCordisNodejs
Compatibility

Web Profile
>=0.1.0-rc.5 <0.2.0

Trust & status

Evidence-verified
Checked Sep 16, 2026, 2:11 PM UTC

Code-evidenced contributions

What it adds to DSH

Web UIComposition Doctor Settings page

Displays the latest local report, a conflict graph, and JSON/Markdown exports without repair or plugin-management actions.

Mechanism evidence
Terminal UIdsh-doctor CLI

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.
Data handling
  • 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.
External services
  • No network I/O is claimed by default.
Credentials
  • 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.

Visit the source project

Maintainer source

Project README

View at commit ab9091c
Maintainer-authored contentCaptured from README.md on Sep 16, 2026. The text and repository-relative media are fixed to commit ab9091c1438c with content hash 93005d474e88; provider-hosted badges may update independently. README commands are upstream documentation; the DSHub copy action above is the verified, version-pinned install.

dsh-composition-doctor

npm version CI

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
Verify
dsh plugin --profile web list

Compatibility 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

Provenance

The npm package's repository metadata does not match this source; use the pinned Git bundle for source-backed installation.

Evidence
Analysis Boundary

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

AI reviewed

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 UTCGitHub facts last checked Sep 16, 2026, 2:12 PM UTC

No material source change has been recorded since this evidence baseline.

Next step

Follow the Plugin installation workflow

Subscribe to material changes for DSH Composition Doctor