Diagnose duplicate DSH loader entry IDs before startup, report version-locked repair status in a read-only settings card, and apply or revert audited loader repairs through an external CLI.
Install
# from npm (prebuilt)
dsh plugin --profile web add @anweat/dsh-substrate
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:anweat/dsh-substrate#path:/plugin
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-substrate diagnoses DeepSeek Harness plugin conflicts and supplies a reversible, version-locked repair for duplicate loader entry IDs.
The Web card is read-only. It reports the detected DSH installation, the exact loader version, and the repair state. The external CLI performs installation changes so the running DSH process never rewrites its own dependencies.
Install in DSH
dsh plugin --profile web add @anweat/dsh-substrate@^0.1.2
Restart DSH after installing the plugin. Open the Substrate compatibility card to inspect the current state.
Repair duplicate entry IDs
Check whether the detected installation is supported:
npx --yes @anweat/dsh-substrate@0.1.2 repair --home "<DSH_HOME>"
Apply the repair, then restart DSH:
npx --yes @anweat/dsh-substrate@0.1.2 repair --home "<DSH_HOME>" --apply --yes
Revert the repair, then restart DSH again:
npx --yes @anweat/dsh-substrate@0.1.2 repair --home "<DSH_HOME>" --revert --yes
The repair currently supports these exact packages:
@deepseek-ai/cordis-plugin-include@1.0.6@deepseek-ai/cordis-plugin-include@1.0.7@deepseek-ai/dsh-app-boot@0.1.2-alpha.2through0.1.2-alpha.5@deepseek-ai/dsh-app-boot@0.1.2-rc.1@deepseek-ai/dsh-app-boot@0.1.3-alpha.2@deepseek-ai/dsh-app-boot@0.1.5-alpha.1
The Git tag dsh-v0.1.3-alpha.1 has source-level evidence, but npm never
published the matching dsh-app-boot package. It therefore remains outside
the installable repair matrix.
Unknown versions are refused before any file is changed. The CLI stages a pnpm patch in the real DSH installation workspace, runs pnpm install, verifies the installed file, and supports a matching revert transaction.
This repair removes the duplicate entry-ID boot gate. It does not automatically isolate plugins that also claim the same Cordis service or tool names. Those later runtime conflicts still need service realms and tool scopes supplied by the host composition.
Version 0.1.0 users must add npm's peer-dependency compatibility flag when running the standalone CLI:
npx --yes --legacy-peer-deps @anweat/dsh-substrate@0.1.0 repair --home "<DSH_HOME>"
See the compatibility matrix, browser coexistence verification, and tested boundaries.
Links
More in this category
yjh051108/dsh-routing-suite★ 6991
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★ 3715
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.
first-fluke/oh-my-agent#dsh★ 1352
Runs project OMA checks before and after tool execution and when a turn tries to finish. Installs its OMA CLI dependency and initializes unconfigured projects on first use. Requires Node.js 22+; initial setup needs network access and project write access.
hust-open-atom-club/oh-dsh★ 323
Community distribution: TUI, desktop, and Web UI as one bundle with layered installation.
MichengAI/dsh-skills-manager★ 294
Manages local DeepSeek Harness skills in Settings and shows shared Agent skills as read-only.
Fishquito7/dsh-skill-mcp-panel★ 223
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.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.