Loader-independent startup recovery for DSH Web that detects likely broken plugins, temporarily skips them, and restores only Boot Guard-managed changes.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-boot-guard
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:SaiSenBox/dsh-boot-guard
GitHub-sourced plugins run build scripts on your machine at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).
README
简体中文 · English
What do you do when a plugin breaks the page you normally use to disable plugins?
dsh-boot-guard is a small safety net for the DeepSeek Harness Web UI. It stays out of the way during a healthy boot. If plugin loading fails and the page stops at Failed to load plugins, Boot Guard adds a recovery console that can identify the likely culprit, skip it temporarily, and get the workspace running again.

The screenshot shows read-only self-check mode. It demonstrates the UI without changing configuration.
Why this exists
This started with an awkward little failure: I was working on a DSH appearance plugin, refreshed the page, and the entire Web UI stopped loading.
Normally I would disable the broken plugin from the plugin settings. Unfortunately, those settings live inside the UI that had just failed. It was the software equivalent of locking the keys in the car.
Boot Guard breaks that loop. Its rescue client is injected directly by the host and does not depend on the normal browser plugin loader, so it can still show up when another plugin prevents the regular interface from starting.
What it does
- Detects likely failed plugins from the loader error and selects them automatically
- Searches by package name or loader entry ID, with focused filters for user and skipped plugins
- Temporarily skips one or several plugins and reloads the page
- Restores a single plugin or all Boot Guard-managed skips with confirmation
- Keeps existing disabled configuration separate from Boot Guard's temporary changes
- Copies a small diagnostic report for bug reports
- Includes read-only dark, light, and narrow-screen self-check views
Skipping does not uninstall a plugin or delete its data. Boot Guard only appends a marked disabled: true block to the active profile's cordis.patch.yml, and restoration removes only blocks carrying that marker.
Install
Install and run DeepSeek Harness first.
From GitHub
dsh plugin --profile web add github:SaiSenBox/dsh-boot-guard
Restart dsh web after installation.
From npm
Once the package is published to npm:
dsh plugin --profile web add dsh-boot-guard
Local development install on Windows
git clone https://github.com/SaiSenBox/dsh-boot-guard.git
cd dsh-boot-guard
powershell -ExecutionPolicy Bypass -File .\install.ps1
The local installer stages the dependency beside the DSH profile to avoid malformed cross-drive file: junctions on Windows.
Usage
- When
Failed to load pluginsappears, the recovery console mounts below the loader error. - Check the suggested plugin, or search for and select a different entry.
- Choose Skip selected and reload. The page retries immediately; the DSH process does not need to restart.
- After fixing the plugin, restore it from the Skipped by rescue filter.
The bulk restore action requires a second click to prevent accidents. A single request is capped at 64 entries.
Self-check
With DSH Web running, open:
- Dark:
http://127.0.0.1:3080/boot-guard/preview - Light:
http://127.0.0.1:3080/boot-guard/preview?theme=light - Health:
http://127.0.0.1:3080/boot-guard/health
The preview is read-only. Search, filters, selections, and action feedback work, but no configuration is written.
Safety boundaries
- Mutation routes accept same-origin JSON
POSTrequests only - Body size, entry count, and IDs are validated
- Boot Guard refuses to disable itself
- Mutations are serialized and committed with a same-directory atomic rename
- Restore removes only Boot Guard-marked blocks
- No telemetry and no external transmission of loader errors
Compatibility
Version 1.1.0 has been verified with DSH 0.1.0-rc.6, Node.js 24.5.0, and Windows. The package follows DSH's Node.js requirement: ^22.19.0 || >=24.0.0.
DSH is still a developer preview and plugin APIs may change. If a new release breaks the recovery path, please open an issue with the DSH version and the copied Boot Guard diagnostics.
Development
npm run check
npm run pack:check
The rescue client intentionally has no runtime dependencies. A recovery tool is most useful when it can still start after everything around it has not.
License
MIT © 2026 SaiSenBox
Links
More in this category
hust-open-atom-club/oh-dsh★ 165
Community distribution: TUI, desktop, and Web UI as one bundle with layered installation.
Jayden-X-L/forkprobe★ 65
Compare multiple skills on the same task and pick the winner.
vlln/plugin-registry★ 35
Ecosystem infrastructure: a thin browser console for managing official repository plugins (zero patches) plus a make-dsh-plugin skill for guided plugin development.
forrestchang/dsh-multica-runtime★ 30
Run the dsh runtime on Multica.
DietCokewithSugar/dsh-user-experience★ 18
Finds potential UX issues in your project: automatically reviews React/TypeScript code, pinpoints each problem, and gives concrete suggestions.
omdsh-dev/dsh-plugin-check★ 17
Plugin health checks: manifest protocol / patch format / build traps, zero-dependency and read-only.