DeepSeek Harness — Agent Runtime
Complete guide to DeepSeek Harness (dsh), the MIT-licensed agent runtime where everything is a plugin. Covers installation, presets, model setup, plugins, and comparison to Claude Code and Codex.
DeepSeek Harness — Agent Runtime
DeepSeek Harness (dsh) is DeepSeek's open-source agent runtime, released under the MIT license on August 13, 2026 alongside the V4-Pro-0813 general-availability build. It's built on the Cordis meta-framework around one idea: everything is a plugin. Models, tools, skills, sessions, sandboxes, filesystems, loops, orchestration, and the UI are all replaceable components. The repository passed 160,000 stars within days of launch.
It is a developer preview — DeepSeek warns there will be compatibility-breaking changes, and the plugin ecosystem is the only supported extension path. The published version is 0.1.0-rc.5 with no release tag, so pin your install and re-check the changelog before upgrades.
Navigation
- Getting Started — Install, launch the web UI, first session
Quick Start
# run the local web UI
npx @deepseek-ai/dsh web
The harness also runs headless from the CLI and exposes a Python SDK. Build-from-source instructions are in the repo.
The Four Presets
| Preset | What it gives you |
|---|---|
| Standard | Full coding agent: filesystem tools, shell, file + web search, skills, planning, goals, subagents, workflows |
| Minimal | Two tools only — bash and str_replace_editor |
| Code | Generates a TypeScript SDK; the model writes a program against it, collapsing multi-round-trip sequences into single calls |
| Creator | Standard plus runtime inspection, plugin experiments, and preset-authoring guidance |
Minimal is the one with a job: it's the exact configuration DeepSeek used for its own published code-agent benchmarks (bash + str_replace_editor, max reasoning effort). Code is the efficiency play — instead of five round trips for a sequence, the model writes one program and the harness executes it; run_code is the only wire-level tool in that mode's registry. Creator (the on-disk preset is literally named cordis, after the plugin kernel) is for people building their own presets and testing plugins in memory.
Model-Agnostic Providers
Nothing ties the harness to DeepSeek models. Supported providers include Anthropic, OpenAI, AWS Bedrock, Microsoft Azure, Google's Gemini Enterprise Agent Platform, DeepSeek's own endpoint, and any custom OpenAI-compatible gateway.
Two subagent providers delegate work directly to Claude Code and Codex, resolving each binary from your PATH (both are off by default — bring your own install and login). A minimal config:
{
"provider": "deepseek",
"model": "deepseek-v4-pro",
"apiKeyEnv": "DEEPSEEK_API_KEY"
}
Key Features
- MCP client and Agent Client Protocol support
- Reads
AGENTS.mdandCLAUDE.mdproject files - Append-only session log: every system prompt, reasoning step, tool call, result, and subagent schedule is recorded, inspectable in the Trajectory view
- Resume, fork, search, and replay all operate on the same event stream
Plugin Architecture
Every agent capability is a plugin — models, tools, skills, sessions, sandboxes, storage, loops, scheduling, and UI. Cordis services and events let plugins work together, and you can select, swap, or extend any capability in configuration without changing harness source. DeepSeek's extension model is plugin-first: plugins are the only supported extension path (no PRs, no Issues). For a harness in active preview, that's a deliberate trade — the API is the contract, and it will keep moving.
Concepts Worth Knowing
A few terms recur across the docs and presets:
- Cordis — the plugin kernel the harness is built on. The
Creatorpreset's on-disk name is literallycordis. - Plugin vs provider — a provider is a plugin whose job is model access; a tool plugin exposes actions to the agent. Both are selected the same way, in configuration.
- Preset — a bundle of plugins + configuration that defines a complete agent. Presets are files, so you can author your own (that's what
Creatoris for). - Session log — the append-only event stream recording everything the agent saw and did. Resume, fork, search, and replay all read from it.
Understanding the plugin model matters even if you never write a plugin: knowing which layer a behavior belongs to (model, tool, skill, sandbox) is the difference between fixing a problem in config and fighting the harness.
Comparison
| Dimension | DeepSeek Harness | Claude Code / Codex |
|---|---|---|
| Read, edit, test a repo | Yes | Yes |
| Shell and dev tools | Yes | Yes |
| Planning and subagents | Yes | Yes |
| Permission controls and sandboxing | Yes, via plugins | Mature built-in systems |
| Primary interface | Web UI, headless CLI, Python SDK | Terminal, IDE, desktop, mobile, Slack |
| Hosted background agents | Not documented | Yes |
| Extension path | Plugins only | Product-specific |
Benchmark Context
DeepSeek's official code-agent benchmark numbers — V4-Pro's Terminal-Bench 2.1 87.9, DeepSWE 62.7, CyberGym 83.3, V4-Flash's 82.7 — were run using this harness in Minimal mode at max reasoning effort. Independent reruns show the reproduction gap (V4-Pro: 78.7 independent vs 87.9 vendor; V4-Flash: 79 independent vs 82.7). The scores are "model inside DeepSeek's own harness," and now that the harness is open source, that's auditable. See the DeepSeek Harness blog for the full analysis.
Learning More
- Getting Started — install paths, provider setup, first session
- DeepSeek Harness launch analysis — the release, the presets, and the benchmark-trust story
- DeepSeek V4 in OpenCode — running V4 outside the harness, including the thinking-mode setup
Related Articles & Guides
Getting Started with DeepSeek Harness
Run DeepSeek Harness (dsh) in 10 minutes. Install with npx, choose a preset, pick a model provider, and start your first agent session in the local web UI.
Pi — Terminal AI Coding Agent
Complete guide to pi, Mario Zechner's minimal terminal coding agent. Covers installation, prompt engineering, context files, skills, and the lean-harness philosophy.
Jcode — AI Coding Agent
Complete guide to jcode, the RAM-efficient open-source AI coding agent in Rust. Covers installation, prompt engineering, configuration, memory, swarms, and advanced workflows.