Preface

The DSH ecosystem emphasizes the principle that “everything is a plugin”. In practice, when using the DeepSeek Harness Web profile, third-party plugins are typically installed into a specific profile via dsh plugin. Once the plugin is installed, manually maintaining cordis.patch.yml to temporarily enable or disable it is inconvenient.

Here we introduce HamSamMike/dsh-mod-manager. It is a third-party plugin manager designed for the DeepSeek Harness Web profile, allowing you to centrally enable or disable installed plugins from the settings page.

What is it

dsh-mod-manager is a third-party plugin manager. Its core responsibility is to discover, enable, and disable third-party plugins; it does not install or uninstall other plugins for you.

It targets the DeepSeek Harness Web profile, displaying the status of installed plugins centrally on the Harness settings page and supporting toggling plugins directly via the interface. Modifications are typically hot-reloaded via the Harness patch watcher, usually without needing to restart dsh web.

The project license is MIT.

Core Features

dsh-mod-manager provides the following verified capabilities:

  • Display third-party plugin status centrally on the Harness settings page.
  • Automatically discover third-party bundles installed to the profile via dsh plugin --profile … add ….
  • Enable or disable plugins with a single click without uninstalling the plugin packages.
  • Hot-reload after modification via the Harness patch watcher, usually without restarting dsh web.
  • Automatically exclude the Harness core bundle and the manager itself.
  • Retain config.mods for custom names or to supplement plugin lines that cannot be automatically associated.
  • Retain user configurations in cordis.patch.yml that are unrelated to the managed plugins.
  • Compatible with empty files, pure comment files, and [] empty patch arrays.

Installation and Activation

First, confirm the environment:

  • The target environment is the DeepSeek Harness Web profile.
  • Node.js version is ^22.19.0 or >=24.0.0.
  • peerDependencies includes @deepseek-ai/cordis ^4.0.1 and react ^18.2.0.
  • Third-party plugins to be managed are already installed to the same profile.

Install from GitHub:

dsh plugin --profile web add github:HamSamMike/dsh-mod-manager

Restart Harness once after installation:

dsh web

You can also check if the plugin has entered the final combined configuration:

dsh --profile web --dump-config

Typical Usage

Taking the third-party plugin dsh-pet as an example, first install it to the same profile:

dsh plugin --profile web add dsh-pet

After a new bundle is installed, you need to restart dsh web once for it to enter the Loader; it will then automatically appear in the manager.

Open http://localhost:3080, go to Settings → Plugin Management, and click Enable or Disable on the right side of the target plugin.

Following the steps above, page toggles are hot-reloaded via the Harness patch watcher, usually without needing to restart dsh web again.

Auto Discovery and Configuration

The manager automatically discovers third-party bundles installed to the profile via dsh plugin --profile … add ….

It automatically excludes the Harness core bundle and the manager itself, while retaining user configurations in cordis.patch.yml that are unrelated to the managed plugins.

If a plugin cannot be automatically associated or requires a custom name, you can retain config.mods. config.mods is used for custom names or to supplement plugin lines that cannot be automatically associated.

The toggle interface only accepts Loader line IDs that are either currently auto-discovered or explicitly registered in config.mods.

You can also override the manager configuration in the target profile’s own cordis.patch.yml without modifying this repository.

Restart Boundaries

After modifying the manager’s own configuration or installing new bundles, you need to restart dsh web once. Thereafter, no restart is required when enabling or disabling plugins via the page.

After installing a new bundle, you need to restart dsh web once for it to enter the Loader; it will then automatically appear in the manager.

Security Boundaries

  • It only reads and writes the cordis.patch.yml of the target profile.
  • The auto-discovery scope is limited to dsh.profile.bundles explicitly registered in the target profile; it does not scan arbitrary node_modules.
  • It does not scan plugin directories, modify plugin source code, or delete installed plugin packages.
  • Compatible with empty files, pure comment files, and [] empty patch arrays.

Applicable Scenarios and Notes

Suitable for developers who are already using third-party plugins in the DeepSeek Harness Web profile and wish to reduce manual editing of cordis.patch.yml.

Since plugins run with the current dsh process permissions, please check the source code and license before installing. The project license is MIT.

Links

GitHub: https://github.com/HamSamMike/dsh-mod-manager

Directory Page (from project listing): https://www.skillhub.cn/plugins/HamSamMike/dsh-mod-manager

The community directory is an independent site and is not an official app store.