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

  1. List View: In Settings → Plugins → Plugin list, lists all plugins loaded in the current profile.
  2. Enable/Disable Control: Supports enabling or disabling plugins with one click. The operation takes effect immediately and persists the state to cordis.patch.yml.
  3. 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.
  4. 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.
  5. 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 web profile. After installation, it must be used together with the pnpm-workspace.yaml configuration.
  • 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.