Introduction¶
When extending agent capabilities in DSH, plugins often come from GitHub repositories. Manually finding plugins requires searching for topic:dsh-plugin, checking package.json one by one, confirming the existence of dsh.bundle / dsh.client, and then handling installation, updates, and compatibility issues. dsh-plugin-mall converges these steps into DSH: searching for repositories with the topic:dsh-plugin tag, automatically validating the manifest, providing a plugin marketplace entry in the Settings page, and offering five agent tools usable in any session.
What is this¶
1e0zj/dsh-plugin-mall is a DSH plugin marketplace maintained by 1e0zj, licensed under MIT, and the package.json version in verified data is 0.4.17. It is designed for local DSH profiles to discover, validate, install, and update DSH plugin repositories on GitHub. It is not the DeepSeek / Fangyuan official app store, but rather a community plugin repository.
Core Features¶
- Search for plugin repositories on GitHub with the
topic:dsh-plugintag. - Automatically fetch
package.jsonfrom search results and validatedsh.bundle/dsh.clientmanifest. - Provide a
Settings → Plugins → Marketplacetab in the DSH web UI. - Provide five agent tools usable in any session.
- Support one-click installation and updating of plugins; installation prioritizes the npm source and compares against the registry
latest. - Scan compatibility badges statically while browsing, including declared conflicts, exclusive groups, loader-id conflicts, host module shadowing, and peer/Node/OS ranges.
- Run isolated preflight before installation: disable scripts to install into a temporary directory and compare with the live profile; hard conflicts block, warnings require explicit confirmation.
- Anti-squatting: npm tarball is prioritized only if the
repositoryURL in the registry entry points back to the same GitHub repo; otherwise, it falls back to the explicitgithub:spec. - Built-in rate-limit circuit breaker, handling of GitHub’s 1000-result search window, pnpm self-healing, and one-click DSH restart via loopback.
- Snapshot key profile files during installation; restore them if pnpm fails.
Installation and Enablement¶
Install from npm:
dsh plugin --profile web add @1e0zj/dsh-plugin-mall
Restart DSH after installation.
Install from GitHub:
dsh plugin --profile web add github:1e0zj/dsh-plugin-mall
Restart DSH after installation.
For local development, the current link: installation is unavailable. The verified source states the reason is upstream framework package dist-tags / peer ranges conflicts; you can switch to npm pack to create a local tarball first, then install it using a file: spec. An example is shown below:
npm pack
dsh plugin --profile web add file:./<your .tgz filename>
After repacking, simply add will not update; you need to remove then add, or give the test build a separate version, then completely restart DSH.
Typical Usage¶
-
Search for repositories with
topic:dsh-plugininSettings → Plugins → Marketplace. -
View compatibility badges while browsing. Badges come from static scanning and cover declared conflicts, exclusive groups, loader-id conflicts, host module shadowing, and peer/Node/OS ranges; these badges are advisory, and the preflight before installation is the mandatory check.
-
Install a plugin. An isolated preflight will run before installation, disabling scripts to install the candidate plugin into a temporary directory and comparing it with the live profile; hard conflicts block, and warnings require explicit confirmation.
-
Update a plugin. Installed plugins can be compared with the registry
latestand support one-click updates. -
If additional launch protection is needed, launch via
guard launch, which can increase the grace window and override loading/application failures of entries after the marketplace. -
If using one-click DSH restart, be aware it is limited to loopback and can be disabled via
allowRestart: false; restarting in a Windows interactive terminal will open a visible console, and closing the window will terminate the guard/dsh tree.
Applicable Scenarios and Notes¶
Suitable for people managing plugins in a local DSH profile: those who need to find DSH plugins on GitHub, validate manifests, install and update, and check for conflicts before installation.
Notes to consider:
- Compatibility badges while browsing are just advisory; the installation preflight is the mandatory check.
- Plugins run with the current DSH process permissions; you should check the source code and license before installing; the current repository license is
MIT. link:installation is currently unavailable; for local development, it is recommended to usenpm packto create a tarball and install it using thefile:spec.- After repacking,
addagain does not necessarily update; you need toremovefirst or change the version, then completely restart DSH. - Known issue since
v0.3.4(includingv0.4.17): ordinarydsh webstartup might commit and delete the pending snapshot after the marketplace plugins are loaded but before subsequent loader entries are fully loaded.
Conclusion¶
dsh-plugin-mall puts GitHub plugin search, manifest validation, installation preflight, update management, and DSH restart protection into a single DSH plugin. You still need to check the source code and run permissions before using it.
Repository:
https://github.com/1e0zj/dsh-plugin-mall
Directory page link:
https://www.skillhub.cn/plugins/1e0zj/dsh-plugin-mall
This URL comes from the link/cue and does not directly appear in the verified body text; refer to the GitHub repository information.