DeepSeek Harness (DSH) runs plugins, but it does not ship a build pipeline. If you want to write a plugin outside the Harness repo - as a normal npm package with its own dependencies, tests and release cadence - you end up rebuilding the same scaffolding every time: a bundler config, a way to type the API your plugin exposes, a dev loop that reloads client code without restarting the host, and some way to check the manifest before you publish.
DSHX is a small toolchain that does that part.
What it does
- Typed authoring.
defineHostanddefineClientdeclare the two halves of a plugin together, so the contract between them is checked at build time instead of discovered at runtime. - A bounded Vite build. The build is configured for you and enforces the boundaries DSH expects: what a Host entry may import, what a Client entry may import, and what has to stay out of the bundle.
- Offline diagnostics.
dshx checkreads the manifest, entry points and dependency graph without starting the runtime, so CI can fail a broken plugin before anyone installs it. - Reproducible templates.
create-dshxscaffolds a working Host + Client plugin with build, types and test wiring already in place.
DSH and Cordis still own execution, scopes and lifecycle. DSHX is the layer before that: authoring, building, checking, shipping.
Quick start
pnpm create dshx my-plugin cd my-plugin pnpm dev - Docs: dshx.io
- Source: github.com/liyown/dshx
It is an early preview and the APIs are still moving. If you are writing DSH plugins out of tree, feedback on the plugin model is welcome.

