webkong/dsh-plugin-manager: Manage plugins on the DSH Web settings page

Preface

In the DSH plugin ecosystem, installation, start/stop, and version troubleshooting typically require combining command-line operations, repository URLs, and configuration files. webkong/dsh-plugin-manager brings this process into the Web settings page: you can view built-in and third-party plugins under Settings → Plugins → Plugin Manager, perform installation, uninstallation, enabling, and disabling, and jump directly to third-party plugin GitHub repositories.

It is a community management tool within the DSH plugin ecosystem and is not equivalent to an official app store.

What This Is

webkong/dsh-plugin-manager is maintained by webkong and is licensed under MIT. Its one-line description is:

DSH Plugin Manager: Lists built-in/third-party plugins on the Web settings page, supports installation, uninstallation, enabling, and disabling, and provides direct links to third-party plugin GitHub repositories.

By default, it manages the web profile. The Host provides HTTP APIs via the webServer prefix route, and the verified route prefix is:

/pmgr/*

This API is restricted to local loopback access only.

Core Features

Viewing the Plugin List

The plugin management page lists the plugin inventory and displays the following information:

  • Plugin status
  • Source tag
  • Version
  • GitHub link

It supports enumerating:

130+

built-in plugins and identifies third-party plugins from profile dependencies.

The page also supports:

  • Status tabs
  • Source filtering
  • Fuzzy search
  • Group collapsing

Installation and Resolution

The following installation sources are supported:

  • npm package names
  • github:owner/repo#main
  • Local paths
  • Tarball URLs

When a bare package name is entered, the plugin attempts smart resolution and lists npm package or GitHub repository candidates.

It also supports searching GitHub by keyword:

topic:dsh-plugin

for discovering plugins within the DSH plugin ecosystem.

Enabling, Disabling, and Uninstalling

Enabling and disabling are not simple front-end state toggles. The plugin writes or removes the:

disabled

flag to or from the target profile’s cordis.patch.yml, thereby achieving plugin disabling or enabling.

When uninstalling a plugin, it also cleans up residual disabled entries.

Automation and Interface

Optional automatic restart is supported:

dsh web

After restart, the page refreshes with a countdown. This toggle is off by default.

It supports:

GH_TOKEN

auto-discovery.

The interface is available in Chinese and English and follows the DSH language preference.

Installation and Activation

To install from GitHub, run:

dsh plugin --profile web add github:webkong/dsh-plugin-manager#main

Local path installation is suitable for development scenarios:

dsh plugin --profile web add /path/to/dsh-plugin-manager

After installation, restart:

dsh web

Then navigate to:

Settings → Plugins → Plugin Manager

If you need to specify the managed profile in the load line, you can configure:

profile: web

The auto-restart toggle can be switched on the page, and the configuration is persisted to:

~/.dsh/dsh-plugin-manager.json

Typical Usage

Installing Plugins from GitHub

When performing an installation on the plugin management page, you can use:

github:owner/repo#main

as the installation source format.

For example, to install this plugin:

dsh plugin --profile web add github:webkong/dsh-plugin-manager#main

Using Bare Package Name Resolution

After entering a bare package name, the plugin attempts to resolve that name and lists npm package or GitHub repository candidates.

After confirming a candidate, proceed with the installation.

Searching for GitHub Plugins

Use the keyword to search for DSH plugins on GitHub:

topic:dsh-plugin

This is suitable for finding available plugins beyond existing installation sources.

Opening Repositories Directly

Clicking the version number entry on a plugin card jumps directly to the corresponding repository for viewing documentation, stars, and code.

Version Compatibility

The verified compatibility relationships are as follows:

Plugin 0.6.x: Compatible with dsh  0.1.1-rc.2
Verified with dsh 0.1.1-rc.2 and 0.1.2-alpha.1

Plugin 0.5.x: Compatible with dsh  0.1.1-rc.x
On dsh  0.1.2, older clients may fail to load because dsh-client-runtime does not exist

If the current DSH version is newer, prioritize confirming that the plugin version matches the DSH version.

Applicable Scenarios and Notes

Suitable for the following scenarios:

  • Centrally managing DSH plugins from the Web settings page
  • Viewing plugin status, source, version, and GitHub links
  • Switching plugins between installation, uninstallation, disabling, and enabling
  • Reducing back-and-forth switching between command-line and manual configuration

Notes before use:

  • The plugin runs with the current DSH process permissions
  • Source code and license should be reviewed before installation
  • Installation, uninstallation, disabling, and enabling all take effect after restart
  • If HMR is already active in the current process, disabling/enabling may take effect immediately

Auto-restart is disabled by default and can be enabled on the page as needed.

Links

GitHub repository:

https://github.com/webkong/dsh-plugin-manager
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye