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. defineHost and defineClient declare 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 check reads 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-dshx scaffolds 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 

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.