Introduction¶
DeepSeek Harness (DSH) uses a plugin-based architecture. As the number of plugins grows, manually maintaining the cordis.patch.yml configuration and managing runtime state becomes cumbersome. The dsh-plugin-toggle plugin provides a visual management entry point, uniformly handling the enable, disable, and deletion workflows for plugins, and resolves the pain points of plugin lifecycle management.
Plugin Positioning¶
This plugin is an integrated host + client package maintained by developer tuogusa and categorized as admin-security. Through its UI interface and backend APIs, it provides DSH with a complete plugin toggle and deletion management solution.
Core Features¶
- List View: In Settings → Plugins → Plugin list, lists all plugins loaded in the current profile.
- Enable/Disable Control: Supports enabling or disabling plugins with one click. The operation takes effect immediately and persists the state to
cordis.patch.yml. - Deletion and Recovery: Disabled user plugins can be deleted and removed from the profile’s dependencies and configuration. A snapshot is recorded at deletion time, and it can be restored with one click within the current session (session-level rollback). It also supports permanent deletion or viewing the recently deleted list.
- Version Detection: Displays installed versions and supports a “Check All” button. After the check completes, a popup summarizes the list of updatable plugins, with an “Update” button next to each plugin.
- Bundle Management: Supports enabling/disabling or deleting bundles as a group and automatically recognizes entire plugin groups declared in
dsh.bundle.patch.
Installation and Enablement¶
The plugin is compatible with the web profile of the DSH Web GUI.
dsh plugin --profile web add github:tuogusa/dsh-plugin-toggle
After installation, you need to add an allowBuilds entry to pnpm-workspace.yaml according to the dsh guidance (because the prepare script for the git dependency needs to be allowed), restart DSH, and refresh the browser using Ctrl+Shift+R.
Typical Usage and Updates¶
For updating the plugin, the CLI command is recommended:
dsh plugin --profile web update dsh-plugin-toggle
If you need to reinstall from the GitHub source or force an update, you can run:
dsh plugin --profile web add github:tuogusa/dsh-plugin-toggle
Use Cases and Considerations¶
- Compatibility: Applies only to the
webprofile. After installation, it must be used together with thepnpm-workspace.yamlconfiguration. - Security Limits: Endpoints accept only loopback or trusted Host requests. Core components (the PROTECTED list) reject toggle or deletion operations.
- Deletion Logic: Deletion snapshots are stored in memory and are automatically cleared after a DSH restart. Rollback is only available in the current session. Built-in (
@deepseek-ai/*) plugins can only be disabled and cannot be deleted. - Bundle Behavior: Deleting bundle plugins immediately removes them from
package.json/dsh.profile.bundles. Because the bundle layer is statically combined when DSH starts, the relevant loader entries remain disabled in the current session and will no longer be loaded after a refresh or restart.
Summary¶
The plugin provides DSH administrators with a visual plugin management interface, covering version checking, enable/disable control, and a safe deletion rollback mechanism, reducing the maintenance cost of plugin management.