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.ymland 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¶
- Click a card in the panel to expand its details.
- Click the Enable or Disable button on the card to control the plugin status.
- 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
profiledependencies. 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 |