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.

Updated 2026-08-16Community-count boundary preserved

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.

Community claims posted in the official DeepSeek Harness repository
SnapshotClaimScope boundary
Discussion #1597
2026-08-14
“1,700+” in the title; “2,300+” topic repositories in the bodyA community plugin-discovery post using more than one discovery count.
Discussion #1728
2026-08-15
1,805 collected itemsA 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 postsA 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.

01Discovery scope

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.

02Machine and profile scope

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.

03Active capability scope

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.

04Per-request exposure scope

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.

05Task behavior scope

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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-config

The 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.tools is 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.