DeepSeek Harness (DSH) adopts a plugin-based architecture and allows developers to install custom components via dsh plugin. Managing built-in plugins and personally installed plugins in the official plugin list can easily make the interface cluttered. dsh-my-plugins adds a My Plugins tab in the Settings → Plugins area, dedicated to managing plugins installed by the user via dsh plugin.

Core Features

This panel provides the following capabilities:

  • Status Inspection: Displays the version and runtime phase (Phase) of installed plugins.
  • Hot Toggling: Supports enabling and disabling plugins, with status changes taking effect immediately.
  • Uninstallation Cleanup: Provides uninstall functionality and cleans up related residual data.
  • Service Restart: The panel includes a one-click tool to restart dsh web, used to refresh the environment after uninstallation or completing critical operations.
  • Styles and Themes: The interface style matches the official plugin list and automatically follows the system’s light/dark mode.
  • Persistence: Disabled states are written to cordis.patch.yml and remain effective after restart.

Installation

Install the plugin package using the official command:

dsh plugin --profile web add https://github.com/I-am-shy/dsh-my-plugins.git

After installation, refresh the browser and go to Settings → Plugins → My Plugins to use it.

Usage

  1. Click a card in the panel to expand its details.
  2. Click the Enable or Disable button on the card to control the plugin status.
  3. To uninstall a plugin, expand the card and click Uninstall, then use the toolbar’s Restart dsh web after confirmation to ensure it fully takes effect.

Notes

  • Management Scope: Only manages plugins defined in the profile dependencies. Official built-in plugins (such as @deepseek-ai/dsh-base) are not displayed or managed.
  • Security: Group entries (options.group) cannot be used as operation targets, preventing inability to recover from the UI by disabling itself.
  • Uninstallation Effect: Uninstallation takes full effect only after restarting dsh web.
  • Audit Logs: All operations are written to audit logs.

HTTP API

The panel provides a same-origin loopback-only HTTP API for script or external tool invocation:

Endpoint Method Request Body Description
/my-plugins/list GET — Get the plugin list, profile, and port information
/my-plugins/set-enabled POST {pkg, enabled} Enable or disable a plugin and persist the change
/my-plugins/uninstall POST {pkg} Uninstall a plugin and clean up
/my-plugins/restart POST {} Restart dsh web