Introduction¶
DSH’s plugin philosophy is “everything is a plugin”. If you need to frequently add, disable, or uninstall plugins in your local web profile, the command-line method usually involves directly editing the profile’s package.json and dsh.profile.bundles, followed by restarting dsh web and hard refreshing the browser.
dsh-plugin-manager puts these operations into the settings panel of the DeepSeek Harness Web GUI: listing, enabling, disabling, installing, and uninstalling plugins for the web profile. The DSH community directory is an independent site with no official affiliation to DeepSeek / Fuyao, and should not be interpreted as an official app store.
What is this¶
dsh-plugin-manager is a DSH plugin that manages local plugins within the DeepSeek Harness Web GUI. It is maintained by fuyao606 and is licensed under MIT.
It manages the web profile by default, reading from:
dependenciesanddsh.profile.bundlesin$DSH_HOME/profiles/web/package.json- the actual versions in
node_modules
The interface distinguishes between “User Plugins” and “Built-in Modules”.
Core Features¶
List Plugins¶
View plugins in the current profile within the DeepSeek Harness Web GUI settings panel, and display the actual versions based on package.json and node_modules.
Enable and Disable¶
When enabling or disabling a plugin, switch the mount status in dsh.profile.bundles. Disabling retains the installed content, but the bundle will not be loaded on the next startup.
Install and Uninstall¶
During installation, enter the npm package name, execute pnpm add <spec> in the profile directory, and reconcile bundles based on installation status.
During uninstallation, execute pnpm remove <name> and reconcile bundles.
API and Client¶
dsh-plugin-manager provides a /plugin-manager/api JSON API, with operations limited to:
list
enable
disable
install
remove
The API only accepts POST and reuses DSH Web API’s request trust fence, checking loopback Host, trustedHosts, and same-origin requests.
The client registers a settings.section slot to render the plugin management interface.
Validation¶
The plugin uses trust fences and whitelist validation for the API and installation specs. Installation specs only support npm package names; specs like github:, file:, local paths, and tarball URLs must be done via the command line.
Installation and Usage¶
Recommended Installation¶
Recommended installation from GitHub:
dsh plugin --profile web add github:fuyao606/dsh-plugin-manager
Fixed Version Installation¶
You can also pin to a specific version:
dsh plugin --profile web add github:fuyao606/dsh-plugin-manager#v0.1.1
Installation via npm¶
If an npm package has been published, you can use:
dsh plugin --profile web add dsh-plugin-manager@latest
Local Development Installation¶
First clone the repository, then build and install:
git clone https://github.com/fuyao606/dsh-plugin-manager.git
cd dsh-plugin-manager
pnpm install
pnpm build
dsh plugin --profile web add ../dsh-plugin-manager
Open Plugin Manager¶
After installation, restart dsh web and hard refresh the browser, then open:
Settings → Plugin Manager
Typical Usage¶
Installation Specs¶
The “Install Plugin” input field supports the following npm package name formats:
namename@versionname@tag@scope/name@scope/name@version
Example specs:
@tonydua/dsh-web-search-exa
dsh-better-sidebar@latest
dsh-plugin@1.2.3
For specs like github:, file:, local paths, and tarball URLs, please use the command line for installation.
Status Descriptions¶
- Enabled: The bundle is mounted to
dsh.profile.bundles. - Disabled: The package remains installed, but has been removed from the bundle mount list.
- Blocked: Conflicts with the current profile’s Cordis patch ID and cannot be forcibly enabled.
- Normal Dependency: An npm dependency, not a DSH bundle, does not support enable/disable.
- Built-in: Built-in bundles originally existing in the profile, cannot be uninstalled.
Use Cases and Notes¶
Suitable for developers who need to manage local DSH web profile plugins. Please note before use:
- All changes only apply to the profile’s
package.jsonandnode_modules; they take effect only after restartingdsh weband hard refreshing the browser. - Host-side changes cannot be hot-loaded; simply refreshing the page will not apply the configuration.
- It manages the
webprofile by default; if using another profile, ensure the profile exists and can be started normally by DSH. - Normal dependencies are not DSH bundles and do not support enable/disable.
- Built-in bundles cannot be uninstalled.
- Blocked indicates a conflict with the current profile’s Cordis patch ID and cannot be forcibly enabled.
- Requires Node.js
>=20and usespnpmas the package manager. - Plugins will still run with the permissions of the local DSH process; please only install trusted npm packages; check the source code and license before installing.
Links¶
- GitHub:
https://github.com/fuyao606/dsh-plugin-manager - Plugin Directory Page:
https://www.skillhub.cn/plugins/fuyao606/dsh-plugin-manager