DeepSeek Harness: The Plugin-First AI Agent Framework
DeepSeek Harness arrived alongside the general availability of DeepSeek V4-Pro-0813 and quickly attracted major attention, reaching roughly 95,000 GitHub stars in just two days. The biggest reason is its architecture: nearly every part of the agent is implemented as a plugin, including the model adapter, tool system, session history, agent loop, and user interface.
The framework is built in TypeScript, released under the MIT license, and is currently labeled as a developer preview. DeepSeek also gives a clear warning in the README: "THERE WILL BE COMPATIBILITY-BREAKING CHANGES." That makes Harness promising to experiment with today, but still too early to assume long-term API stability.
Why DeepSeek V4 matters here
Harness shipped alongside DeepSeek V4-Pro-0813, and understanding the model helps explain why the framework exists. V4-Pro scores 56 on the Artificial Analysis Intelligence Index.
That places it in the same tier as other capable models. The more significant figure is cost.
DeepSeek V4 is substantially cheaper per task than models with comparable or higher intelligence scores. That cost advantage is part of why building a general-purpose harness around it makes sense: you can afford to run more agent loops, which is what complex agentic tasks actually require.
The architecture: Cordis and the plugin system
DeepSeek Harness is built on Cordis, an existing open-source JavaScript meta-framework designed around what its authors call spatiotemporal composability. The plugin system lets capabilities be mounted and unmounted dynamically without breaking the running application. A formal paper on the programming paradigm was published by researchers from Peking University and DeepSeek-AI.
The practical result is that everything in Harness is a plugin:
Models, tools, skills, sessions, sandboxes, storage, loops, scheduling, and the UI are all plugins. Cordis services and events let them communicate. Developers can select, swap, or extend any capability through configuration without touching Harness source code.
The Cordis kernel manages plugin mounting, unmounting, and dependency resolution. Each plugin implements a Service interface and claims a stable key on the context object (ctx.tools, ctx.llm, ctx.sessions). Other plugins find services by key rather than importing concrete implementations, which is what makes swapping the model adapter as straightforward as changing a config value.
Model flexibility
Because the model is a plugin, you can run Harness with models other than DeepSeek's own.
Supported providers include Anthropic, OpenAI, Amazon Bedrock, and any OpenAI-compatible endpoint. This is configured in settings.yaml. You can set different providers for different tasks or specify model overrides without writing any code.
Getting started
Harness starts with a single command:
This serves the Web UI at http://127.0.0.1:3080 and opens it in the default browser. No installation step required beyond having Node.js and pnpm available.
The Trajectory view
One of Harness's most practical features for agent development is the Trajectory view, which records an append-only session log of everything the model sees and does.
The log includes system prompts, reasoning steps, tool calls and their results, subagent scheduling, and every context injection. From the Trajectory view you can inspect any step in detail, see the raw payload and result, check token counts and duration for each step, search the full log for specific keywords or tool calls, and zoom in on specific sections of the timeline. Sessions also support resume, fork, and replay operations on the same event stream.
For debugging agent behavior, this level of built-in observability is significantly more useful than trying to reconstruct what happened from log files or console output.
Runtime modes
Harness offers several pre-configured capability sets:
Standard mode provides the full toolset: file editing, shell access, web search, planning, and more.
Code mode and Minimal mode are more restricted, providing only essential tools for coding tasks or simple interactions.
Creator mode is the most distinctive. It adds runtime inspection (examining the Harness's current configuration and available plugins), plugin experiments (authoring, testing, and installing new plugins), and preset authoring (creating new runtime modes). In Creator mode, you can develop and extend the Harness from within the Harness itself.
Creating a plugin with a single prompt
Creator mode makes it possible to extend the application through natural language. An example from the project: asking the agent in Creator mode to "Add a new plugin to add a dinosaur jumping game floating in the bottom right of the application."
The agent uses the Trajectory view to show its process: it inspects the runtime environment, checks available UI slots and providers, writes the HTML, CSS, and JavaScript for the game, packages it as a Cordis plugin, and loads it dynamically into the current session.
The game appears in the UI, clickable and functional. The agent extended the application without any manual code editing. This is a contrived example, but it demonstrates what in-harness development actually means: the agent has enough access to its own configuration and plugin system to modify itself through the same interface you use to interact with it.
The community ecosystem
The GitHub dsh-plugin topic already has 316 community projects indexed, organized into eight categories: Development, AI & Agents, Interface, Knowledge, Integrations, Media & Vision, Workflow, and Utilities.
Notable community projects include a desktop application wrapper (deepseek-harness-desktop), a terminal UI (dsh-TUI), alternative Web UI skins (dsh-web-ui), and a curated plugin index (awesome-dsh-plugin).
What to keep in mind
DeepSeek Harness is still in developer preview, and the project openly warns that compatibility-breaking changes should be expected. While the accompanying architecture paper gives the plugin system a solid technical foundation, the framework itself is evolving quickly. It is worth exploring today, but production use is better left until a stable release is available.
One of Harness's most interesting ideas is that nearly every capability can be replaced through configuration instead of modifying a fixed core. That flexibility could be especially valuable for agents designed to extend or change their own behavior. The bigger question is whether this approach remains reliable as projects become larger and agent workflows more complex.
If you want to explore it further, both the GitHub repository and the official documentation are publicly available.