DeepSeek released the DeepSeek Harness on Thursday, an open source agent runtime for developers, and the response was immediate. Within hours of landing on GitHub as a developer preview under the MIT license, the repository passed 33,000 stars and kept climbing, with a community plugin ecosystem already forming around it. The launch came alongside the general availability of DeepSeek-V4-Pro, the company’s agent-focused flagship model, yet the harness itself works with a long list of providers. Its guiding idea fits in three words from the documentation: “everything is a plugin.”

A runtime where everything is a plugin

The team takes the slogan literally. The model adapter, the tool registry, the session log and the agent loop itself all ship as plugins, and each one is replaceable. Because there is “no privileged core to patch,” extending the harness means mounting a plugin beside the others instead of modifying upstream code.

Underneath sits Cordis, described as a meta-framework for spatiotemporal composability. The concept sounds more abstract than it is. A modern agent harness needs dynamic composition, meaning components you can add, remove and swap without destabilizing the rest of the system, while those components still understand how they depend on each other. Cordis manages plugin mounting, unmounting and dependencies, and its services and events let plugins cooperate. The design builds on a recent paper by three researchers from Peking University and DeepSeek.

Four presets, one runtime

The harness ships with four presets that cover very different jobs.

  • Standard mode gives you the full coding agent: filesystem tools, shell access, web search, subagents and a plan mode.
  • Minimal mode cuts this down to two tools, bash and str_replace_editor, which makes it a clean environment for benchmarking models. DeepSeek tested V4-Pro on public code agent benchmarks using the harness in this mode, so some headline agent scores measure the model inside this execution environment.
  • Code mode changes how tools reach the model. Instead of exposing tools as individual function calls, the harness generates a TypeScript SDK and lets the model write a program against it. A sequence that would otherwise take five round trips runs as a single call.
  • Creator mode inherits everything from Standard and adds runtime inspection, in-memory plugin experiments and preset-authoring guidance for developers building custom agent profiles.

Traceable runs and strict sandboxing

Every run is recorded in an append-only session log, and the rule is strict. Anything that reaches a model request has to be reconstructable from that log. System prompts, reasoning, tool calls and results, subagent scheduling and every context injection all land in the same event stream. Resume, fork, replay, transcripts, telemetry, search and the web UI are built on that single stream, and the Trajectory view lets you inspect records by source. Adding any new kind of model-visible input means adding a new session event.

Sandboxing is equally serious. The local backend wraps subprocesses in Linux Landlock through a Node addon DeepSeek wrote itself, macOS Seatbelt, or a Windows ACL restricted-token runner. On top of that sit four permission tiers, from read-only access through a workspace-restricted mode up to full unrestricted access comparable to the skip-permissions mode in other coding agents. If you run the harness on a machine with sensitive files nearby, the tier you pick matters.

Model agnostic by design

The provider catalog covers Anthropic, OpenAI, AWS Bedrock, Microsoft Azure and Google’s Gemini Enterprise Agent Platform alongside DeepSeek’s own endpoint, and you can add custom OpenAI-compatible gateways for other inference providers. Configuration lives in a YAML file where you select the provider, the active model and settings like reasoning effort. Because the code is MIT licensed, pointing the harness at locally hosted models is straightforward, as one early tester demonstrated on a multi-GPU setup.

More unusual is what else ships in the box. Two subagent providers delegate work directly to Anthropic’s Claude Code and OpenAI’s Codex, resolving each product’s binary from the host PATH so you supply the install and the login. Both are switched off by default. DeepSeek also includes bridges that run an existing hooks.json from either product against the harness’s own interception points, which the README frames as a compatibility path rather than the better design. An MCP client, Agent Client Protocol support and the ability to read AGENTS.md and CLAUDE.md files round out the interoperability story.

Getting started locally

You can launch the web UI with npx @deepseek-ai/dsh web after installing Node.js, or clone the repository and build from source, which early testers report as the most reliable route. The command starts a local web app on port 3018 by default, and the port is configurable if that one is taken. Because everything runs as a local web app, deploying it to a remote server gives you access to your own instance from anywhere.

On first launch the interface asks for a DeepSeek API key, which you generate from the API keys section of your DeepSeek account. Some features stay locked without it, and web search only activates once a valid key is present. You then choose a workspace folder where files and session data live, pick an operating mode and set a permission tier.

How it compares to Claude Code and Codex

On the core agent loop, the harness covers the essentials that make Claude Code and Codex agentic coding tools. It can inspect repositories, edit files, execute shell commands, search files and the web, maintain plans, invoke skills, delegate to subagents and enforce approval policies. The local web UI lets you select a workspace and approve sensitive operations.

The gap sits around that loop. Claude Code runs across terminal, VS Code, JetBrains, desktop, browser, mobile and Slack, with GitHub-native pull request workflows and hosted background agents. Codex offers a similar spread of surfaces plus cloud tasks and GitHub Actions integration. DeepSeek Harness currently offers a local web UI, a headless command and a Python SDK, with managed services and finished GitHub integrations not yet documented. The repository also warns plainly that compatibility-breaking changes are coming, so plan accordingly if you build on it this early.

Early impressions and open questions

Hands-on reports describe a fast, polished interface with detailed step logging and live stats for tokens per second, cache hit rate and turn count. Observed cache hit rates of 95 to 100 percent during coding tasks are unusually high for this class of tool. The tradeoff is token hunger. One moderately complex project, a real-time ISS tracker with a 3D globe visualization, burned roughly 20 million tokens across two turns and 35 minutes, including around 240,000 tokens of output. In practical coding tests, the Flash variant of DeepSeek’s models delivered better cost-to-performance than the flagship Pro.

On governance, DeepSeek keeps the core repository closed to external pull requests for now and directs would-be contributors to GitHub Discussions and to building plugins. The company says official packages carry no inherent priority over community ones and frames the repo as “an idea, an official showcase, and a source of inspiration, but not a mandate from us.”

The layer DeepSeek really wants

Harnesses are everywhere now. Alibaba’s Qwen Code and ByteDance’s Trae Agent launched in mid-2025, Moonshot’s Kimi CLI followed that October and Zhipu’s ZCode arrived in July, while Anthropic and OpenAI keep expanding their own coding agents. DeepSeek’s bet is that modularity is the differentiator developers actually want, and the first 33,000 stars suggest the bet has an audience. The sharper strategic read is this. Models are increasingly swappable behind standardized interfaces, while the harness that decides how an agent reasons, calls tools and persists across a workflow is far harder to replace. DeepSeek is now competing for exactly that layer, and it chose to compete with openness.