DSH Plugins
+268 added on 2026-08-15

DeepSeek Harness
Plugins Marketplace

719 installable dsh plugins, 688 passing all seven structural checks. Every entry is verified against the published npm tarball — not collected from links.

719
Installable plugins
688
Passing every check
38
Pinned to a dead version
1,031
Packages indexed

Browse by purpose

All 719

What is a DeepSeek Harness plugin?

A dsh plugin is an npm package that declares dsh.bundle in its package.json and ships a cordis.patch.yml — a config layer that inserts or replaces rows in the harness plugin tree.

DeepSeek Harness (dsh) is an open-source agent harness released by DeepSeek on 10 August 2026. It is built on Cordis and takes one idea to its limit: everything is a plugin. Model adapters, the tool registry, the session log — and the agent loop itself — are all plugins, so all of them can be replaced from configuration.

That is why a dsh plugin is not a callback registered against a plugin API. It is a layer in an ordered stack. Installing one appends its patch to your profile; the patch addresses rows by id, and later layers win. There is no privileged core to hook into, so nothing needs an escape hatch.

A plugin module exports apply(ctx). Through ctx it registers services, typed events, tools, and prompt fragments — and every registration is a reversible effect, so unloading a plugin undoes all of it.

Why use dsh plugins?

Because replacing one provider changes the whole product: point the filesystem and process providers at a remote sandbox and Bash, PTY, and LSP all move with them — no per-tool fork required.

dsh models each capability as a seam with three roles: a Service Definition that declares the interface, a Service Provider that implements it, and a Consumer — usually the model-facing tool — that uses it. Extensions depend on the definition and never on a provider, so a provider swap is invisible to everything downstream.

The practical payoff is scope. 719 installable plugins already exist, and they cover ground a single vendor would take years to reach: 137 Web UI plugins, 99 model providers, 73 vision and multimodal plugins, 56 search plugins, 51 usage and cost meters, 45 skill packs.

The harness also lets an agent modify its own runtime. The cordis_define tool has the model write a plugin during a conversation and mount it live, then unmount it — possible only because every registration is reversible.

How do you install a dsh plugin?

Run dsh plugin --profile <name> add <package>. It forwards to pnpm inside the profile directory, then appends the package to that profile’s bundle layer list if it declares dsh.bundle.

Start the harness first with npx @deepseek-ai/dsh web, which serves the Web UI at 127.0.0.1:3080. dsh requires Node ^22.19 or >=24.

After installing, run dsh --profile <name> --dump-config before booting. It prints the composed configuration tree; if your plugin is not in it, the problem is the install, not the plugin code.

Prefer npm installs over git installs. An npm package ships artifacts the author already built, so nothing from the package executes during installation. A git install fetches source and needs allowBuilds authorization in the profile’s pnpm-workspace.yaml — which means letting that package run code on your machine, outside any sandbox the agent uses.

dsh vs Claude Code, OpenClaw, and Hermes Agent

All four are agents, but only dsh makes the agent loop itself a replaceable plugin. Every cell below is checkable from each project’s own repository.

DeepSeek HarnessClaude CodeOpenClawHermes Agent
What it isAgent harness where every part is a pluginAnthropic’s official coding agentPersonal AI assistant and multi-channel gatewaySelf-improving agent that grows its own skills
Extension modelOrdered config layers; rows addressed by idSkills, MCP servers, hooks, subagentsExtensions and provider pluginsSkills learned and refined from experience
Is the agent loop replaceable?Yes — it is itself a pluginNoNoNo
Primary languageTypeScriptTypeScriptTypeScriptPython
Best when you want toRebuild the harness itselfShip code in a terminal todayReach an assistant from any channelLet an agent accumulate capability

Who it is for

Harness builders

You want to replace the agent loop, the tool pipeline, or the session store rather than work around them. No other harness lets you swap those from config.

Web UI extenders

359 of 719 plugins ship a browser half through dsh.client, so the GUI is extensible by the same mechanism as the backend — one package, both halves.

Teams switching from another agent

Bridges already exist: 10 packages target Claude Code compatibility, 10 target Codex, and dedicated plugins import chat history from Claude Code, Codex, ChatGPT, Cursor, and Gemini.

Plugin authors

The ecosystem is four days old and adding ~240 plugins a day. Only 7 of 719 fill in store metadata, so a well-packaged plugin is visible immediately.

Frequently asked questions

How many DeepSeek Harness plugins are there?

As of 15 August 2026 there are 719 installable dsh plugins on npm — packages that declare dsh.bundle and therefore contribute a config layer. A further 312 dsh-related packages are indexed as libraries or browser halves, for 1,031 total. The first one was published on 13 August 2026, three days after dsh itself reached npm.

Are DeepSeek Harness plugins safe to install?

A plugin runs inside the dsh process with everything dsh can reach, so treat installing one as running the author’s code. Structural checks catch packaging faults — 688 of 719 plugins pass all seven — but they read packaging, not behaviour. Prefer npm installs, which execute no package code during installation; a git install requires allowBuilds authorization, which does execute the package’s build script on your machine outside any sandbox.

What is the difference between DeepSeek Harness and Claude Code?

Claude Code is Anthropic’s official coding agent, extended through skills, MCP servers, hooks, and subagents — but its agent loop is fixed. DeepSeek Harness makes the loop itself a plugin, so it can be replaced from configuration along with model adapters, the tool registry, and the session log. Claude Code is the better choice for shipping code today; dsh is the better choice for rebuilding the harness itself.

How do I publish a dsh plugin?

Publish an npm package with three files: a package.json declaring "dsh": { "bundle": { "patch": "./cordis.patch.yml" } }, the patch file itself, and the plugin module it references. The patch file must appear in the package’s files array — omitting it is the most common failure in this catalogue, because the package installs cleanly and the layer simply is not there. Add dsh-plugin to your keywords so the catalogue finds you.

Why do plugin rankings here ignore downloads and stars?

Because every plugin in the ecosystem is less than a week old, so downloads and stars encode publication order rather than quality — they are near zero for almost every entry. Ranking instead uses structural evidence: whether the declared patch actually ships, whether patch rows resolve on a user’s machine, whether the declared browser half is present, and whether the plugin’s dsh dependency range still admits the currently published version.