Introduction

DeepSeek Harness uses an “everything is a plugin” architecture. As development and usage continue, systems often accumulate a large number of tool and skill plugins. Developers find it difficult to直观 determine which plugins are active and which have become “dead plugins.” The dsh-plugin-prune plugin uses a pure observation mode to collect real invocation data, error rates, latency, and cross-session usage for each plugin’s tools and skills. Combined with your subjective ratings, it marks plugins that can be safely removed.

What Is This

dsh-plugin-prune is a pure observer plugin. It does not register model tools and does not modify business state. It is maintained by Octo-o-o-o and open-sourced under the MIT license. Its core value is providing objective quantitative metrics to help decide which plugins should be kept or uninstalled.

Core Features

This plugin mainly provides the following capabilities:

  1. Statistical summaries: aggregates invocation counts, error counts, average/total duration, output size, active session count, and daily invocation counts (90-day rolling window).
  2. Plugin health view: adds a Plugin Health tab under Settings → Plugins. It provides an overview table showing the status of installed plugins (normal/disabled/failed), the number of tools contributed, and actual invocation statistics. It automatically marks plugins that have never been used, have failed, or have been marked as useless.
  3. Rating mechanism: in the detail table, supports one-click ratings of “Useful,” “Neutral,” or “Useless” for each plugin.
  4. Data persistence: statistical data is stored as a JSON file at $DSH_HOME/dsh-plugin-prune.json and supports cumulative accumulation across restarts.

Installation and Enablement

After installing the plugin, the DeepSeek Harness Web process needs to be restarted for the changes to take effect.

dsh plugin --profile web add dsh-plugin-prune

After installation is complete, restart dsh web, go to Settings → Plugins, and open the Plugin Health tab to view the data.

Typical Usage

  1. Go to Settings → Plugins → Plugin Health to view the overview and detail tables.
  2. In the detail table, check the tool calls count. If a tool has never been called, the table will show “never called,” suggesting removal.
  3. Check error rates or average latency. Tools with high error rates or abnormal latency may have issues.
  4. For uncertain plugins, click the rating button in that row and mark it as “Useful,” “Neutral,” or “Useless.”

Applicable Scenarios and Cautions

  • Statistical scope: statistics are collected only while the plugin is installed and running. Historical data cannot be restored after the plugin is uninstalled.
  • Source information: DeepSeek Harness does not expose a first-class tool-to-plugin source mapping. The “source plugin” column in the detail table is best-effort: for official tools it uses a static directory, for runtime-registered tools it uses stack frame tracing, for third-party tools it uses a known list, and otherwise it shows “unknown source.” Tool-level statistical data itself is accurate.
  • UI plugin limitation: plugins used only for UI styling or layout do not produce tool calls, so their value cannot be automatically measured by this plugin and must be judged manually.
  • Privacy and security: all statistical data is stored only in a local JSON file and is not uploaded to any server.
  • Dependency requirements: requires dsh >= 0.1.0-rc.5 and a Node.js ^22.19 || >=24 environment.

Summary

dsh-plugin-prune solves the “blind men feeling an elephant” problem in plugin management. By converting implicit usage behavior into explicit statistical metrics, it helps developers keep the plugin list clean and avoids interference from redundant code and configuration. Before using it, be sure to check the source code (GitHub link) and confirm version compatibility.

  • GitHub repository: https://github.com/Octo-o-o-o/dsh-plugin-prune
  • Community directory: https://www.skillhub.cn/plugins/Octo-o-o-o/dsh-plugin-prune