Back to home@chuyue-yue

dsh-plugin-manager

No description

Stars
0
Language
JavaScript
Created
Aug 17, 2026
Updated
Aug 17, 2026
GitHub repo

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/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

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:

InputEffect
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.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