DeepSeek Harness: Open Agent Runtime, How to Run It
DeepSeek open-sourced an MIT-licensed agent runtime on August 13. Plugin architecture, Trajectory replay, and the npx command to run it locally.
An MIT-licensed agent runtime is only useful if you can start it on a laptop without signing a hosted contract. DeepSeek Harness is that runtime. DeepSeek published the developer preview on August 13, 2026, next to the official V4-Pro API drop, under the slogan "Everything is a plugin."
The product page states the swap list in one sentence: "Every capability is a plugin that can be swapped or recomposed: models, tools, skills, sessions, sandboxes, storage, loops, scheduling, and the UI." You bring the model keys. The runtime stays local. Inference is billed by whoever you point it at.
VentureBeat described the drop as a new open-source runtime that gives developers an alternative to integrated coding-agent environments such as Claude Code. Treat that as press framing. The preview does not claim feature parity with Claude Code or with OpenAI Codex. It claims a kernel you can recompose, under an MIT license, with a one-line start.
Treat plugins as the whole product
The kernel underneath is Cordis, a meta-framework whose README calls it a programming paradigm for spatiotemporal composability. Cordis is under active development, and its own API is not yet stable. DeepSeek Harness uses that kernel to mount, unmount, and wire plugin dependencies. Agent capabilities live in the plugins, not in a private core you cannot touch.
The official list is long on purpose: models, tools, skills, sessions, sandboxes, storage, loops, scheduling, and the UI. Cordis services and events are how those pieces talk. The DeepSeek Harness product page says you can select, swap, or extend any capability in configuration without changing DeepSeek Harness source.
Forkability is what makes the slogan something you can act on. Configuration can swap a model, a sandbox, or the UI. The MIT license is why that swap is not theoretical. Community plugins are supposed to be discoverable under the dsh-plugin GitHub topic.
Keep the two DeepSeek products apart in your head. The V4-Flash API is a model endpoint. DeepSeek Harness ships the loop that calls an endpoint. You can run the runtime against V4-Flash, V4-Pro, or another OpenAI-compatible provider. You cannot skip the key.
Pick Standard, Code, Minimal, or Creator
The preview ships four runtime modes. The descriptions below come from the official product page, not from a bake-off.
| Mode | What the preview includes |
|---|---|
| Standard | Full coding agent: file editing, shell, file and web search, skills, planning, goals, subagents, and workflows |
| Code | Everything in Standard, with tools exposed through the Code Mode SDK so the model can combine multi-step operations in one TypeScript program |
| Minimal | Two-tool coding agent: persistent bash and str_replace_editor |
| Creator | Standard capabilities plus runtime inspection, in-memory plugin experiments, and preset-authoring guidance |
Start on Standard if you want the full toolset the preview advertises. Switch to Code when you want the model to write TypeScript that orchestrates several tool calls in one program instead of stepping through them one by one. Use Minimal when you are scoring models, not building a workstation. The product page says Minimal keeps only a shell tool and a file editor for benchmarking models in a thin environment.
Creator is the mode for inspecting the current runtime, testing Cordis plugins in memory, and combining them into new modes. If you are trying to author a preset, stay on Creator. If you just want a coding agent with search and subagents, stay on Standard until you have a reason to leave it.
Treat Minimal as a measurement box. File search, skills, subagents, and a planning loop live in Standard or Code.
Replay a session from the Trajectory log
Every run is supposed to leave an append-only session log. The product page lists what goes in it: system prompts, reasoning, tool calls and results, subagent scheduling, and every context injection. The Trajectory view is the inspector for that stream. Resume, fork, search, and replay all operate on the same events.
This is the part that separates a runtime from a chat window. A chat window forgets. An append-only log lets you reconstruct what the model saw, including the context that was injected after the first turn.
If a session went sideways, fork it. If you want the same setup tomorrow, replay it. Search the log when you need the exact tool result that sent the model down a path, not a paraphrase of the last assistant message.
The official quickstart says the Web UI asks before operations that require approval under the active permission policy. The log is how you see what was approved, what the tool returned, and what the model did next. Keep the session instead of opening a new blank one after every mistake. A restart still has something to stand on if the event stream is intact.
Bring your own model keys
DeepSeek Harness ships the loop. The API still bills the tokens. DeepSeek's own pairing is DeepSeek V4-Flash and V4-Pro. The Flash versus GPT-5.6 Sol comparison on this site is the place for token prices. This post stays on the loop that calls those models.
The official quickstart is first-party: open Settings → Models, enter a DeepSeek API key, and save it. The model route becomes usable immediately, without restarting the server. The same docs point at other providers and custom OpenAI-compatible endpoints if you are not using DeepSeek weights.
The README on the public repo labels this a developer preview and says there will be compatibility-breaking changes. Plan for plugin APIs to move. Do not pin a production workflow to the first tag you clone.
Launch the local Web UI
Install Node.js, then start the Web UI with the published npx line:
npx @deepseek-ai/dsh web
The README says that command starts the Web UI, served at http://127.0.0.1:3080 by default, and prints the URL.
If you want the full tree instead of the package, clone the source:
git clone https://github.com/deepseek-ai/deepseek-harness
Then, from the checkout, the README's from-source path is pnpm install, pnpm run build, and pnpm dsh web. Same UI, same port, same workspace step.
A fresh Web UI has no selected workspace. Click Choose workspace, add the project directory where you started dsh, and select it. The session composer stays unavailable until that step is done. The dsh process uses its invoking directory as the default filesystem location, but you still have to pick the workspace in the UI.
Paste the key under Settings → Models. Send a first task. The official quickstart's sample prompt is "Summarize this repository and identify its main packages." The agent can read and edit workspace files, run commands, delegate work, and keep a plan. Approve the operations the UI flags.
Send that summary prompt on a repository you already understand, so you can see what the agent reads and what it proposes to edit. If you want to keep the session, leave the Trajectory log in place and fork it later rather than starting a second blank run.
Open the printed URL, pick the workspace, and send the first prompt from the directory you intend to edit.
Keep reading
Tutorials
DeepSeek-V4-Flash API: Setup, Model ID, Failure Modes
DeepSeek opened the V4-Flash API public beta on July 31, 2026. The shortest path to a working agent call, and the beta failures to plan around.
News
DeepSeek Makes V4-Pro Price Cut Permanent
DeepSeek locked in a 75% price cut on its flagship V4-Pro model. Here's what it means for AI pricing and the global compute race.
Comparisons
DeepSeek V4-Flash vs GPT-5.6 Sol: $0.14 Against $5
DeepSeek's V4-Flash beta lists $0.14 and $0.28 per million tokens against GPT-5.6 Sol's $5 and $30. The cache line and the agent wire format decide the bill.