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¶
-
Start dsh; this plugin is automatically loaded with host composition.
-
Go to “Settings → Third-party Plugins”.
-
Click “Select Folder” to choose a third-party plugin repository folder, or manually paste a path, then click “Scan”.
-
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