Skip to content

What is DeepSeek Harness?

The agent harness behind every plugin in this catalog, and why "everything is a plugin" changes what you can swap.

DeepSeek Harness (dsh) is an open-source agent harness from DeepSeek AI, released under MIT. Its defining idea is that everything is a plugin: models, tools, skills, sessions, sandboxes, storage, the agent loop itself. All of it is a Cordis plugin that can be swapped or recombined without touching harness source.

A Cordis application

dsh is built on Cordis, a plugin framework that loads modules, hands each one a context, and manages its lifecycle. Every plugin in this catalog is an ordinary Cordis plugin packaged for dsh: when a profile boots, Cordis loads the base bundles first, then the plugins the merged configuration layers insert, in the order the layers were applied.

The apply(ctx) lifecycle

A plugin's entry module exports apply(ctx). That function is where the plugin registers everything it contributes β€” services, commands, handlers for sessions and sandboxes, scheduled work. ctx is the plugin's own handle on the running kernel. Because it is scoped to the plugin, unload cleans up automatically: when the plugin is removed or the profile stops, everything registered through ctx is torn down with it, and a broken plugin cannot leak its services into the next boot.

What a "seam" is

A seam is a point of integration the harness exposes for layers to patch β€” a service registry, the session model, a sandbox runner, storage adapters. Each seam has a defined shape, and a bundle's cordis.patch.yml describes which rows it inserts or overrides at those seams. Because seams are stable interfaces rather than forks of the source, plugins can be combined, replaced, and removed without touching harness code.

Why that matters for this catalog

Because composition happens through config layers rather than forks, a plugin is just an npm package that ships a patch. That is what makes a marketplace possible at all β€” and what lets us verify a listing mechanically instead of trusting a tag.

Next

Last updated 2026-08-22