DEEPSEEK HARNESS 1,800+ PLUGINS / TOOL SCHEMA AUDIT
1,800+ DeepSeek Harness Plugins? What Does Your Model Actually See?
No. A community directory count is not your installed profile, tool registry, model-facing Tool Schema, or executed-call count. Audit those five layers before changing your MCP setup or estimating token impact.
01 / READ THE SOURCE LABEL
“1,800+” is a community snapshot, not one official metric.
Four nearby discussions use different counts and inclusion scopes. That is useful evidence of ecosystem momentum, but not a live registry contract.
| Snapshot | Claim | Scope boundary |
|---|---|---|
| Discussion #1597 2026-08-14 | “1,700+” in the title; “2,300+” topic repositories in the body | A community plugin-discovery post using more than one discovery count. |
| Discussion #1728 2026-08-15 | 1,805 collected items | A community-maintained Blue-Whale-Harness collection shared on the official repository board. |
| Discussion #2000 2026-08-15 | 1,804 repositories; 1,663 labeled “real DSH” | The author says the label is based on README mentions and that topic categories are rough keyword filters. |
| Discussion #2031 2026-08-15 | 1,804 plugin repositories × 780 discussion posts | A derived community ecosystem report built from the same community collection plus discussion observation. |
Strongest caveat: Discussion #2000 says its 1,804-row dataset labeled 1,663 repositories “real DSH” using README mentions and used rough keyword filtering. Treat all four as community discovery evidence.
02 / SEPARATE FIVE COUNTS
Directory ≠ installed ≠ registered ≠ model-facing ≠ executed.
Each number has a different owner, scope, and measurement point.
Community directory entries
A topic search or community catalog can contain repositories, compatibility bridges, duplicates, README-only mentions, and projects that are not installed anywhere. Its count belongs to that source and date.
Audit: Record the URL, snapshot date, inclusion rule, deduplication rule, and verification level.
Profile-installed dependencies
DeepSeek Harness profiles install out-of-tree packages and stack bundle patches. Your web profile contains only the dependencies you installed; shipped bundles can add more mounted rows than a top-level package list shows.
Audit: Run dsh plugin --profile web list --depth 0, then inspect the composed profile.
Registered runtime tools
Plugins are not tools. A UI, provider, session, or theme plugin may register no tool; one MCP client or tool bundle may register many. Registrations also unwind when their plugin unloads.
Audit: Count actual tool-registry entries for the selected agent and running profile.
Model-facing Tool Schema
The selected agent and tool-presentation mode decide what reaches prompt assembly. Native, code, and both modes do not expose the same request Tool Schema even when the underlying registry is unchanged.
Audit: Inspect request/header.tools on each request; record array length and serialized UTF-8 JSON bytes.
Executed tool calls
Advertisement is not execution. A request can carry schemas for tools that are never called, while one advertised router can lead to a later remote call. Executions are task-specific trace events.
Audit: Run a fixed task and count the actual calls and results in its trajectory.
Official architecture: every part of DeepSeek Harness is a plugin, profiles compose ordered layers, and each step reads registered prompt sections and tool schemas. Pinned architecture at 47f9438 ↗
03 / RUN THE AUDIT
Measure your profile and one real request in six steps.
The audit moves from a public catalog claim to the exact task trajectory that could incur overhead.
A0 / FREEZE
Freeze the ecosystem claim before comparing it
Write down the directory URL, capture date, eligibility rule, and whether rows were installed or merely discovered. Treat 1,800+ as an August 2026 community snapshot—not an official live registry total.
A1 / INSTALLED
List this profile's top-level dependencies
Run `dsh plugin --profile web list --depth 0`. The official CLI forwards plugin-management arguments to pnpm, so this identifies profile dependencies; it is not a count of all mounted internal plugins or tools.
A2 / COMPOSED
Inspect what the profile will mount
Run `dsh --profile web --dump-config`. Review bundle layers and user patches without booting. This catches a plugin package that is installed but not in the active composition, and shows rows contributed by shipped bundles.
A3 / VISIBLE
Measure the request, not the directory
Run one fixed task and inspect `request/header.tools`. Save both the tool count and `Buffer.byteLength(JSON.stringify(header.tools ?? []), 'utf8')`. The byte result describes that JSON payload only.
A4 / CALLED
Count what the model actually invoked
In the same trajectory, count executed calls, remote MCP calls, failures, and retries. Do not infer execution frequency from registered or advertised capability counts.
A5 / CONTROL
Change one exposure layer and rerun
Keep the model, tasks, profile, and MCP servers fixed. Compare model-facing Tool Schema bytes, completed tasks, calls, retries, and latency. Never convert local schema bytes into provider tokens, cost, or quality without separate measurements.
dsh plugin --profile web list --depth 0
dsh --profile web --dump-configThe pinned official CLI reference says plugin arguments are forwarded to pnpm and --dump-config prints the composed tree without booting. The pinned tool-registry documentation explains why registered capabilities and assembled model-facing tools can differ by presentation mode.
04 / DECIDE FROM THE REQUEST
MCP Lens is useful for measured MCP schema pressure—not ecosystem size.
TEST MCP LENS WHEN
Your request exposes many long-tail MCP schemas.
request/header.toolsis materially large before useful calls begin.- Dozens to thousands of remote tools are registered across MCP servers.
- Most remote capabilities are not used on most tasks.
- You can evaluate retrieval, task completion, calls, and latency in a controlled arm.
SKIP MCP LENS WHEN
The 1,800+ headline is your only evidence.
- Your selected profile has a small, stable model-facing tool surface.
- The installed plugins add UI, providers, or services rather than tools.
- History, tool results, system prompt, or repeated steps dominate the request.
- You need an operating-system sandbox or endpoint security.
05 / USE THE NARROW BENCHMARK
The rc.9 fixture answers one component question.
FIXED 1,000-TOOL FIXTURE
647,962 B → 1,114 B
The official direct MCP client registered 1,000 remote schemas; MCP Lens registered two stable interfaces. The metric is serialized registered Tool Schema JSON bytes.
Inspect the pinned rc.9 benchmark ↗WHAT IT DOES NOT PROVE
BYTES ≠ TOKENS
It does not show that 1,800 directory entries become 1,800 tools, or establish provider tokens, price, latency, cache behavior, task completion, or quality.
Run the full token-layer audit ↗NEXT STEP
Count the schemas your model receives—not repositories somebody indexed.
If the model-facing MCP layer is material, test MCP Lens in a reversible profile with explicit allow rules. MCP Lens is an independent community project, not a DeepSeek product.
FAQ / DIRECT ANSWERS
Seven distinctions behind the DeepSeek Harness plugin count.
01Does DeepSeek officially claim there are 1,800+ Harness plugins?
No source reviewed here establishes that as an official live total. The 1,800+ figures are dated community snapshots posted inside the official GitHub repository's Discussions. Their inclusion rules and counts differ.
02Does a directory with 1,800 plugins mean I installed 1,800 plugins?
No. A directory is a discovery dataset. Your selected profile installs its own dependencies and composes only its bundle and patch layers.
03Does one installed plugin equal one registered tool?
No. A plugin can register zero, one, or many tools. An MCP client can discover many remote tools, while UI, theme, provider, or session plugins may register none.
04Are all registered tools sent as model-facing Tool Schema?
Not necessarily. DeepSeek Harness supports native, code, and both presentation modes. The tool catalog can remain registered while the assembled model-facing tool list changes, so inspect request/header.tools for the actual request.
05Does a model-facing schema mean the tool was executed?
No. A schema advertises a callable interface. Only the session trajectory shows which tools were actually called, failed, retried, or never used.
06Do Tool Schema JSON bytes equal provider tokens or cost?
No. Serialized JSON bytes are a reproducible component metric. Tokenization, caching, pricing, history, model steps, output, and task quality require separate evidence.
07When is MCP Lens useful in a large plugin ecosystem?
It is useful only when measurement shows that many long-tail MCP tool schemas materially enlarge the model-facing request. It is not useful merely because a community directory is large, and it does not replace an OS sandbox or endpoint security.