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