Files
app/docs/interface/index.md
T
stroblmeandClaude Opus 5 4215e057d1
Docs / docs (push) Successful in 22s
Playwright Tests / test-playwright (1, 2) (push) Successful in 3m14s
Playwright Tests / test-playwright (2, 2) (push) Successful in 1m53s
pre-commit / pre-commit (push) Failing after 2m13s
Test Backend / test-backend (push) Successful in 2m38s
Compose Smoke Test / test-compose (push) Successful in 38s
Playwright Tests / merge-reports (push) Successful in 1m8s
Add a global search, and stop the sidebar logo squeezing
`GET /api/v1/search/` hands the client one flat index of everything worth
jumping to — flows and the nodes inside them, dashboards and the widgets on
them, panels, secrets, modules, workers and alert channels — and cmdk matches
it in the browser, so results narrow while typing without a round trip per
keystroke. A node hit is the one thing no list endpoint could answer: it opens
its flow with that node in focus.

The panel is reached from **Search** above Documentation in the sidebar, or
⌘K anywhere. The flow canvas palette moves to ⌘P, being the narrower of the two.

The panels dialog gains an address (`/dashboards?panels`) so a panel hit has
somewhere to land, and the sidebar logo gets `shrink-0`: the rail's width
animates while the logo is already back, and a flex item short of room is
squeezed rather than clipped.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016vGH7jqcXxWKP9wZFPyVdU
2026-08-28 22:19:08 +02:00

4.9 KiB

The dashboard app

The web interface is a single-page app served at app.${DOMAIN} — or, for an installation reached through a portal, at ${DOMAIN}/i/{installation-id}. Either way it is the same application, and it is a client of the same REST API you can script against.

Sign in with the account the installation was created with. On a fresh installation that account was printed once, on the first start.

The shell

A floating sidebar on the left, the selected screen filling the rest. On a phone the sidebar collapses to a sheet.

Entry What lives there
Home the brain graph, health, and everything that recently happened
Flows the list of flows, and the canvas for each
Dashboards the widget canvases, and the panels that display them
Secrets credentials your nodes reference without holding
Modules the Python packages your node code may import
Alerts where failures get sent
Admin users (superusers only)
Search anything in this installation, by name
Settings your account, appearance, and remote access

Search at the foot of the sidebar, or ⌘K / Ctrl-K from anywhere, opens a panel that finds things by name as you type: flows and the nodes inside them, dashboards and the widgets on them, panels, secrets, modules, workers and alert channels. Picking a node opens its flow with that node in focus; picking a widget opens its dashboard.

It searches this installation. Reached through a portal, other installations are behind All installations at the top of the sidebar.

Home

The one screen you leave open. Four things share it.

The brain graph

Every flow drawn as a neuron, wired to the flows it exchanges messages with. This is the brand mark made live, and it is also the fastest read on the installation: a neuron pulses when its flow is running work, and its ring turns terracotta when the flow cannot run as written. A neuron with a problem keeps its label showing so you can see which one it is without hovering.

Each flow also has a switch beside it in the list, which starts and stops it.

Flows and dashboards

Two columns under the graph, exactly as tall as each other, most recently worked on first. The flows column is the list with the switches; the dashboards column is a mosaic, each tile a schematic of that dashboard's layout — blocks where its widgets sit, shaded by what kind of widget each one is. Neither column grows past about six rows: past that it scrolls in place rather than pushing the health block down the page.

The tiles are a footprint, not a live view. They show you which dashboard is which at a glance; the readings are on the dashboard itself.

Health

Always answers, degraded or not. The tiles cover:

  • Flows — total, running, paused, quarantined, and how many cannot run because their graph does not validate
  • Nodes — how many failed to load
  • Runs running — batch runs in flight right now, and how many are waiting. Only on an installation that has run something
  • Queue — depth, and how old the oldest pending item is
  • Loop lag — whether the engine's event loop is keeping up

status: degraded comes with a list of named problems, in words. "3 flow(s) cannot run: house, pv, hallway" is more useful than a red dot, so that is what it says.

Activity

Charts of executions and failures over the selected range (1h / 6h / 24h / 7d), with the recent runs, recent failures, dead-lettered work and the audit trail underneath.

The charts are scrubbable: hover a moment and the lists below filter to it, click to hold it while you read. That turns "something went wrong around two o'clock" into the actual rows.

Flows

The list shows each flow's title, node count, whether it has unpublished changes, and whether it is enabled, paused or quarantined. The toolbar searches, creates, and offers Publish all changes when several flows have drafts.

Opening one takes you to the flow editor.

Deleting several at once

Press and hold a card — or ctrl-click it — to pick it, then tap the rest. While anything is picked, New flow in the toolbar becomes a trash button, and it asks once before deleting the lot. Unpicking the last one puts the list back; so does Escape. The Dashboards screen works the same way.

Everything else

Appearance

Light and dark follow your system by default; Settings → Appearance overrides it. Both themes are first-class — the wall-panel view in particular is designed to be legible in dark from across a room.