chuyue-yue
dsh-plugin-manager
No description
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 17, 2026
- Updated
- Aug 17, 2026
Introduction
dsh-plugin-installer-ui
A plugin manager for DSH (DeepSeek Harness): adds an Install Plugins tab under
Settings → Plugins, letting you add or remove plugins by typing a dsh plugin
command or a package name — no manual config editing required.
Features
- Install / remove plugins online: in the Settings → Plugins → Install Plugins tab,
type a package name or a full command and run it with one click —
dsh plugin --profile web add/remove <spec>is executed with live output and result status. - Host side: registers
POST /api/plugin-manager/installandGET /api/plugin-manager/statusHTTP routes that proxydsh plugin(command parsing, package-name safety validation, timeout protection). - Client side: injects the Install Plugins tab into the Settings → Plugins tab group (input box + Add / Remove buttons + execution output).
- Environment diagnostics: the tab footer shows the node version, target profile, and DSH_HOME path.
Requirements
- DeepSeek Harness (DSH) installed
- pnpm (
dsh pluginis a thin pnpm forwarder)
Installation
dsh plugin --profile web add dsh-plugin-installer-ui
Or install directly from GitHub (no npm publish required):
dsh plugin --profile web add github:chuyue-yue/dsh-plugin-manager
# or pin a version:
dsh plugin --profile web add https://github.com/chuyue-yue/dsh-plugin-manager/archive/refs/tags/v1.0.0.tar.gz
After installation, restart the dsh web service and refresh the page — the Install Plugins tab appears under Settings → Plugins.
Usage
In the tab, the input accepts three formats:
| Input | Effect |
|---|---|
dsh plugin --profile web add <package> | Install a plugin (full command) |
<package> | Install a plugin (add is the default) |
remove <package> | Remove a plugin |
Installation requires network access and pnpm; if pnpm is not found, install it first and retry.
Uninstall
dsh plugin --profile web remove dsh-plugin-installer-ui
Development
dsh-plugin-installer-ui/
├── lib/
│ ├── index.js # host side: HTTP routes (install / status)
│ └── client.js # client side: Install Plugins tab
├── cordis.patch.yml # bundle activation layer (auto-mounted after `dsh plugin add`)
└── package.json
dsh.clientdeclares the client-side injection (platform: web,immediately: true);dsh.bundle.patchdeclares the bundle activation layer —dsh plugin addappends this package todsh.profile.bundlesautomatically, no manualcordis.patch.ymlediting.
License
MIT