Released August 13 with a joint Peking University paper, the open source agent runtime runs on Cordis, a framework that registers an inverse for every component change and replays them on unload.
On August 13, DeepSeek released DeepSeek Harness v0.1 Developer Preview, an open-source agent runtime where the agent's own decision loop is just another plug-in module. By the afternoon of August 14 the GitHub repository had pulled in roughly 45,000 stars, and the joint paper with Peking University researchers describing the Cordis framework underneath was circulating alongside PANews coverage that framed the release as DeepSeek's "self-evolution blueprint." The mechanism behind that phrase is older than the repo, and it is what makes the difference between a rebranded plugin system and a runtime that can rewire itself and reverse the rewiring.
The framework doing the load-bearing work is called Cordis. The Leiphone technical explainer describes two primitives the framework introduces. The first, Revertible Effects, requires every mutation made through ctx.effect to register an inverse; when a component unloads, the runtime runs those inverses in reverse order. The second, Reactive Coeffects, lets a component declare its dependencies on a shared Context; when the Context changes, the runtime uses notify() and refresh() to recalculate which components should be activating, deactivating, or neutral. Together they describe a runtime in which adding, swapping, and removing a module is a first-class operation, not a workaround.
What separates Harness from a conventional agent harness is the architectural reframe. The Chinese deep-dive describes it as 一切皆插件, "everything is a plug-in." In the prior pattern, a vendor ships a fixed core (the model adapter, the tool registry, the session log, the agent loop) and lets users bolt on skills around the edges. Harness dissolves that split. The model adapter is a plug-in. The tool registry is a plug-in. The agent loop, the part that decides which tool to call next, is itself a plug-in, and it can be replaced at runtime. That is the property the project calls a "self-evolving agent harness."
The framework has long run inside Koishi, a pluggable open-source chatbot framework with thousands of community plugins, which is why the "reversible component" property lands on a substrate with existing users rather than a paper-only prototype. The Peking University paper frames the contribution as a programming paradigm called spatiotemporal composability. "Spatial" is the Reactive Coeffects machinery, components that coordinate through a shared Context. "Temporal" is Revertible Effects, the obligation that every change leave a trail of inverses the runtime can replay. The paper's job is to formalize the pattern that has been running inside Koishi and to argue that it generalizes beyond chatbots to any agent runtime, including the one DeepSeek is now shipping.
Putting the agent's own loop behind Cordis unlocks a second-order effect a fixed-core harness cannot offer. A team running an agent fleet can install a candidate reasoning loop for a specific task type, watch its behavior, and roll the swap back if downstream metrics regress. The same machinery supports module-level A/B tests: register an inverse for the candidate plug-in, load it, observe the change, unload it, and the runtime replays the recorded inverses. The project states that the production property Cordis is built to enable is reversibility at runtime, and Harness inherits it.
The release is also drawing a practitioner counter-view worth sitting with. After roughly two hours of use, one independent tester described the system as having structural kinship to a VS Code shell wrapping an embedded browser and a coding agent, with isolation walls between plugins, and a Notion-style plugin layer on top. The sharper observation was behavioral: even DeepSeek's own model, when given a task, tended to edit its own source code directly rather than route through the plug-in layer. Revertible Effects only fire when a component calls ctx.effect. If the model writes Python instead of registering an effect, the undo button is technically present and practically unpressed.
Whether the model that decides what to do next actually goes through the plug-in layer is the empirical question for the next round of production deployments. Cordis supplies the runtime. Harness puts the agent's own decision loop behind the same machinery. The undo button is wired up. The model still has to reach for it.