Toggle switches for the plugin inventory: enable/disable any plugin live from Settings → Plugins → Plugin list without restarting, with groups/filters, bulk toggle, undo, and backup.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:cynch18/plugin-switch
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
English | 中文
Adds toggle switches to the DeepSeek Harness (DSH) plugin inventory page: enable or disable any plugin with one click, live, without restarting the server — and the state persists across restarts.
Features
- Live enable/disable via an active recompose channel (bypasses the platform watcher deadlock; deterministic application)
- Groups (system / third-party / local), status filters, sorting, search
- Bulk enable/disable as one transaction (single backup; undo reverts it all)
- Undo with automatic backups (latest 20 kept)
- Critical-entry confirmations, depended-on warnings with confirmation, disabled-source layering, config preview, failure diagnostics
- Multi-tab live sync, CLI recovery tool, bilingual UI, animations
Quick start
Option 1: dsh plugin add (recommended)
dsh plugin --profile web add github:cynch18/plugin-switch
Option 2: direct download (no git)
Download plugin-switch.zip from Releases, extract it, then run:
powershell -ExecutionPolicy Bypass -File .\install.ps1
Option 3: git clone
git clone https://github.com/cynch18/plugin-switch.git
cd plugin-switch
powershell -ExecutionPolicy Bypass -File .\scripts\install.ps1
Then restart dsh web, press Ctrl+Shift+R, and go to Settings → Plugins → Plugin list — every plugin row has a slider switch on the right.
⚠️ Pick ONE installation method:
dsh plugin add, the zip, and install.ps1 must not be combined — installing twice in the same profile creates duplicate rows and the profile fails to start.Options 2/3 accept
-KeepOriginal(keep the original read-only inventory; HTTP API only) and-Dev(junction to the source tree for live development).
FAQ
Q: I disabled the plugin switch itself and the page disappeared — how do I get it back?
Open %USERPROFILE%\.dsh\profiles\web\cordis.patch.yml, find the plugin-switch entry, and change disabled: true back to false (or delete the line). It takes effect within ~3 seconds, no restart needed.
Q: Toggling does nothing?
Restart dsh web and try again; if it still fails, see Troubleshooting below.
Q: I made a mistake — can I roll back?
The "↺ Undo" button restores the configuration from the backup taken before your last toggle (every toggle is backed up automatically; the latest 20 are kept).
Troubleshooting
| Symptom | Fix |
|---|---|
| Toggle page missing | Use only one install method, restart dsh, hard-refresh (Ctrl+Shift+R); check that ui-settings-plugin-inventory and plugin-inventory are disabled: true in cordis.patch.yml |
| State does not change | Restart dsh web and retry |
| Host errors | Check the dsh launcher window log (loader apply/error lines) |
| GUI unreachable | Use the CLI recovery tool: node scripts/dsh-plugin-fix.mjs list / enable <id> / disable <id> / undo / backups (run from the repo directory) |
| Config file broken | Backups live in %USERPROFILE%\.dsh\profiles\web\backups\; copy the latest one back to cordis.patch.yml |
Uninstall / restore the original list
- Restore the original read-only inventory: in
%USERPROFILE%\.dsh\profiles\web\cordis.patch.yml, setdisabled: trueback tofalseforui-settings-plugin-inventoryandplugin-inventory, and remove theplugin-switchentry. - Full uninstall: delete
%USERPROFILE%\.dsh\profiles\web\node_modules\dsh-profile-plugin-switchand remove the related rows fromcordis.patch.yml.
Notes
- Requires DSH running the
webprofile (npx @deepseek-ai/dsh web), Node ≥ 22. - Disabling the plugin switch itself removes the toggle page; restore it by changing
plugin-switch'sdisabled: trueback tofalseincordis.patch.yml(the page asks for confirmation first). /plugin-switchis an unauthenticated local HTTP route (same trust level as DSH's built-in/plugins/...), for personal localhost use only.- Editing
index.jsinside the package requires a dsh restart; editingclient.jsonly needs a page refresh.
Development
npm install
npm test # unit tests (applyPatchEdit / backup rotation / source detection / baked-disabled scrub)
License
MIT © 2026 CYNCH18
Links
More in this category
zhu1090093659/dsh-web#packages/dsh-plugin-manager★ 8121
Plugin manager tab in DSH Settings → Plugins: install from npm or git with progress, enable/disable switches effective at next startup, conflict reconciliation with undo, and one-click hand-off to a fix session.
dsh-market/dsh-market★ 4818
Browse, search and install community plugins from inside DeepSeek Harness settings, with category filters, one-click updates, enable/disable, theme switching and configuration backup.
bradeGithub/DSH-Plugins-Marketplace★ 169
GitHub-topic-driven plugin & skill marketplace: a Settings page that browses the auto-collected registry (the whole dsh-plugin topic plus the skills index, CI-refreshed every 2 hours) with one-click install, type detection, install-script and host-shadow-dependency safety confirmations, env-key management, and the STANDARD.md recognition spec.
kingOfSoySauce/dsh-skin-market★ 165
Native skin marketplace and lifecycle manager that discovers community skins, displays previews and compatibility status, and provides verified one-click or manual installation paths.
awesome-dsh-plugin/dsh-find-plugin★ 154
Find plugins without leaving the agent: search this curated registry by keyword or category, with ready-to-run install commands.
Sanqi-normal/dsh-webui-market-plugin★ 103
In-harness plugin market for the dsh web GUI: browse the awesome-dsh-plugin.com catalog and install/uninstall plugins into a profile from Settings → Plugins → Plugin Market.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.