Preface¶
DSH emphasizes “everything is a plugin.” When the web GUI needs to integrate community plugins, common questions are: where can I see the plugins, which ones are installed, which ones have updates, and what to do if an installation goes wrong. @cyber-moshen/dsh-plugin-market consolidates these issues into a single Settings → Plugin Workshop page.
It provides a card-based catalog that displays community plugin tags, GitHub stars, last-commit freshness, and installed version / update state, with support for search, filtering, installation, updating, and uninstallation. It should be clear that this is a community-maintained catalog solution and should not be interpreted as an official app store; plugins run under the current DSH process permissions, so you should review the source code and license before use.
What This Is¶
@cyber-moshen/dsh-plugin-market is an open-source plugin marketplace for the DSH web GUI, licensed under MIT. The repository owner / npm scope is cyber-moshen, and the GitHub address is:
https://github.com/cyber-moshen/dsh-plugin-market
It primarily addresses three categories of issues:
- Discovery: Displays community plugins in a card grid, showing tags, GitHub stars, last-commit freshness, installed version / update state.
- Operations: Search, filter, install, update, and uninstall, running the
dsh pluginCLI in the background. - Safety: Performs a dependency audit before installation, runs a boot-composition check after installation, and automatically rolls back on failure.
Catalog data comes from the data/plugins.json file in this repository, and plugins can be listed via PR.
Core Features¶
Below are the capabilities explicitly listed in the repository documentation:
- Provides a
Settings → Plugin Workshoppage. - Displays community plugins in a card grid.
- Cards show tags, GitHub stars, last-commit freshness, installed version / update state.
- Supports searching by plugin name, author, and tags.
- Clicking a
#tagon a card searches by that tag. - Provides an always-visible filter bar.
- Can filter by installed state, sort by stars/commit, and filter by maintenance state.
- Supports one-click installation and updates, running the
dsh pluginCLI in the background. - Cards provide a GitHub icon button that links to the corresponding repository.
- The settings dialog includes a GitHub Token field and a startup auto-update toggle.
- Follows the application language, supporting Chinese / English.
- Installation, updates, and uninstallation of pure JS plugins support hot reload.
- Plugins with native modules will prompt for a restart.
- Performs a dependency audit before installation and a boot-composition check after installation, with automatic rollback on failure.
- Catalog data comes from the
data/plugins.jsonfile in this repository, and plugins can be listed via PR.
Installation and Enablement¶
The installation command provided by the repository is:
dsh plugin --profile web add @cyber-moshen/dsh-plugin-market
After installation, restart the web server and then open Settings → Plugin Workshop.
Subsequently, if you install, update, or uninstall pure JS plugins, hot reload is supported; if a plugin includes native modules, a restart will be prompted.
Note that the installation command in the README includes a note saying “once published to npm,” and the captured documentation has not confirmed the current npm publication status.
Typical Usage¶
-
Open
Settings → Plugin Workshop. -
Search by plugin name, author, or tags; click a
#tagon a card to search by that tag. -
Use the filter bar to toggle installed state, sort by stars or commit, and filter by maintenance state.
-
Click
Installwhen not installed; clickUpdatewhen installed and a new version is available; installed plugins can be uninstalled by clickingUninstall. -
In the
Settingsdialog, fill in the GitHub Token and save; clickClearto delete a saved token. -
After enabling
Auto-update installed plugins on startup, the web server will check for and update installed plugins at startup. -
To list a plugin, edit
data/plugins.jsonand create a PR. -
If a profile is already corrupted, you can run the offline repair script:
node <dsh-plugin-market checkout>/scripts/repair.mjs --profile web
GitHub Token and Auto-Updates¶
The GitHub Token is an optional configuration. Providing it increases the API rate limit from 60 requests/hour to 5000 requests/hour.
If GITHUB_TOKEN or GH_TOKEN is set in the environment, these take precedence over the token saved in the plugin settings.
Saving an empty Token input field will not clear the saved token; use Clear to delete it. The token has write permissions to repositories and should be kept confidential.
Installation Safety¶
Installing a broken plugin could prevent DSH from starting, which is a critical issue a marketplace plugin must avoid. This plugin includes checks in the installation flow:
- Before installation: dependency audit.
- After installation: boot-composition check.
- On check failure: automatic rollback.
The goal is to avoid leaving the profile in an unbootable state.
For profiles that are already corrupted, you can use the offline repair script described above.
Applicable Scenarios and Notes¶
It is well-suited for daily use of the DSH web GUI: browsing community plugins, comparing plugin statuses, installing and updating saved plugins, and participating in catalog maintenance via PR.
Notes before use:
- Licensed under MIT.
- Plugins run with the current
dshprocess permissions; check the source code, dependencies, and license before installation. - Plugin installation and updates are done via npm packages, not GitHub installs.
- Catalog data is fetched in real-time from the
data/plugins.jsonfile in this repository at runtime, with no offline cache or snapshots. - The repository documentation shows that
peerDependenciesincludesreact ^18.2.0and several@deepseek-aipackages; actual compatibility depends on the DSH environment.
Conclusion¶
The value of @cyber-moshen/dsh-plugin-market is consolidating plugin browsing, installation, updating, and uninstallation for the DSH web GUI into a single page, while adding security checks and rollback before and after installation. It is a community catalog solution suitable for developers who need to manage DSH web GUI plugins.
GitHub:
https://github.com/cyber-moshen/dsh-plugin-market