DeepSeek Harness: Everything Is a Plugin

Zhengqbbb1 pts0 comments

deepseek-harness: Swap Any Agent Component Without Forking | X-CMD | deepseek-harness

Skip to content

Search⌘CtrlK

Enterprise+

MenuReturn to top

View `x install` guide

deepseek-harness ​<br>DeepSeek's open-source agent harness (dsh) with an "everything is a plugin" architecture powered by Cordis. Unifies profile boot, plugin management, and a browser UI that you can launch locally via npx.

Language TypeScriptHomepagehttps://github.com/deepseek-ai/deepseek-harness<br>shx install deepseek-harness

/npmshnpm install -g @deepseek-ai/dsh

/npxshnpx @deepseek-ai/dsh web

13k Stars in One Day! What Makes deepseek-harness Worth Watching? ​<br>On August 13, 2026, DeepSeek open-sourced its own agent harness — deepseek-harness (dsh for short) — under the MIT license, and it racked up 13k stars on day one.<br>The agent framework space is crowded: LangGraph, AutoGen, OpenAI Agents SDK... every year a new framework claims to be "more flexible." So why did a developer preview catch fire in a single day?<br>The answer is its design principle: everything is a plugin. Models, tools, skills, sessions, sandboxes, storage, loops, scheduling, UI — every agent capability is composed from plugins, and any of them can be swapped out.<br>Anyone who has wrestled with agent frameworks has likely hit the same awkward moment: the framework is great except for one component — you want the built-in Bash tool pointed at a remote sandbox, or the default session storage replaced with your own database. Then you realize changing it means touching the core code.<br>Forking is free, but a fork means you drift from upstream forever. Every upstream release, you have to rebase your patches by hand. What deepseek-harness does is remove this fork tax at the architecture level.<br>Quick Start ​<br>Installation is simple — one command with x-cmd:<br>bashx install dsh<br>After installation, launch the Web UI with one command:<br>bashdsh web<br>Then open http://127.0.0.1:3080 in your browser. web and headless are the two Profile templates shipped with the repo; see docs/user/guide/index.md for the full Web UI guide.<br>Swap "Forking the Framework" for "Writing a Plugin" ​<br>deepseek-harness is built on the Cordis plugin system, with its design grounded in the spatiotemporal composability ideas from the paper A Programming Paradigm for Spatiotemporal Composability. Cordis is a meta-framework that only handles plugin loading, unloading, and dependency management; every concrete component of the agent harness is a peer Cordis plugin that collaborates through services and events and composes freely at the configuration layer.<br>One direct consequence: developers can select, replace, or extend any capability without touching the deepseek-harness source code.<br>Model adapters. Want to plug in your own model? Register an adapter plugin and leave every other line of code alone. In traditional frameworks, model providers are mostly hard-wired into the core — swapping models means modifying the framework.<br>Tools. Want a custom tool? Write a tool plugin and mount it on the tool registry. Tool execution also comes with guarded execution — not bare calls.<br>Sandboxes and the filesystem. This is the classic capability-seam design: a seam = service definition + Provider implementation + consumer. Point the filesystem and subprocess Providers at a remote sandbox, and Bash, PTY, and LSP move along with them — swap one Provider, and the entire execution environment changes. Sub-agent Providers are just as replaceable behind the same interface.<br>The experience is a bit like loading a Linux kernel module instead of recompiling the kernel. Your customization lives as plugins, and upstream evolution no longer concerns you.<br>Four Modes, Not Four Versions: One Set of Plugins, Four Combinations ​<br>For different scenarios, deepseek-harness ships four preset modes, each simply loading a different default plugin set:<br>ModeDefault plugin setUse caseStandard Full tool setEveryday use, most completePTC Programmatic Tool CallingA model-generated piece of code orchestrates multiple rounds of tool callsMinimal One shell tool + one file-editing toolModel benchmarking in a minimal environmentCreation Inspect the runtime, experiment with Cordis plugins in memoryCompose and author new modes<br>Two of them deserve a closer look.<br>Minimal mode is built for model benchmarking. Many eval frameworks bring their own tool implementations and environmental noise, making scores hard to compare across frameworks. dsh strips the environment down to "one shell + one file editor" to keep the variables under control.<br>Creation mode is a runtime playground. You can inspect, load, and experiment with Cordis plugins in the current runtime, then solidify a working combination into a new mode. For plugin developers, this "try first, solidify later" flow beats "edit config, restart, and stare at error messages."<br>Everything the Model Sees Is Logged ​<br>What's the most painful debugging scenario with agents? The post-mortem — "why did it make that decision?"...

deepseek harness plugin tool agent cordis

Related Articles