DeepSeek Harness

πŸ—’οΈ deepseek-ai/deepseek-harness (dsh) β€” an open-source agent harness from DeepSeek AI, built on an everything-is-a-plugin architecture and powered by Cordis, whose design is written up in A Programming Paradigm for Spatiotemporal Composability. MIT.

⚠️ Developer preview, iterating rapidly β€” there will be compatibility-breaking changes. Read the safety notice before running it.

Description

🧩 What it is:

  • A harness, not a model wrapper β€” the frontier lab shipping its own agent runtime rather than leaving it to third parties, in the same category shift described in Harness Engineering.
  • Everything is a plugin β€” capabilities, tools and surfaces all arrive as plugins; the community tags them with the dsh-plugin GitHub topic for discoverability.
  • Cordis-powered β€” a composability framework with an actual published design paper behind it, which is unusual for this class of tool.
  • Web UI first β€” the default launch serves a browser UI on 127.0.0.1:3080. SSH launches only print the host URL, since the SSH client or editor owns the forwarded address.
  • Profile-scoped plugin management β€” e.g. dsh plugin --profile web add … / remove ….

Download or use

Run from npm (needs Node.js):

npx @deepseek-ai/dsh web        # Web UI at http://127.0.0.1:3080
npx @deepseek-ai/dsh web --no-open   # don't open a browser

Run from source:

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web

Reasoning for

Worth tracking as a harness-layer entry rather than another model client. The interesting part is not DeepSeek’s models β€” it’s that the plugin boundary is the whole architecture, which makes it a natural target for skills that already publish cross-agent (see Agent Skills and Vercel Skills).

That’s already happening: Archify ships a community DSH integration β€”

dsh plugin --profile web add @tt-a1i/archify-dsh@0.1.0

β€” targeting developer-preview @deepseek-ai/dsh@0.1.0-rc.6 on Node ^22.19.0 || >=24.0.0. A useful early signal of whether the plugin ecosystem actually takes.

For me this stays in the watch column until the breaking-change window closes. The developer-preview warning is explicit and the whole point of a harness is stability underneath your workflows.

Alternatives considered

  • Claude Code β€” my primary harness; skills/MCP/hooks rather than a single plugin abstraction.
  • Hermes Agent Β· Agent Zero β€” other open harnesses; DSH’s differentiator is the Cordis composability model and a lab standing behind it.
  • LiteLLM / OmniRoute β€” gateways, not harnesses; they sit under a tool like this rather than replacing it.

Resources


Template: tool