Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

The web GUI

The web GUI is a local browser app for reading your runs. It shows exactly what the runner wrote — in-progress runs show up live, and it needs no credentials of any kind.

Launch it

$ nix run .#adb-web

It binds 127.0.0.1:8340 (walking up to the next free port if 8340 is taken) and reads the same run store the runner writes (default ~/.local/share/adb).

Every run the runner starts prints a link straight to its page here. It finds the viewer by asking the ports it may have walked to which store each is serving, so the printed link points at a viewer that will actually show that run — and when none is running, the runner says so and prints the command above.

FlagMeaning
--host ADDRBind address. Default loopback; --host 0.0.0.0 exposes it to the network (no auth — trusted networks only).
--port NListen port (default 8340; walks up if taken).
--home DIRRun store to serve (default $ADB_HOME, else ~/.local/share/adb).
--no-openDon’t auto-open the browser.

On a machine with a local browser it also opens the URL for you. Where that can’t work — over SSH, or behind a code-server proxy — it just prints the URL instead; see Getting started for the port-forward recipe. ADB_NO_OPEN=1 turns auto-open off entirely.

Pages

RoutePageShows
#/OverviewA searchable grid of experiment cards: summary, run counts by phase, last-run time. Experiments with zero runs still get a card, from the manifest catalog.
#/experiments/<name>ExperimentThe experiment’s runs table and the run-config builder.
#/runsRunsA flat run table across all experiments (experiment, params, phase, results, start time).
#/runs/<rid>Run detailThe run’s params, results, and the event feed — with filter chips narrowing it to one event family (messages, llm calls, metrics, …). Polls live every 2s.

Runs carry their condition hash (visible on the run detail page), but the GUI doesn’t yet group or aggregate by condition.

Live runs

Run pages poll for new events every 2 seconds, so you watch provisioningrunning → a terminal phase as it happens. The runs list also tracks liveness: a running run whose runner stopped signaling shows as interrupted? — never silently hidden. (The heartbeat mechanics are in Run directory layout.)

The run-config builder (composer)

The experiment page hosts a form generated from the experiment’s schema, prefilled from its initial values. It regenerates the exact nix run .#<experiment> -- --set … one-liner as you edit — every param becomes a --set, because experiments have no defaults, so the copied one-liner is the complete condition spec. The model field suggests concrete models, each noting which credentials it needs (see Credentials).

The builder itself only composes the command — you copy the one-liner into a terminal. The run it here panel below it can launch the same condition through a worker; see Running from the GUI.

The settings menu in the bottom-left adapts the composed command to your Nix setup — the same choices as this guide’s ⚙ command settings, stored in the same place, so setting one sets both.

Env vars

Flags are how you configure the GUI; env vars exist as deployment-friendly forms of the same settings (flags take precedence) and for context shared with the runner, and the nix run .#adb-web wrapper sets the deployment ones for you. The full table is in the CLI reference.