插件目录 / Developer / dsh-plugin-prune
dsh-plugin-prune
已验证 · 实测可装 Octo-o-o-o
功能简介
Prune dead plugins in DeepSeek Harness: real usage telemetry per plugin (calls, error rate, latency, sessions) + your value ratings — find the plugins you can safely remove.
可用 — 实测通过,早期项目
Prune dead plugins in DeepSeek Harness: real usage telemetry per plugin (calls, error rate, latency, sessions) + your value ratings — find the plugins you can safely remove. 实测能干净安装、正常启动。早期项目,但功能可用。
「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
dsh-plugin-prune
Prune dead plugins in DeepSeek Harness — measures the real usage of every
plugin's tools and skills (calls, error rate, latency, cross-session use) plus
your value ratings, and flags the plugins you can safely remove.
What it does
This is a pure observer plugin: it registers no model tools and modifies no
business state. It:
- Listens to
tools/execute+tools/resultand aggregates, per tool and per
skill, the number of calls, error count, total/average dispatch duration,
rendered output size, distinct using sessions, and per-day call counts
(rolling 90-day window). - Adds a 「插件体检 / Plugin Health」 tab inside Settings → Plugins with:
- a plugin overview table joined with the shipped plugin inventory
(pluginInventoryRemote): status (ok/disabled/failed), contributed tool
counts and real call statistics per installed plugin — flagging the
never-used / failed / marked-useless ones, i.e. the direct answer to
"which plugins can I remove"; - a tool/skill detail table: calls, 7-day activity, error rate, average
latency, last use, sessions, output size, machine suggestions
(never called — likely a dead plugin, consider removing / high error
rate / marked useless / active and reliable), and a one-click
Useful / Neutral / Useless value rating per row.
- a plugin overview table joined with the shipped plugin inventory
- Persists the statistics as JSON at
$DSH_HOME/dsh-plugin-prune.json
(falls back to~/.dsh/dsh-plugin-prune.json), so counts accumulate across
restarts.
Note: statistics are only collected while the plugin is installed and
running; past usage cannot be reconstructed.
Installation
# from npm
dsh plugin --profile web add dsh-plugin-prune
# from a git checkout
dsh plugin --profile web add github:<your-org>/dsh-plugin-prune
Restart dsh web and open Settings → Plugins → Plugin Health.
Compatibility: dsh >= 0.1.0-rc.5, Node ^22.19 || >=24, web profile.engines.dsh gates installation on older deployments.
Configuration (optional)
The patch row accepts optional config:
- id: plugin-prune
name: 'dsh-plugin-prune'
config:
debounceMs: 2000 # persist debounce (>= 100)
keepDays: 90 # per-day count window (>= 7)
dataPath: '' # absolute file override; empty = $DSH_HOME default
Honest limitations
- DeepSeek Harness exposes no first-class tool → plugin provenance. The
“source plugin” column is best-effort: a static catalog for shipped official
tools, stack-frame attribution for tools registered while this plugin runs,
and a small table for well-known third-party tools. Anything else shows
「未知来源」 — the per-tool statistics themselves are always exact. - UI-only plugins (themes, skins, layout tweaks) emit no tool calls, so they
cannot be measured automatically. The value of such plugins remains a manual
judgement. - “Safe to remove” combines objective signals (frequency, error rate, latency,
cross-session use) with your own rating; use both before uninstalling.
Privacy & security
- Everything stays on your machine: the stats file contains tool names,
counters, timestamps and your ratings. Nothing is sent anywhere. - Like every dsh plugin, this package is host code: review it before
installing (it is small: ~800 lines total, no runtime dependencies beyond
the dsh platform packages), and pin a version or commit.
Development
pnpm install
pnpm run check # typecheck (host + client) and build
Layout: src/index.ts (host service) → lib/; src/client/ → the__ModuleLoader__ factory bundle at client/client.js. cordis.patch.yml
inserts the host row; scripts/preflight.mjs guards the package-name wiring.
Publishing to other users
npm
npm publish --access publicpreparebuilds on git installs;prepackruns the full check plus
preflight. Publish a version only afterpnpm run checkpasses.GitHub — push the repository and add the topic
dsh-pluginsodsh-find-pluginand the community directories can discover it.awesome-dsh-plugin.com — submit the package to the community curated
directory so the marketplace surfaces it.Changelog & tags — tag releases (
v0.1.0); the marketplace and users
alike prefer pinned versions overlatest.
License
MIT
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-plugin-prune」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:Octo-o-o-o/dsh-plugin-prune Headless(CLI)profile:
dsh plugin --profile headless add github:Octo-o-o-o/dsh-plugin-prune 实测报告
验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。