Introduction

The philosophy of DSH is “everything is a plugin”. Under the web profile, plugin installation, start/stop, uninstallation, and finding new plugins usually start from the command line or configuration. dsh-plugin-studio puts this entry point into the Web settings page: it manages installed plugins grouped by official/community and includes a built-in GitHub plugin market.

What is this

  • Package name: dsh-plugin-studio
  • Version: 0.3.1
  • License: MIT
  • Repository path: fazhu4/dsh-plugin-studio
  • Note: Information has been scraped, and no explicit maintainer field is provided, so it is not written as a definitive maintainer here.

It targets the DSH 0.1.0 series (web profile) and solves the problem of “viewing installed plugins, one-click start/stop, viewing details, uninstalling community plugins, and searching for and installing new plugins from GitHub within the Web settings page.”

Plugin Management

The plugin management page displays installed plugins grouped by official/community and supports searching.

Descriptions and Details

It includes a built-in Chinese/English description library for 129 packages; for unlisted packages, it falls back to the English package.json description. The details panel displays version, homepage, repository, license, and README summary.

Start/Stop and Protected Lines

One-click start/stop writes to the user patch layer cordis.patch.yml, and DSH configuration hot reload takes effect in about 1-3 seconds. Hot-loaded and core plugins on the Web service chain belong to protected lines and are prohibited from being switched on/off or uninstalled.

Uninstalling Community Plugins

Community plugin uninstallation uses pnpm remove and synchronizes the bundle layer; it is completely removed after restarting the service.

Plugin Market

The plugin market is based on GitHub and provides high-favorites, fastest-growing leaderboards, and search.

  • High Favorites are sorted by the full GitHub dsh-plugin topic and may include official main repositories, such as deepseek-ai/deepseek-harness.
  • Fastest Growing is an approximate metric: newly created repositories in the last 90 days sorted by stars.
  • GitHub search is rate-limited without a token: 10 times/minute, results cached for 60 seconds.
  • If repository root package.json detection or npm registry detection fails, the card degrades to a “GitHub Install” label.

One-click Add and Enable

After selecting a plugin, one-click add and enable will execute npm installation to the profile and automatically synchronize the bundle layer; it takes effect after restarting the service.

Installation and Enablement

Requirements

  • DSH 0.1.0 series (web profile)
  • pnpm (dependency for dsh plugin)

Installation Commands

Install a published package from npm:

dsh plugin --profile web add dsh-plugin-studio@0.3.1

Install from a local repository, building is recommended first:

dsh plugin --profile web add file:/path/to/dsh-plugin-studio

When installing from GitHub, you need to use the actual repository path; the example uses a placeholder:

dsh plugin --profile web add github:<your-name>/dsh-plugin-studio

Enabling Entry Point

After installation, restart the dsh service, then refresh the page and enter:

  1. Settings
  2. Plugins
  3. Plugin Management / Plugin Market

Typical Usage

  1. View installed plugins: view them grouped by official/community in plugin management, search for package names, and open the details panel to confirm version, homepage, repository, license, and README summary.
  2. Start/stop plugins: perform one-click start/stop on actionable plugins; it writes to the user patch layer cordis.patch.yml, and DSH configuration hot reload takes effect in about 1-3 seconds. Protected lines are hard-blocked.
  3. Install new plugins: select a leaderboard or search in the plugin market. After seeing the card, first confirm the repository and installation method; one-click add and enable will npm install to the profile and synchronize the bundle layer, taking effect after restarting the service.
  4. Uninstall community plugins: uninstallation uses pnpm remove and synchronizes the bundle layer; after success, it is immediately hidden from the current list, and runtime removal is completed after restarting the dsh service.

Use Cases and Notes

Suitable for people who want to maintain multiple plugins in the DSH web profile and wish to complete viewing, start/stop, searching, and installation within the Web settings page.

Notes:

  • Plugins run with the permissions of the current dsh process; you should check the source code and license before installation.
  • Installation/uninstallation is equivalent to the CLI dsh plugin add/remove, and pnpm performs full TLS validation.
  • All HTTP routes are restricted to loopback address access only.
  • Protected lines are hard-blocked from being switched on/off or uninstalled.
  • Package names, runtime plugin IDs, HTTP routes, and local grouping storage files all use dsh-plugin-studio.

Links

  • Directory page: https://www.skillhub.cn/plugins/fazhu4/dsh-plugin-studio
  • GitHub: https://github.com/fazhu4/dsh-plugin-studio