Introduction¶
DSH’s philosophy is “everything is a plugin.” In actual use, a DSH profile often depends on multiple plugins, with sources potentially including npm packages, GitHub repositories, fixed commits/tags, and local link: or file: dependencies. Checking versions one by one, verifying updates, and deleting old plugins can be a scattered process.
dsh-plugin-manager consolidates these operations into the DSH Web settings page: upon entering the page, it first reads the local state; after clicking “Check for Updates,” it then accesses npm or GitHub to confirm if a new version or commit exists before enabling the update button.
What is this¶
dsh-plugin-manager is a DSH plugin maintained by huahai0202 used to manage user-installed DeepSeek Harness plugins within the DSH Web settings page.
It provides an entry point for “Plugin Management,” allowing you to view the direct dependencies of the current DSH profile and their installed versions, manually check for updates, update a single plugin or all updatable plugins, and delete plugins.
Core Features¶
The following are the verified capabilities:
- List the direct dependencies of the current DSH profile and their installed versions.
- Read only local state upon entering the page; access npm or GitHub only after clicking “Check for Updates.”
- Compare the current commit in
pnpm-lock.yamlwith the remote commit for GitHub branch sources. - Enable the update button only when a new version or new commit is confirmed.
- Support updating a single plugin, updating all updatable plugins, and deleting plugins.
- Sync
dsh.profile.bundlesaccording to DSH’s plugin mechanism after updates and deletions. - Page text follows DSH’s language settings, supporting both Chinese and English.
The key point here is: the page displays local state by default, and actively accesses remote sources only when “Check for Updates” is clicked.
Installation and Usage¶
The prerequisites for use are Node.js 22.19+ and pnpm.
Execute the following command first to install the plugin to the web profile:
dsh plugin --profile web add github:huahai0202/dsh-plugin-manager
After installation, restart dsh web, and then use it in “Settings → Plugin Management.”
Typical Usage¶
Daily use typically follows this order:
- Enter “Settings → Plugin Management” to view the list of plugins under the current profile and their installed versions.
- Click “Check for Updates” to let the page access npm or GitHub to check if there is a new version or commit.
- If a plugin has an update available, you can update a single plugin; if multiple plugins need updating, you can update all updatable plugins.
- If a plugin is no longer needed, you can delete it.
- After updating or deleting, restart
dsh webfor the running plugin code to reload.
There are a few edge cases to be aware of during use:
- “Check for Updates” is the only check operation that actively accesses the remote.
- GitHub fixed commits or tags will be displayed as fixed references and will not prompt for branch updates.
- Local dependencies like
link:andfile:are displayed but do not perform remote updates. - After updates and deletions,
dsh.profile.bundlesis synced according to DSH’s plugin mechanism, so you need to restartdsh webafter completion.
Scenarios and Notes¶
Suitable for developers who need to maintain multiple profile plugins in DSH Web. Especially when plugin sources are a mix of npm, GitHub, and local dependencies, viewing versions, checking updates, and deleting plugins can be centralized on the page without repeatedly switching to the terminal.
You should check the source code and license before installing. dsh-plugin-manager uses the MIT license. Since plugins run with the current dsh process permissions, you should confirm the source is trustworthy before installing and understand that it will perform plugin management operations such as reading local state, checking remote sources, updating, or deleting.
Reference¶
- Directory: https://www.skillhub.cn/plugins/huahai0202/dsh-plugin-manager
- GitHub: https://github.com/huahai0202/dsh-plugin-manager