DeepSeek released DeepSeek Harness v0.1 in developer preview on August 13, 2026, giving agent builders a runnable open-source stack instead of another model announcement. The official repository's central claim is unusually broad: “Everything is a plugin.” Models, tools, session state, filesystems, sandboxes, the agent loop, orchestration, and the Web experience all sit behind composable Cordis services.
That makes this release more consequential than a branded wrapper around DeepSeek V4 Pro. The model can change. The execution layer can change. Even the loop that decides what happens next can change. It is a concrete implementation of the separation explainx.ai covers in what an agent harness actually does.
For this release-day review, we inspected DeepSeek's official README, package metadata, CLI reference, Web UI guide, provider guide, Cordis primer, architecture document, and plugin tutorial. We did not execute the npx command in the explainx.ai repository because it would download and run a remote package.
TL;DR: what developers are asking
| Question | Direct answer |
|---|---|
| Can I run it now? | Yes. npx @deepseek-ai/dsh web starts a local Web UI at http://127.0.0.1:3080 by default. |
| Is it only for DeepSeek models? | No. Official docs cover DeepSeek, Anthropic, OpenAI, and custom OpenAI-compatible providers. |
| What is actually open source? | The harness repository is MIT-licensed, including the runtime, UI, profiles, bundles, tools, persistence, and Cordis integration. |
| What version is this? | DeepSeek calls it v0.1; the repository package metadata reported 0.1.0-rc.5 on August 13. |
| Is it stable? | No. DeepSeek promises compatibility-breaking changes during the developer preview. |
| Why Cordis? | It lets services declare dependencies, communicate through typed events, and cleanly undo registrations when plugins unload. |
| Is it a Claude Code replacement? | It is better treated as a hackable harness substrate today, not a stable drop-in replacement for a mature coding product. |
How to run DeepSeek Harness today
The shortest official path needs Node.js and one command:
npx @deepseek-ai/dsh web
DeepSeek's root package currently declares Node ^22.19.0 || >=24.0.0. The command boots the web profile and serves the interface at:
http://127.0.0.1:3080
Then complete three steps in the browser:
- Open Settings → Models.
- Save a DeepSeek key, add a catalog provider, or configure a custom OpenAI-compatible endpoint.
- Choose the workspace directory before starting a session.
The invoking directory becomes the default filesystem location, but the fresh interface does not silently select it as a workspace. Once selected, the official quickstart suggests a repository-summary task. A more useful first prompt for builders is:
Map this repository's packages, identify the test commands, and propose one
small read-only verification task. Do not edit files or install dependencies.
That keeps the first run bounded while you inspect the approval flow. DeepSeek says the agent can read and edit files, run commands, delegate work, and maintain a plan, with prompts for operations covered by the active permission policy.
Run from source instead
DeepSeek also documents a checkout path:
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
This is the better route if your goal is to read, patch, or author plugins. It is a large TypeScript and Python monorepo, not a single-file agent loop. The repository also ships a headless profile for one-shot persisted sessions:
dsh --profile headless "run the tests and summarize failures"
Use the Web profile to inspect sessions and approvals. Use headless mode when embedding the harness in automation after you have pinned the version and permission policy.
What “everything is a plugin” means in practice
The phrase could have been marketing shorthand. The official architecture document makes it concrete: DeepSeek Harness has no privileged core that plugin authors must patch. A running instance is a tree of services mounted through Cordis.
| Layer | What DeepSeek Harness makes replaceable |
|---|---|
| Inference | Model adapters and streaming vocabulary through ctx.llm |
| Tools | Scoped tool registry, schemas, pre-execution policy, and results |
| State | Append-only session events, persistence, replay, fork, and resume |
| Control | Agent registry, loop driver, goals, turns, steps, and continuation |
| Execution | Filesystem, shell, subprocess, terminal, and sandbox providers |
| Composition | Profiles, ordered bundles, patches, and runtime overlays |
| Experience | Web application, conversation nodes, settings, and editor integrations |
This extends the usual loop engineering idea. Many tools let developers add a prompt, skill, or MCP server. DeepSeek Harness lets a plugin replace the service that assembles the prompt, stores the session, executes a tool, or drives the loop.
Cordis in five useful ideas
DeepSeek vendors Cordis as the meta-framework underneath dsh. Its official primer reduces the model to five parts:
- A plugin is a function, object, or service class mounted into a context.
- The context is a service repository with stable keys such as
ctx.tools,ctx.llm, andctx.sessions. - Plugins declare required services through
inject, so dependencies determine activation. - Typed events handle observation, wrapping, parallel work, and ordered decisions.
- Registrations are reversible effects, so unloading a plugin removes its listeners, tools, prompt sections, and providers predictably.
The fifth point matters. Hot-swappable architecture becomes dangerous when old listeners or timers survive an unload. Cordis treats cleanup as part of registration rather than leaving every extension author to invent it.
Profiles and bundles are the deployment unit
A bundle is an npm package that contributes a configuration patch. A profile is an ordered stack of bundles plus user overrides. DeepSeek ships web and headless templates, while dsh-base contributes models, tools, credentials, telemetry, persistence, filesystem access, sandboxing, and approval policy.
Inspect the effective tree without booting the app:
dsh --profile web --dump-config
That command is one of the most useful architectural decisions in the preview. “Composable” is testable only if developers can see the final composition after all bundle and patch layers have applied.
What the agent loop records
DeepSeek's loop distinguishes a step from a turn. One step is one model request plus its tool calls. One turn can contain multiple steps until no follow-up work is owed.
The session log stores durable events for the turn, model messages, tool calls, and tool results. Live extension events can intercept the request or execution pipeline, but the architecture enforces an important invariant: anything shown to the model must be reconstructable from the log.
That is stronger than treating chat history as a UI transcript. Resume, fork, telemetry, persistence, and prompt derivation all consume the same event stream. It also connects neatly to DAG planner, worker, and critic harness patterns, where reliability depends on knowing which state is durable and which coordination event exists only in flight.
Is DeepSeek Harness only for DeepSeek models?
No. The first-party DeepSeek card is the fastest configuration path, but the official provider guide also documents catalog entries such as Anthropic and OpenAI, native authentication for Bedrock, Vertex, Azure, and Codex, plus custom OpenAI-compatible endpoints.
That makes the name slightly misleading. DeepSeek Harness is an agent runtime from DeepSeek, not a harness locked to DeepSeek inference. You can keep the same session, tool, approval, and UI layers while replacing the model adapter.
For builders choosing the model separately from the loop, compare the release with explainx.ai's DeepSeek V4 Pro launch analysis and the broader open versus closed agent-harness roundup.
DeepSeek Harness vs OpenCode, Pi, and Claude Code
These projects overlap, but their architectural centers are different.
| Harness | Architectural center | Best reason to evaluate it | Main caution |
|---|---|---|---|
| DeepSeek Harness | Entire runtime composed as Cordis plugins | Replace models, tools, loop, state, execution providers, or UI from configuration | Developer preview with breaking changes |
| OpenCode | Polished open-source coding agent across terminal, desktop, and IDE | Broad provider support and an established daily coding workflow | More product-shaped than a from-scratch harness laboratory |
| Pi | Deliberately small terminal core plus SDK and extensions | Learn or own the minimum viable coding-agent loop | Verification and richer product behavior are intentionally left to you |
| Claude Code | Anthropic-native coding product and model integration | Low-friction repository work with mature defaults | Closed orchestration core and an Anthropic-first model path |
DeepSeek Harness is the most radical about composition. Pi is the clearest minimal core. OpenCode is the more mature open product surface. Claude Code is the integrated vendor product. If you are learning the space, start with the six components of an agent harness before deciding which philosophy fits.
This launch also changes how to read the older third-party DeepSeek-TUI guide. DeepSeek-TUI is a Rust terminal agent optimized around DeepSeek models. DeepSeek Harness is DeepSeek AI's official, provider-extensible Web and headless runtime. Similar name, different project and ownership.
What people should be cautious about
1. The compatibility warning is explicit
The README does not bury the status: “There will be compatibility-breaking changes.” Do not build a production platform against unpinned preview packages and assume config schemas, service keys, or plugin interfaces will stay fixed.
Practical response:
- Pin the exact release candidate or commit.
- Keep plugins small and behind your own interfaces.
- Save the output of
--dump-configwith experiments. - Re-run session replay and approval tests on every upgrade.
2. npx is convenient because it downloads and executes code
The one-command path is excellent for evaluation, but it is still remote package execution. Review the package and use a disposable workspace if your organization requires supply-chain controls.
The official plugin packaging guide contains an even sharper warning for Git-hosted plugins: a dependency's prepare script can execute package code at install time and outside the agent sandbox once explicitly allowlisted. Pin a commit and audit the source before granting that permission.
3. Agent sandboxing does not make every integration safe
The Web guide says approval prompts depend on the active permission policy. Custom model endpoints still receive the context you send them. Model credentials are stored as write-only secrets in $DSH_HOME/.credentials.yaml, but provider retention, workspace access, network policy, and plugin behavior remain deployment decisions.
For a wider explanation of tool boundaries, see MCP and agent capability design and browse reusable instruction packages in the explainx.ai skills directory.
4. Developer preview means incomplete expectations, not just bugs
There is no stable-release entry in the official GitHub Releases feed at publication time. The root package reports 0.1.0-rc.5, the docs are changing rapidly, and the repository directs bug reports to Discussions rather than Issues. Treat current commands and provider fields as a snapshot.
Should you try it?
Try DeepSeek Harness now if you build harness infrastructure, need an inspectable Web agent, want to experiment with swappable execution providers, or are designing plugins that should survive model changes. The combination of a visible configuration tree, durable event log, provider seams, and reversible plugin effects is technically substantive.
Wait for a stable release if you need a supported team standard, a fixed plugin API, or predictable upgrade work. Developers who mainly want an open coding agent today may still get to useful work faster with OpenCode; developers learning the smallest possible loop may prefer Pi.
The release's real contribution is not a new chat interface. It is a strong claim about agent software architecture: the model, context, tools, loop, permissions, state, and UI should be independently replaceable. DeepSeek has now published a working codebase that developers can inspect, run, and challenge on that premise.
Related on explainx.ai
- DeepSeek V4 Pro launch: Terminal-Bench, Cline, and the 0813 API
- What is an agent harness? The complete scaffolding guide
- Top 10 closed-source and open-source agent harnesses
- OpenCode: open-source terminal, desktop, and IDE agent
- Pi: Mario Zechner's minimal agent harness
- From ReAct to production harness: planner, worker, critic
- What is loop engineering?
- DeepSeek-TUI: the separate third-party Rust terminal agent
Official sources
- DeepSeek Harness repository and README
- Architecture and extension seams
- Cordis primer
- Web UI quickstart
- Model provider configuration
- CLI profiles and modes
- Plugin packaging and install-time safety
Commands, package metadata, configuration fields, and developer-preview status were checked against the official DeepSeek Harness repository on August 13, 2026. The project explicitly expects breaking changes.
