DeepSeek's dsh makes everything a plugin: two ideas to copy, and the cost
An early read of DeepSeek's open-source agent harness, from its documentation as of August 13, 2026.
What is worth copying from DeepSeek's open-source agent harness, dsh? This is an early read of a developer preview, based on the project's documentation as of August 13, 2026. Plori builds a competing agent harness, and we read dsh as a competitor's design.
The short answer
- dsh treats every part of the product as a plugin, including model adapters, the tool registry, the session log and the agent loop. Its docs say "There is no privileged core to patch."
- Two ideas are worth copying: a session log that is the only source of model-visible context, and tool guards that can only deny or abstain.
- The cost is a bespoke framework: you must learn Cordis before you can read the code, and the patch system that swaps a model adapter can also swap the sandbox and approval policy.
What dsh gets right, and what it costs
- "Model-visible means logged." Anything that reaches a model request must be reconstructible from the append-only session log, and a runtime invariant asserts it. Forking a live session is a single call.
- Guards that can only deny. Policy guards "deny or abstain," so no plugin loaded later can widen a decision. A one-shot approval prompt that is absent or unanswerable means deny.
- Cordis has five concepts and four event dispatch modes. Tracing one turn means walking a chain of interceptors across plugins.
- The sandbox and approval policy are config rows that a patch can replace whole. The guard design protects against plugins loaded beside the policy, but not against configuration that replaces the policy row.
When it applies
- Use dsh when the harness is your project: you want to swap model adapters, write a sandbox backend, or study a factored agent loop, and preview-grade churn is acceptable.
- A multi-tenant or hosted product on dsh inherits the swappable policy layer from the first day.
--dump-configshows which guards run on an install. - We read the documentation at commit
1540e76. We did not benchmark dsh or audit the implementation, and the docs were being corrected the same week.
The full post has our comparison with the Plori harness, and the three dsh ideas on our backlog.