dshkit

The four DeepSeek Harness agent modes, and when each one wins

Standard, Code, Minimal and Creator mode explained — what each exposes to the model, why the four modes are really four agent presets, and how to pick between them.

Updated 2026-08-134 min
Short answer

Standard is the full coding agent and the right default. Code mode exposes the same tools through the Code Mode SDK so the model writes one TypeScript program instead of many tool round-trips — the preset whose official Chinese name is PTC 模式. Minimal strips everything down to bash plus str_replace_editor. Creator adds runtime inspection for authoring your own presets.

A harness is not one thing. The same model, wrapped in different tool surfaces, behaves like a different product — and DeepSeek Harness ships four wrappings out of the box. Choosing wrong is a quiet tax: you either pay for capability you are not using, or fight the agent for capability it does not have.

Here is what each mode actually exposes.

Standard mode

The full coding agent. File editing, shell, file and web search, skills, planning, goals, sub-agents and workflows are all available to the model.

This is the mode most people mean when they say "the harness". It is also the baseline the other three are defined against — Code and Creator are both described as Standard plus something, and Minimal is Standard with nearly everything removed.

Use it for: essentially all real work. Multi-file changes, debugging, refactors, anything where you want the agent to look around before acting.

Code mode (a.k.a. PTC mode)

Same capabilities as Standard, but the tools are exposed through the Code Mode SDK. Instead of issuing one tool call, reading the result, issuing the next, and burning a model round-trip on each step, the model writes a single TypeScript program that combines the multi-step operation and runs it once.

If you have read Chinese material about the harness, you have seen this called PTC 模式. That is not a community nickname: the shipped preset directory is code, and its own preset.yml sets the Chinese display name to PTC 模式. Both names are first-party, one per locale. The split is worth knowing because searching one term will not find discussion under the other.

The economics are structural rather than magical. Every tool round-trip costs a model inference and grows the context with a result the model may not need to keep. A task with three steps barely notices. A task with thirty — rename a symbol across a package, audit every call site, apply a codemod and check the diff — is dominated by that overhead, and collapsing it into one program is a real win on both latency and context.

Use it for: long mechanical chains where the steps are knowable up front.

Do not reach for it when the task is exploratory. If each step's result genuinely determines what the next step should be, writing the program ahead of time means writing it wrong, and you pay for a failed program plus the fallback.

Minimal mode

A two-tool agent: persistent bash and str_replace_editor. That is the entire surface.

This is deliberately austere. There is no search tool, no planner, no sub-agents — nothing between the model and a shell. The result is that whatever the agent achieves is attributable to the model, because there is almost no harness left to credit.

Use it for: benchmarking a model honestly, and for teaching. In a demo, a rich harness hides what the model is doing behind scaffolding; Minimal makes the reasoning visible because every action is a shell command you can read.

Do not use it for production work. You will spend your time supplying context the harness would have gathered.

Creator mode

Standard's full capabilities plus runtime inspection and plugin experiments. It exists for one purpose: authoring custom agent presets.

Its preset directory is named cordis, which gives the game away — this is the mode with the cordis_* runtime tools that let an agent inspect and define plugins in the live composition.

Because everything in the harness is a plugin resolved through the Cordis kernel, a "mode" is not special-cased code — it is a particular composition of plugin rows. Creator mode gives the agent visibility into that live composition so it can propose, try and save a new one. The canonical example is describing what you want in plain language — a review agent that can read files but never write them — and having the preset drafted, validated and saved.

Use it for: building the mode you actually wanted, once you have found the four defaults are close but not right.

Picking between them

SituationMode
Anything, by defaultStandard
Thirty near-identical edits across a repoCode
Comparing two models fairlyMinimal
Explaining agents to someoneMinimal
"I wish there were a mode that…"Creator
Exploratory debugging, unknown root causeStandard

A mode is a preset

The four modes are not special-cased code paths. They are four agent preset directories that ship with the CLI — standard, code, minimal, cordis — each holding one agent.cordis.yml that composes that agent, plus a preset.yml carrying its display name and roster order.

That is why building a fifth is realistic: you copy one. See agent presets for the mechanics, including the rule that you can only switch a preset while an agent has produced nothing.

The part that carries across every mode

Whichever mode you boot, everything the model sees is written to an append-only session log. Resume, fork, search and replay all operate on that event stream, and the trajectory view lets you inspect a session by source.

This matters more than it sounds. Mode choice is a bet about which tool surface fits the task, and you will sometimes lose the bet. Because the session is an event log rather than a chat transcript, losing it is recoverable — you can fork the session at the point where it went wrong instead of starting over.

Frequently asked

Is PTC mode the same as Code mode?

Yes, and both names are official. The shipped preset directory is named code; its preset.yml sets the Chinese display name to PTC 模式. One preset, one name per locale.

Which mode should I start in?

Standard. It is the full-capability agent and the baseline everything else is described against. Move to another mode only once you have a specific reason.

Does Minimal mode make the model worse?

It removes scaffolding, which usually lowers task success but makes results attributable to the model rather than the harness. That is the point — it exists for benchmarking and teaching, not for shipping work.

How do I switch modes?

A mode is an agent preset. The four ship as the preset directories standard, code, minimal and cordis, and a session names the preset it runs. Switching is only allowed while an agent has produced nothing — the gateway answers agent-preset-locked otherwise.

Can I build a fifth mode?

Yes — copy a preset. Authoring is copy-only: dsh copies an existing preset's whole directory into a user root, and you edit the copy's files. Creator mode (the cordis preset) exists to help you do it.

Keep reading