Back to blog

Tuesday, August 18, 2026

DeepSeek Harness: Everything Is a Plugin

cover

On August 13, DeepSeek released the general-availability build of DeepSeek-V4-Pro (0813) and, on the same day, open-sourced DeepSeek Harness (dsh) under the MIT license. The pairing is the signal, not either half on its own: DeepSeek is no longer competing only on model intelligence and token price. It's moving into the layer that decides how models use tools, edit files, and run long agentic workflows — the layer where Claude Code and Codex live.

Within days the repository passed 160,000 stars, and it's easy to see why: this is the first major model vendor to publish its actual agent harness in source form.

What DeepSeek Harness Is

DeepSeek Harness is a Node.js agent runtime built on Cordis, a meta-framework whose core premise is that every part of an agent is replaceable. DeepSeek states it bluntly: models, tools, skills, sessions, sandboxes, filesystems, loops, orchestration, and the UI are all implemented as plugins and can be mixed, matched, replaced, and extended.

# launch the web UI
npx @deepseek-ai/dsh web

It also runs headless from the command line and exposes a Python SDK. Everything the model sees — system prompts, reasoning, tool calls and results, subagent scheduling, context injections — is recorded in an append-only session log, inspectable in a Trajectory view. You can resume, fork, search, and replay from that same event stream. It reads project AGENTS.md and CLAUDE.md files, ships an MCP client, and implements the Agent Client Protocol.

A versioning note: the "v0.1" label hides a 0.1.0-rc.5 package version with no GitHub release or tag behind it. DeepSeek calls the project a developer preview and warns in capital letters that there will be compatibility-breaking changes. Treat it as a moving target — pin your version and re-read the changelog before upgrades.

The Four Presets

The harness ships with four agent presets that show how far "everything is a plugin" goes:

PresetWhat it gives you
StandardThe full coding agent: filesystem tools, shell, file + web search, skills, planning, goals, subagents, and workflows
MinimalTwo tools only — bash and str_replace_editor
CodeGenerates a TypeScript SDK and lets the model write a program against it, so a sequence that would take five round trips runs as a single call
CreatorInherits Standard plus runtime inspection, plugin experiments, and preset-authoring guidance

The Code preset is the interesting one. Instead of exposing tools as individual function calls, it flips the interface: the model writes a program that calls the tools, collapsing a multi-round-trip sequence into one execution. run_code is the only wire-level tool in the Code-mode registry. That's the same abstraction shift the research on tool architecture found drives big efficiency gains — fewer steps, fewer tokens.

Model-Agnostic by Design

Nothing in the harness is tied to DeepSeek's models. The provider catalog covers Anthropic, OpenAI, AWS Bedrock, Microsoft Azure, Google's Gemini Enterprise Agent Platform, DeepSeek's own endpoint, and any custom OpenAI-compatible gateway.

It also ships two subagent providers that delegate work directly to Claude Code and Codex — resolving each product's binary from your PATH so you bring your own install and login. Both are switched off by default. A minimal provider config is just a model pointer and an API-key environment variable:

{
  "provider": "deepseek",
  "model": "deepseek-v4-pro",
  "apiKeyEnv": "DEEPSEEK_API_KEY"
}

What It's Not (Yet)

The honest comparison against Claude Code and Codex:

DimensionDeepSeek HarnessClaude Code / Codex
Read, edit, test a repoYesYes
Shell and dev toolsYesYes
Planning and subagentsYesYes
Permission controls and sandboxingYes, via pluginsMature built-in systems
Primary interfaceLocal web UI, headless CLI, Python SDKTerminal, IDE, desktop, mobile, Slack
Hosted background agentsNot documentedYes
Extension pathPlugins onlyProducts with their own extension models

The repo's zero-issue policy is telling: DeepSeek's stated model is that plugins are the only supported extension path — not PRs, not Issues. For a runtime in active preview, that's a deliberate stance, and it's the price of "everything is a plugin."

Why the Harness Changes the Benchmark Story

This is the part that matters for anyone reading DeepSeek's scorecard. Every official code-agent benchmark number DeepSeek publishes — V4-Pro's 87.9 on Terminal-Bench 2.1, DeepSWE 62.7, CyberGym 83.3, Toolathlon-Verified 74.1, and V4-Flash's 82.7 — was run using the DeepSeek Harness (Minimal mode) at max reasoning effort, per the model card's methodology footnote. Those numbers are "DeepSeek model inside DeepSeek's own harness," not the model alone.

The harness being open source finally closes the reproducibility gap that made those numbers unverifiable. Independent results already show how much the harness matters:

  • V4-Pro: 87.9 vendor vs 78.7 independent on Terminal-Bench 2.1 — a 9-point reproduction gap.
  • V4-Flash 0731: 82.7 vendor vs 79 (Artificial Analysis) on Terminal-Bench 2.1.
  • A third-party modeltest (Aug 14) found V4-Pro scored 98+ under DeepSeek's own prompt-and-tool setup but 91–96 under OpenCode's default system prompt.

That's the same harness-sensitivity pattern we flagged in the DeepSeek vs Qwen benchmark analysis: scores are claims about a model-plus-harness system, and the harness that produced them is now public. The interesting consequence is that DeepSeek is the first vendor to make its benchmark harness fully auditable — you can now rerun their exact setup instead of guessing at the scaffold.

The same reasoning applies to your own workflow: if V4 Pro feels below the frontier when you run it through a different harness, the harness is the likely culprit, not the model. There's a sharp illustration of this in our OpenCode integration guide, which walks through the thinking-mode setup that makes V4 work reliably outside DeepSeek's own runtime.

What the Release Says

Open-sourcing the harness is a strategic move, and it's worth reading the signal. Releasing your benchmark harness — the exact scaffold that produced your scorecard — is the strongest form of testability a model vendor can offer, and it's the first time a major vendor has done it. The subagent providers (delegating to Claude Code and Codex) and the model-agnostic provider catalog say the same thing from a different angle: DeepSeek is positioning the harness as an infrastructure layer that other ecosystems plug into, not as a lock-in vehicle for DeepSeek models. Whether that converts into developer trust depends on how the compatibility-breaking 0.1.0-rc.5 trajectory settles — but the direction of travel is unusual for a frontier lab.

The Takeaway

DeepSeek Harness is not a finished Claude Code replacement. It's an open-source, plugin-everything agent runtime that competes at the layer above the model — and it ships with the admission, in source form, that DeepSeek's own agent scores are harness-conditional. For teams that run their own agents, that's the most useful thing DeepSeek has shipped this summer: a configurable, auditable harness that doesn't care whose model you point at it.

For full installation, presets, and provider configuration, see the DeepSeek Harness tool page and its getting started guide.