Introduction¶
The philosophy of DSH is “everything is a plugin”. As more plugins are installed, management becomes concrete: identifying which plugins are recognized by the Cordis Loader, which are enabled, and which are from third parties. This information is usually scattered across configuration files. To disable a plugin, one must manually edit cordis.patch.yml; to retain multiple sets of plugin combinations for switching, one is limited to manual editing and backups.
dsh-plugin-toggle-manager brings these operations into the DSH Web interface. The following sections introduce its features, installation methods, and security boundaries.
What is This¶
dsh-plugin-toggle-manager is a visual plugin manager for DSH Web, maintained by Loopiplusplus. The current version is 1.0.0 with an MIT license. It addresses a specific set of problems: it allows you to view, enable, and disable plugins in the Web interface without manually modifying DSH’s configuration files, manage multiple sets of plugin combinations, and clean up eligible third-party plugins after confirmation.
Core Features¶
View Plugin Status¶
- Displays plugins currently recognized by the Cordis Loader, supporting search by plugin name or Loader ID;
- Separately displays the total number of plugins, the number currently enabled, and the total number of non-official plugins;
- Provides enable/disable operations for non-official plugins that can be safely managed.
Manage Plugin Presets¶
- You can create presets from the current status or from the original configuration: the latter does not pre-select optional non-official plugins but always retains DSH essential components and the manager itself;
- You can edit, save, and apply multiple sets of plugin combinations;
- Deleting a preset only removes the preset record; it does not delete the plugins or directly alter the current status.
Delete Third-Party Plugins¶
- For plugins directly installed to the current Web profile and explicitly identified as non-official, a deletion entry with double confirmation is provided;
- Deletion will clean up related profile dependencies, known startup configurations, preset references, lock file records, and installation links for that profile.
DSH Harness / DSH Web core components, the plugin manager itself, and plugin groups are all protected and cannot be disabled or deleted from this interface.
Installation and Enabling¶
Installation is recommended via npm + npx. Execute the following in PowerShell:
npx --yes --package @deepseek-ai/dsh dsh plugin --profile web add dsh-plugin-toggle-manager
The meaning of this command:
npx --yes --package @deepseek-ai/dshtemporarily fetches the DSH command;dsh plugin --profile web addinstalls within the correct Web profile;- The package name does not include a version number, so npm will install the latest stable version pointed to by the
latesttag; - DSH automatically adds plugins declaring
dsh.bundle.patchto the profile bundle list.
If the dsh command is already installed on your machine, you can use the equivalent shorthand:
dsh plugin --profile web add dsh-plugin-toggle-manager
After successful installation, open or refresh DSH Web and navigate to Settings → Plugins → Plugin Manager to view the page.
Updates¶
The fact that the installation command does not specify a version number does not mean that the installed plugin will be updated automatically. When an update is needed, simply re-run the same installation command; this is equivalent to explicitly writing @latest:
npx --yes --package @deepseek-ai/dsh dsh plugin --profile web add dsh-plugin-toggle-manager@latest
You only need to specify a version number when you need to pin to a historical version to reproduce an issue, for example dsh-plugin-toggle-manager@1.0.0.
When Mirror Sources Are Not Synchronized¶
If your npm or pnpm is configured to use a third-party mirror and the newly released version has not yet been synchronized to the mirror, you can append the npm official registry parameter after the package name:
npx --yes --package @deepseek-ai/dsh dsh plugin --profile web add dsh-plugin-toggle-manager --registry=https://registry.npmjs.org/
Migration from Old Local Package¶
The early local package used the name @deepseek-ai/dsh-plugin-toggle (internal/local name), while the public npm version uses the name dsh-plugin-toggle-manager. The functionality and version number remain 1.0.0. The same Web profile should not retain both packages, otherwise they will register the same plugin-toggle service entry. Execute the following in order for the initial migration:
# 1. Remove the old local/internal package
npx --yes --package @deepseek-ai/dsh dsh plugin --profile web remove @deepseek-ai/dsh-plugin-toggle
# 2. Install the public package on npm
npx --yes --package @deepseek-ai/dsh dsh plugin --profile web add dsh-plugin-toggle-manager
After executing the first step, the management page will temporarily disappear. After the second step is successfully installed, refresh or reopen DSH Web to recover it.
Configuration Write Locations and Security Boundaries¶
- Plugin enable/disable writes to the user’s
cordis.patch.ymlof the current Web profile; - Plugin presets write to
dsh-plugin-toggle.presets.jsonof the current Web profile; - A
.bakrestore point is created before writing critical configurations; the code directories of third-party plugins confirmed for deletion by the user will not be automatically archived; - The plugin only operates on the current DSH Web profile and does not scan or delete arbitrary disk directories;
- Third-party plugins have varying levels of hot-plug support; individual frontend resources may require manual refresh or reopening of DSH Web after being disabled or deleted.
In terms of compatibility, this version is built and verified in a DSH 0.1.0-rc.6 Web profile. It depends on the following peer dependencies and requires Node >= 20:
@deepseek-ai/cordis:^4.0.1@deepseek-ai/cordis-plugin-loader:^1.0.2@deepseek-ai/dsh-host-webserver:^0.1.0-rc.5
Scenarios and Notes¶
This plugin is suitable for users who frequently adjust plugin combinations on DSH Web or need to retain multiple sets of combinations for switching. If you only occasionally add or remove plugins, editing the configuration file directly works as well; the manager saves you the cost of repeatedly verifying the configuration and performing manual backups.
Please note: The plugin runs with the permissions of the current dsh process. Deletion operations directly clean up plugin files and do not perform automatic archiving. Before installation, it is recommended to read the project source code and confirm the license (MIT). Before upgrading DSH or batch adjusting plugins, first ensure you have a backup of the profile configuration.
Summary¶
dsh-plugin-toggle-manager integrates the viewing, enabling/disabling, preset management, and third-party plugin cleanup of DSH Web into a single interface, and uses protected lists, double confirmation, and restore points to delineate security boundaries. For DSH users managing a multi-plugin environment, it is a practical daily utility.
- GitHub Repository: https://github.com/Loopiplusplus/dsh-plugin-toggle-manager
- Community Plugin Directory Page: https://www.skillhub.cn/plugins/Loopiplusplus/dsh-plugin-toggle-manager
The community directory is an independent site and has no official affiliation with DeepSeek / 幻方.