Skip to content

v0.2.0

Choose a tag to compare

@kanneiren kanneiren released this 15 Aug 11:51
· 34 commits to main since this release

Event-Driven DSH Runtime Bridge

This release converts the DSH Companion from a single-purpose shutdown channel into a versioned runtime bridge and moves the Manager from periodic probing to OS/IPC event-driven state.

Highlights

  • Versioned named-pipe protocol (protocolVersion / requestId / messageType / type / payload / error) with ping, getStatus, getRuntimeInfo, and shutdown commands and ready, stopping, exiting events.
  • DSH-internal authoritative state: actual listening port (webServer), PID, DSH version, profile, and DSH home are reported from inside the DSH process; no fabricated values.
  • Zero steady-state CPU: for a bridge-connected manager, liveness comes from the Windows process handle and state from named-pipe events. Measured average CPU dropped from 0.103% (0.1.0) to 0.000% on the same machine.
  • Fallback discovery retained (WMI / HTTP / port / process fingerprint) for externally launched DSH, old plugins, protocol mismatch, startup, and diagnostics.
  • Formal DSH plugin package: plugins/deepseek-harness-web now declares a dsh.bundle.patch, installable as a regular DSH bundle while the per-launch patch remains the compatibility layer during the DSH API preview.
  • Legacy compatibility: original {"action":"shutdown"} envelope still accepted; old DSH processes launched by 0.1.0 remain stoppable.
  • Security: per-launch 256-bit tokens, timing-safe comparison, no unauthenticated control, no arbitrary command execution, bridge PID/port revalidated against Windows process identity.

Verification

  • C# test suite 18/18 (including real DSH graceful shutdown, bridge protocol, adoption)
  • Node named-pipe bridge tests
  • npm CLI integration tests
  • End-to-end smoke: legacy stop, event-driven start (ready in ~6 s), versioned graceful stop
  • Performance measured against 0.1.0 on the same machine (see docs/PERFORMANCE.md)