The design philosophy of DeepSeek Harness is “everything is a plugin.” During development and debugging, when the enabled/disabled state of a plugin needs to be switched frequently, the traditional approach is usually to modify the configuration file and restart DSH. dsh-plugin-hot-toggle solves this problem. It provides an enable/disable management interface on the Web settings page, allowing installed plugins to be enabled or disabled instantly without restarting the DSH process.
This is an auxiliary plugin for the DeepSeek Harness Web settings page. It is maintained by developer 5102a and open-sourced under the MIT license. Its core function is to directly modify the entry state of Cordis Loader in the Web interface, achieving hot-plug/hot-unplug behavior.
Core Features¶
- Instant enable/disable: Directly calls the
Entry.update({ disabled })interface of Cordis Loader to destroy or reload the plugin Fiber in-process, without restarting DSH. - State persistence: The switch state is written to the configuration layer (
cordis.patch.yml) and hot-applied by the HMR listener, so it remains effective after restart. - Safety protection: System core entries (such as
loader,hmr,timer, etc.) are marked as “system core” and cannot be disabled. - Multi-dimensional filtering and sorting: Supports filtering by status (All/Enabled/Disabled), source (Official/Core/Community), and type (LLM/tool, etc.), and supports sorting by most recently used or name.
- Internationalization: The interface language follows the DSH language preference (Chinese/English).
Installation and Enablement¶
- Run the installation command in a terminal:
dsh plugin --profile web add dsh-plugin-hot-toggle
- Start DeepSeek Harness (or wait for HMR to apply the change automatically), then go to Settings → Plugins → Enable/Disable Management.
Typical Usage¶
- Operate via the Web interface: Open the “Enable/Disable Management” tab on the settings page, locate the plugin using the filters, and click the toggle to apply the change.
- Operate via the HTTP API:
- Get the plugin list:
GET /plugin-hot-toggle/api/list
* Change the plugin status:
POST /plugin-hot-toggle/api/setEnabled
Content-Type: application/json
{
"entryId": "plugin-name",
"enabled": false
}
Notes¶
- Core entries are locked: System core entries such as
loader,hmr,timer, and dynamic plugin hosts are locked and cannot be disabled. - Persistence path: Plugin state is persistently stored in
$DSH_HOME/profiles/<profile>/cordis.patch.yml. - Cross-platform support: The plugin works on Windows, macOS, and Linux.
- Dependency requirements: Requires
@deepseek-ai/cordisandreactas peer dependencies. - Security validation: The HTTP API uses the same-origin policy for security validation, and cross-origin requests will be rejected.
With this plugin, you can adjust the plugin ecosystem without interrupting the DSH process, greatly improving development and debugging efficiency. See the links below for plugin details and source code.