One-click health check for DeepSeek Harness: 0-100 score, plain-language issue list, and safe reversible fixes via the profile's cordis.patch.yml.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-perfscope
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:Evhye38496/dsh-perfscope
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
⚡ dsh-perfscope
PerfScope for DeepSeek Harness — one-click health check & score for your installed plugins.
Scan → Score → Fix → Share, all local. Is your Harness healthy? Find out in one click.
dsh plugin --profile web add dsh-perfscope
(listing in the dsh-market registry pending — see Project plan)
Why
DeepSeek Harness is young, and its plugin ecosystem is exploding — thousands of plugins, skins, tools, and presets appear weekly. After you install a few dozen, questions show up fast:
- Which plugin is actually broken or silently failing?
- Which ones slow down every session or eat tokens?
- Am I running duplicates, conflicts, or stale plugins I forgot about?
- Is my setup trustworthy — or a pile of random tags?
The ecosystem has no "health check" yet. dsh-perfscope fills that gap: one click gives you a 0–100 health score, a plain-language issue list, and safe one-click fixes you can undo anytime.
This is the same methodology that powers our VS Code tool, PerfScope — adapted to the agent-harness world, where every run is traceable and runtime data is richer than any IDE.
What it checks
Health score = three dimensions, weighted configurable (default 0.6 / 0.25 / 0.15):
| Dimension | Question | Examples of signals |
|---|---|---|
| Hard health | Can it actually be used? | mount failures, unmet dependencies, core version conflicts, invalid config, incompatibility with your dsh RC |
| Runtime health | Is it fast and stable? | tool error/timeout rates, average latency vs. baseline, token / context share |
| Governance health | Is it tidy and trustworthy? | overlapping capabilities, stale plugins, sources outside curated registries |
Severity grading critical / warning / suggestion — every finding is one sentence a human can act on.
Safety first
- Reads your plugin tree and session/telemetry stats locally. Nothing ever leaves your machine by default.
- Fixes only write patch rows to
cordis.patch.yml(- id: …+disabled: true, the official patch layer) — never uninstalls, deletes, or edits source. - Every write is previewed first, recorded in the Doctor Change Log, and reversible with one click.
- Host-critical plugins and hand-edited patch rows are protected from one-click toggles.
Install
dsh plugin --profile web add dsh-perfscope
Restart dsh web, then open Settings → dsh-perfscope.
Prerequisites: Node ^22.19.0 or 24+. Targets dsh 0.1.0-rc.8 (pinned post-SPIKE; preview moves fast — see roadmap).
Usage
Web UI — Settings → dsh-perfscope: run a full check, read your score card, apply safe fixes with preview, undo any fix, export a report. (v1.0)
Headless / CI — scan the real host, fix, undo:
# scan the live dsh profile (read-only; no model key needed)
npx dsh-perfscope scan --profile web --format markdown --out report.md
# shareable score card
npx dsh-perfscope scan --profile web --format html --out scorecard.html
# one-click safe fix (writes cordis.patch.yml, HMR applies in ~1s) and undo
npx dsh-perfscope fix --profile web --disable broken-plugin
npx dsh-perfscope fix --profile web --undo
# offline JSON snapshot mode (no dsh host needed, for CI/fixtures)
dsh-perfscope --input test/fixtures/scan-input.json --format markdown --out report.md
Options: --registry (optional online check of npm publish time / curated status), --sessions-dir, --dsh-cli, --dsh-home.
Development
pnpm install
pnpm test # pure engine + change-log tests
pnpm run typecheck
pnpm run build # bundle via tsup
Repository layout and the SPIKE notes that gate host integration live in PROJECT.md (§5). The dsh-facing glue (scanner/, ui/, standalone bootstrap) is stubbed until SPIKE confirms the data contract against the pinned RC.
Roadmap
- S1 SPIKE — done (2026-08-20): dump-config reconstruction and patch+HMR loop confirmed at source level; session-level runtime stats free, per-plugin attribution needs self-built mapping (v1.1). See SPIKE-S1.md.
- S2 v0.1 — done (2026-08-23): real-host scanner (
scan), headlessfix/undowritingcordis.patch.yml, offline JSONL session analysis (zstd supported), report + score card. npm name locked todsh-perfscope. - S3 上架 — awesome-dsh-plugin registry PR,
dsh-plugintopic, directories. - v1.0 — Web UI settings panel, runtime-health dimension wired from session logs.
- v1.1 — per-plugin runtime attribution (tool-name→plugin mapping).
Community
- Tag your setup reports and feature ideas in GitHub Discussions (link incoming).
- Plugin discoverability: covered by the
dsh-plugintopic; listed in the awesome-dsh-plugin registry (pending).
License
MIT © 2026 Evhye. Mirrors the PerfScope project license.
Unofficial, open-source project. Not affiliated with DeepSeek AI.
Links
More in this category
yjh051108/dsh-routing-suite★ 7021
One repository, three parts: a runtime injector for DSH plugin packages (inject, hot-reload, unload, promote a dev staging tool to the front, route self-heal, plus a settings-page plugin manager that lists, unloads and drags folders in to internalize), a task-aware reasoning-mode router agent preset (router-standard / router-spec / router-react), and a graded two-level task protocol whose six tools (commit_star, lock_stage, revise_do, edit_plan, mark_task, redteam_verdict) pin task state to disk. The injector implementation ships in-tree, so the install carries its own behaviour rather than a dependency list.
strukto-ai/mirage#dsh★ 3682
Swaps the filesystem and bash providers for a mirage virtual workspace: file tools and shell commands run over mounted resources (RAM, S3, Redis, Slack, Gmail, Notion, Postgres) instead of the host disk, with per-mount read/write/exec modes, per-command sandbox routing (monty, pyodide, quickjs in process; docker, e2b, daytona remote), and installed CLIs (git, gh, slack, linear, ntn, gws, or one you register) as head words in the virtual terminal.
hust-open-atom-club/oh-dsh★ 322
Community distribution: TUI, desktop, and Web UI as one bundle with layered installation.
weijiafu14/pi2dsh★ 213
Pi Host ABI compatibility engine: after one install, unmodified Pi extensions from npm mount as native DSH plugins with `dsh plugin add <pi-package>`. Verified end to end on stock DSH with pi-mcp-adapter (full MCP manager: OAuth, resources, prompts, MCP Apps, elicitation, sampling), @tintinweb/pi-subagents, pi-code, pi-hermes-memory and pi-background-tasks; `pi2dsh inspect` reports a package's compatibility before installing.
Fishquito7/dsh-skill-mcp-panel★ 197
Manages DSH skills and MCP servers from the web settings: skill cards with hot enable/disable, workspace scopes, groups, batch migration and drag-and-drop import, plus stdio/HTTP MCP CRUD with connection tests, secret redaction and the unified dsh-panel CLI.
lire1131/dsh-undo-savepoint★ 181
Undo/redo & rollback system for DSH: every config change is auto-snapshotted; undo/redo/restore to any version from the WebUI or the offline CLI/GUI tools (works even when DSH fails to boot).
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.