DeepSeek Harness: what "everything is a plugin" actually buys you

Published 16 August 2026

DeepSeek AI has published deepseek-harness (dsh), an MIT-licensed agent harness whose design slogan is that everything is a plugin. That phrase gets used loosely across the agent tooling space, so it is worth being precise about what it means here and where it changes the economics of running agents.

Cordis, not a framework with hooks

The harness runs on Cordis, a plugin runtime whose model is that plugins contribute services, typed events, and reversible effects to a shared context. The architecture doc is explicit that there is no privileged core: model adapters, tool registries, session logs, and the agent loop itself are all plugins. Nothing sits underneath them as an immovable engine.

That matters because the usual shape of an "extensible" agent framework is a fixed core plus a hook surface. You can observe and decorate, but you cannot replace. Replacing means forking. Cordis inverts that: the pieces you would want to replace are the units of composition.

Capability seams: the part that matters operationally

The harness formalises this with what it calls a capability seam. A seam is a service interface with more than one implementation, and each service occupies one of three roles:

RoleWhat it does
OwnerThe package that declares the service interface
ImplementationA package providing concrete behaviour (seams have several)
ConsumerA package calling the service, blind to which provider is live

Not every service is a seam. The docs distinguish three kinds: swappable seams (ctx.llm, ctx.subprocess), single-owner core services (ctx.sessions, ctx.agents), and composition points that coordinate other services (ctx.agentLoop). Knowing which is which tells you where you are allowed to substitute behaviour and where you are not.

The four seams with cost consequences

Every meaningful cost lever in an agent system is a provider swap: route to a cheaper model, move execution to a cheaper sandbox, replace a subagent transport with a local one. When those are seams, the change is a config edit. When they are not, the change is a fork you now maintain.

Why this is a FinOps concern, not just an architecture one

The recurring failure in agent cost programmes is not that teams pick an expensive model. It is that the harness makes the expensive choice structural. Once model selection, tool execution location, and delegation transport are baked into application code, every optimisation becomes an engineering project with its own schedule and its own regression risk. Teams then defer the optimisation, and the spend compounds.

A seam-based harness moves those decisions into composition. That does not make them free, but it changes them from refactors into configuration, which is the difference between a quarterly initiative and an afternoon.

The caveat worth stating plainly

DeepSeek Harness is in developer preview and its README says, without softening it, that there will be compatibility-breaking changes. Building production cost tooling directly against its internal interfaces right now means signing up to chase them. Evaluate it, prototype against it, but pin your versions and expect churn.

Related


Want this applied to your own LLM spend? FinOps LLM runs a free audit of your AI costs and shows where the savings are. Book free audit →

Back to research

FAQ

What is DeepSeek Harness?

DeepSeek Harness (dsh) is an MIT-licensed open-source agent harness from DeepSeek AI. It is built on the Cordis plugin runtime, where model adapters, tool registries, session logs, and the agent loop are all replaceable plugins rather than a privileged core.

What is a capability seam in DeepSeek Harness?

A capability seam is a service interface with more than one implementation. The owner package declares the interface, provider packages implement it, and consumers call it without knowing which provider is active. ctx.llm, ctx.fs, ctx.sandbox, and ctx.subagents are all seams.

Why does a plugin architecture matter for AI cost?

Cost levers in an agent are provider swaps: routing to a cheaper model, moving execution to a cheaper sandbox, or replacing a subagent transport. When those are seams rather than hardcoded calls, a routing change is a config edit instead of a fork of the harness.