DEV Community

Evan
Evan

Posted on

Introducing DSHX: a build-time toolchain for DeepSeek Harness plugins

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
Enter fullscreen mode Exit fullscreen mode

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.

Top comments (0)