Preface

When using DeepSeek Harness (DSH), managing plugin states typically involves restarting the process or manually editing configuration files. The dsh-plugin-toggle plugin adds an Enable/Disable tab to the Settings → Plugins page, allowing you to switch the state of loader entries directly from the UI.

Plugin Overview

This plugin is maintained by Zenjibad and is a client plugin. It adds an interactive tab to the settings interface, enabling real-time control of plugin toggles and persistent storage of the changes.

Core Features

  • New “Enable/Disable” tab: Adds a new tab beside the Settings → Plugins page, displaying the plugin list and its toggle state.
  • Real-time plugin state switching: Toggling the switch immediately calls the loader interface to stop or start the corresponding plugin entry, without requiring a DSH restart.
  • Persistence across restarts: Plugin state changes are recorded in the user-configured cordis.patch.yml file, so the state remains after a restart.
  • State and stage display: The list shows the plugin name, enable/disable label, and the current loader stage (active/pending/failed/not mounted).
  • Safety locking mechanism: Loader include entries and the plugin itself are locked and cannot be toggled through this feature.
  • Theme adaptation: The interface styling adapts to DSH’s light and dark themes.

Installation and Activation

The plugin is installed using DSH’s package management tool. After installation, a hard refresh of the page is required to load the new interface.

dsh plugin --profile web add github:Zenjibad/dsh-plugin-toggle

After installation, you must perform a hard refresh (Ctrl+F5) for the new tab to take effect.

Usage

  1. Open the DSH client and go to Settings → Plugins.
  2. Click the newly added “Enable/Disable” tab.
  3. View the plugin states in the list and click the switch to enable or disable a plugin in real time.

Notes

  • Hard refresh required: After installing or updating the plugin, you must hard-refresh the browser page (Ctrl+F5). HMR (Hot Module Replacement) cannot load the new tab.
  • Locked entries: The loader’s include entries and this plugin itself are locked and cannot be toggled. Unknown IDs return 404, and locked IDs return 403.
  • Persistence path: Plugin state changes are appended to the cordis.patch.yml file corresponding to the current Profile.
  • Not an uninstall operation: Disabling a plugin only stops its runtime and records the state; it does not uninstall the plugin package from the system.

Summary

dsh-plugin-toggle solves the pain point of quickly adjusting plugin runtime states in DSH. It provides intuitive UI operations while ensuring configuration persistence, making it suitable for developers who need to manage plugin dependencies dynamically at runtime.

Catalog Page | GitHub Repository