Main layers
Startup flow
1
Resolve configuration
Rust derives release or debug paths, the active profile, preferred core, and port.
2
Prepare dependencies
The workflow reuses compatible system tools where appropriate and otherwise prepares
the managed Node.js, pnpm, and prebuilt Harness core.
3
Ensure plugins
Required internal plugins are checked and restored before the service starts.
4
Launch and probe Harness
The backend starts a loopback-only process conceptually equivalent to
dsh --profile <profile> --host 127.0.0.1 --port 3080, then waits for health.5
Load the client
The native window switches from setup or loading state to the local Harness UI.