Bundle
dsh-plugin-installer-ui
插件管理器:在「设置 → 插件」中新增「安装插件」页签,输入 dsh plugin 命令即可添加/移除插件
- Source
- chuyue-yue
- License
- MIT
- Updated
- Updated 21 days ago
Readme
# dsh-plugin-installer-ui > [中文](README.zh-CN.md) 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/install` and `GET /api/plugin-manager/status` HTTP routes that proxy `dsh 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](https://github.com/deepseek-ai/deepseek-harness) (DSH) installed - [pnpm](https://pnpm.io/) (`dsh plugin` is a thin pnpm forwarder) ## Installation ```bash dsh plugin --profile web add dsh-plugin-installer-ui ``` Or install directly from GitHub (no npm publish required): ```bash 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 ```bash 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.client` declares the client-side injection (`platform: web`, `immediately: true`); - `dsh.bundle.patch` declares the bundle activation layer — `dsh plugin add` appends this package to `dsh.profile.bundles` automatically, no manual `cordis.patch.yml` editing. ## License MIT
Install
dsh plugin --profile web add github:chuyue-yue/dsh-plugin-manager
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-plugin-installer-ui from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.