Introduction

The philosophy of DeepSeek Harness (dsh) is “everything is a plugin”. After multiple third-party plugins are deployed to the same environment, users need to view these plugins in the Web UI, search for plugin projects, and be able to turn them off or on as needed.

dsh-plugin-manager is a third-party plugin manager for DeepSeek Harness (dsh): select a third-party plugin repository folder in the Web UI settings page, search for all third-party plugins within it, and turn them off/start them with one click.

What is this

huabai-flowerwhite/dsh-plugin-manager is maintained by huabai-flowerwhite and is licensed under MIT.

Its core function is not to replace dsh’s plugin loading mechanism, but to provide a settings page entry for already deployed third-party plugins: selecting a third-party plugin repository folder, scanning plugin projects, displaying a list of plugins, and toggling their enable/disable status via the disabled: true flag in cordis.patch.yml.

Core Features

The following introduces several established capabilities.

Select Plugin Repository Folder and Scan

The “Third-party Plugins” section on the settings page supports selecting a third-party plugin repository folder and also supports manually pasting a path. After clicking “Scan”, the plugin will look for third-party plugin projects within it.

Identified when scanning:

dsh.plugin.yaml
package.json

Skipped when scanning:

node_modules
.git
dist
DSH itself

Enable/Disable Switch on Settings Page

The “Third-party Plugins” settings page includes:

  • Folder selection
  • Scan
  • Plugin list
  • Enable/disable switch

Clicking “Close / Start” in the list toggles the plugin status.

Write disabled Mark

One-click disable/enable writes:

disabled: true

The target file is:

cordis.patch.yml

A .bak backup is made automatically before writing.

Query Current Status

The plugin provides:

/dsh-plugin-manager/status

This endpoint returns the current patch path and the enable/disable status of each plugin.

Installation Script

The plugin provides idempotent installation scripts for Windows and POSIX systems; running them repeatedly is harmless.

Installation and Enablement

Installation

The installation commands are as follows; choose the script corresponding to your runtime environment.

Windows

git clone https://github.com/huabai-flowerwhite/dsh-plugin-manager dsh-plugin-manager
cd dsh-plugin-manager
powershell -ExecutionPolicy Bypass -File install.ps1

Linux / macOS

git clone https://github.com/huabai-flowerwhite/dsh-plugin-manager dsh-plugin-manager
cd dsh-plugin-manager
bash install.sh

Enable

After installation, restart dsh:

npx dsh web

or:

dsh web

If dsh is currently running, press Ctrl+C to stop it first, then restart.

This plugin is automatically loaded with host composition. After starting, you can use it by entering the Web UI.

Typical Usage

  1. Start dsh; this plugin is automatically loaded with host composition.

  2. Go to “Settings → Third-party Plugins”.

  3. Click “Select Folder” to choose a third-party plugin repository folder, or manually paste a path, then click “Scan”.

  4. Click “Close / Start” in the plugin list to toggle the plugin status.

Note: The name of the folder where the plugin is located should be in the “xx-xx-…” format, i.e., it should be the plugin name, for this plugin to control it correctly.

Applicable Scenarios and Notes

Suitable for

Suitable for developers who have already deployed multiple third-party plugins in dsh and wish to view and control these plugins centrally in the Web UI.

Effective Timing

Plugin enablement and disablement take effect after restarting dsh. The reason is that composition is loaded at startup, and this plugin does not modify the running Loader.

Prerequisites for Starting Unmounted Plugins

If a certain plugin is currently unmounted, when clicking “Start”, it requires that the plugin package is available for resolution in:

profiles/node_modules

Otherwise, dsh cannot import the plugin package.

Directory Selection

pickDirectory() relies on the official directory picker service. If this service is unavailable, it can fall back to manual path input.

Manifest and Permissions

The manifest is a declarative compliance document; actual permissions are based on runtime sandbox policies.

Runtime Permissions

The plugin runs with the permissions of the current dsh process. Before installation, you should check the source code and license to ensure its scope of operation matches your expectations.

Version and Dependencies

Declared in package.json:

{
  "version": "1.1.0",
  "engines": {
    "node": ">=22 <25"
  }
}

It also declares the dsh compatibility range:

harness >=0.1.1-rc.2 <0.2.0

Links

  • Directory page: https://www.skillhub.cn/plugins/huabai-flowerwhite/dsh-plugin-manager
  • GitHub: https://github.com/huabai-flowerwhite/dsh-plugin-manager