The core design philosophy of DSH is “everything is a plugin.” In the Web interface under “Settings → Plugins,” the native “Plugin List” tab typically only provides viewing functionality and does not allow plugins to be enabled or disabled. This article introduces an open-source plugin that adds a start/stop control tab to the Web settings, enabling dynamic management of Cordis Loader plugins.
Plugin Positioning¶
- Name: dsh-plugin-ctl
- Maintainer: LinscStef
- License: MIT
- Core value: Adds a start/stop control tab to the DSH Web UI for starting or stopping any Cordis Loader plugin.
Core Features¶
-
New control tab
Adds a “Start/Stop Control” tab to the “Settings → Plugins” interface, positioned after the native “Plugin List” tab. -
List non-Group Loader entries
Lists all non-groupLoader entries. Each row displays the module name, entry ID, configuration status (enabled / disabled), and Cordis status (unmounted / waiting for dependencies / loading / mounted / mount failed / unmounting). -
One-click start/stop
Supports starting or stopping a plugin with one click. For core plugins (such asdsh-web-app,dsh-base), the stop action requires secondary confirmation to prevent accidental unloading of functionality. -
Persistent configuration
The result of start/stop actions is written to the Loader configuration. After DSH is restarted, plugins will retain their previous start/stop state. -
Interaction details
Supports search functionality, the interface language follows the system language, and inline prompts are displayed when an operation fails.
Installation and Enabling¶
Before using this plugin, ensure that the target machine has DSH installed (the dsh command is available) and pnpm installed, and that the @deepseek-ai/cordis version in the environment is no lower than ^4.0.1.
Run the installation command:
dsh plugin --profile web add git+https://github.com/LinscStef/dsh-plugin-ctl.git
After installation, restart DSH, open “Settings → Plugins,” and you will see the new “Start/Stop Control” tab.
Typical Usage¶
- Restart the DSH process to load the new plugin.
- In the settings interface, switch to the “Start/Stop Control” tab.
- Find the target plugin entry and click the “Start” button.
- If stopping a core plugin is required, click “Stop” and confirm again in the popup dialog.
Notes¶
- Dependency environment: Ensure that DSH and pnpm are installed locally.
- Core plugin risk: Disabling core plugins (such as
dsh-web-app,dsh-base) will immediately unload the corresponding functionality. Please operate with caution; stopping core plugins requires secondary confirmation. - Authentication scope: The
/plugin-ctl/apiroute uses unauthenticated routing, just like other local plugins, and is intended only for the local Web UI, so there is no risk of remote access.
Ecosystem Links¶
- GitHub repository: https://github.com/LinscStef/dsh-plugin-ctl
- Community directory: https://www.skillhub.cn/plugins/LinscStef/dsh-plugin-ctl