THE SOUS-CHEF — CONTROL PLANE  ·  beta

One console for your whole local agent stack

A single Zig binary with an embedded Svelte dashboard that installs, supervises, monitors and updates NullClaw, NullBoiler, NullTickets and NullWatch. All state lives under ~/.nullhub — nothing goes to a hosted service.

docker run --rm -p 19800:19800 -v nullhub-data:/nullhub-data ghcr.io/nullclaw/nullhub:latest

By the numbers

binary, UI embedded
1
platform targets
7
managed components
4
local dashboard
:19800

figures measured by the project

On the plate

What NullHub does.

Manifest-driven install wizard

Each component publishes a nullhub-manifest.json describing its installation, wizard steps, launch and health checks. NullHub is a generic engine that interprets them — in the terminal or the browser.

Process supervision

Start, stop, restart, crash recovery with backoff. Periodic HTTP health checks feed the dashboard status cards.

Updates with rollback

check-updates, update, update-all: download the new version, migrate config, roll back on failure.

Live logs over SSE

Tail or follow logs per instance — nullhub logs <c>/<n> -f in the terminal, live streaming in the browser.

Multi-instance

Run several instances of the same component side by side. Everything is addressed as component/instance-name.

Web UI, CLI and raw API

Browser dashboard for humans, CLI for automation, and nullhub api for raw JSON access to every endpoint.

Takeaway

One binary, packed to go.

Cross-compiled by nullbuilder for every kitchen — no runtime, no installer, nothing else on the plate.

First taste

Up and running.

Full walkthrough in the docs — verified with v2026.5.29.

Start the server, then add components from the same binary — the terminal wizard and the web UI run the same manifest-driven flow.

# start the server and open the dashboard
nullhub
# → http://nullhub.localhost:19800

# add components (terminal wizard)
nullhub install nullclaw
nullhub install nullwatch

# run and inspect
nullhub start-all
nullhub status

Pre-1.0 and calendar-versioned (v2026.x.y): config and CLI may change between releases.