AI Agent Hub
Back to plugins
⚙️

dsh-dynplugin-manager

Workflow Updated 2026.08.25

Run the following command in DeepSeek Harness:

dsh plugin install Thomas-key/dsh-dynplugin-manager

Paste the following prompt into your AI chat to install this plugin:

Run dsh plugin install Thomas-key/dsh-dynplugin-manager in the DeepSeek Harness terminal to install the plugin; the source repository is at https://github.com/Thomas-key/dsh-dynplugin-manager . After installation, restart dsh web and open the Dynamic Plugins panel under Settings.

About this plugin

DSH dynamic plugins (Dynamic Cordis Plugins) are currently reachable only through agent tools. There is no human-operable settings page, no intuitive status feedback, and the two load channels—the session-scoped runner (vm sandbox) and the persistent loader (cordis.patch.yml insert row)—are scattered across different directories and config files under ~/.dsh. Discovering, loading, disabling, and uninstalling each require digging through paths and editing YAML. This plugin adds a Dynamic Plugins panel to the Settings page, consolidating discovery, live status badges (loaded / idle / failed with reason / needs-deps / unbuilt), and one-click disable or uninstall buttons for both channels into a single view, closing the gap that no official UI exists.

Three capabilities do the heavy lifting. First, built-in discovery automatically scans the runner managed directory and the profile node_modules for non-bundle packages—no path configuration required. Second, the install dialog accepts local directories, GitHub repositories (monorepo-aware), and npm packages, letting you choose link or copy per candidate; loader plugins pass an in-memory pre-execution quality gate before the insert row is written, and any failure leaves zero residue. Third, slash commands /dynload (auto-routes self-contained code to the runner session and import-using code to the loader), /dynunmount (reversible disable), and /dynuninstall (full removal with pnpm reference counting that keeps shared dependencies clean) cover the complete lifecycle from the chat interface.

It is built for users who frequently load, debug, or retire DSH dynamic plugins: self-contained function-body plugins, community npm packages with real imports, or local experiments under active development. As long as the plugin runs inside a DSH host, this panel handles discovery, installation, enable/disable, and cleanup in one place. It targets a different scope than the same-named npm package dsh-plugin-manager (which manages bundle plugins), so the two can coexist without conflict.

Use Cases

  • Check live status badges for both runner and loader channels from one Settings panel and pinpoint failure reasons
  • Scan and install dynamic plugins from local directories, GitHub repos, or npm packages via the built-in install dialog
  • Load, disable, or fully uninstall dynamic plugins with /dynload, /dynunmount, and /dynuninstall slash commands in chat

Best For

  • Developers who frequently load or debug DSH dynamic plugins
  • Users managing both session-scoped runner and persistent loader channels
  • DSH users who prefer a visual UI over command-line-only plugin lifecycle management