DeepSeek Harness v0.1: A Plugin-First MIT-Licensed Agent Framework
In this article
DeepSeek has published DeepSeek Harness v0.1 under the MIT license and pushed the full source to deepseek-ai/deepseek-harness, installable as dsh. The release is a developer preview, not a production-ready agent product. Where most agent frameworks treat the control loop, tool registry, and session store as fixed infrastructure with extension hooks bolted on, Harness makes every one of those layers a swappable plugin. The project's own framing — Agent = Model + Harness — signals that the harness is meant to be composed rather than inherited.
For teams evaluating which infrastructure bets to lock in early, the MIT license and self-hosted deployment path make this worth a close read. See also our primer on what the agentic era means for data science.
The Cordis Plugin Kernel
Harness is built on Cordis, a meta-framework described in A Programming Paradigm for Spatiotemporal Composability. The Cordis kernel handles plugin mounting, unmounting, and dependency resolution. Capabilities — models, tools, skills, sessions, sandboxes, storage, loops, scheduling, and the UI — live entirely in plugins rather than in a privileged core. Cordis services and events wire them together. Any capability can be selected, swapped, or extended in configuration without modifying Harness source code. The UI itself is a plugin, which means the composition boundary is uniform across the entire stack.
Four Runtime Modes on One Kernel
Harness ships four named runtime modes, each loading a different default plugin set:
| Mode | Primary use | Key capabilities |
|---|---|---|
| Standard | Full coding agent | File editing, shell, file search, web search, skills, planning, goals, subagents, workflows |
| Code | Multi-step programmatic orchestration | All Standard capabilities plus Code Mode SDK, letting the model combine operations in a single TypeScript program |
| Minimal | Model benchmarking | Two tools only: persistent bash and str_replace_editor |
| Creator | Preset and plugin authoring | All Standard capabilities plus runtime inspection, in-memory plugin experiments, preset-authoring guidance |
Minimal mode is most operationally useful for evaluators: stripping the environment to two tools removes scaffolding noise from benchmark results, isolating raw model capability from system performance.
Append-Only Session Logs
Every run writes an append-only session log covering system prompts, reasoning traces, tool calls and their results, subagent scheduling events, and every context injection. The Trajectory view exposes those records filtered by source. Resume, fork, search, and replay all operate on the same event stream rather than on reconstructed state. Most agent frameworks log tool calls; capturing every context injection as a first-class event is the sharper design choice, and it directly supports the auditability that regulated deployment contexts — financial services, healthcare R&D — typically require before running agents over sensitive data. Security-conscious teams will also want to cross-reference plugin composition decisions against patterns discussed in agent session hijack research, since an append-only log also provides a forensic record when things go wrong.
Provider-Agnostic Model Routing and Setup
Model routing is itself a Cordis plugin. In Settings → Models, a DeepSeek API key applies on the next request without a server restart. The installed catalog adds Anthropic and OpenAI via API key. Bedrock requires AWS credentials and a region; Vertex requires an ADC project; Azure requires an api-version; Codex requires OAuth. Custom providers accept any OpenAI-compatible base URL and protocol. Keys are write-only and persisted to $DSH_HOME/.credentials.yaml; settings store only a credential reference rather than the key itself.
Starting the web UI requires npx @deepseek-ai/dsh web, which serves at http://127.0.0.1:3080 by default. From a checkout the sequence is git clone, pnpm install, pnpm run build, then pnpm dsh web. The Python SDK ships as deepseek-harness-sdk, requires Python 3.10 or newer, and supports Linux x64, Linux arm64, and macOS 14 or later on arm64; its bundled runtime requires no system Node.js installation.
The composability question in agent infrastructure is shifting from theoretical to competitive. Publishing a plugin-first harness under MIT, with self-hosting as the default path and credential isolation built into the storage model, stakes a clear position: the team that controls the harness layer controls how models are evaluated, deployed, and extended — a different kind of leverage than controlling a model weight, and one that enterprise platform teams can begin evaluating today without a licensing conversation.