Skip to the content.

Operator console

The operator console is a local web UI started by sf ui. Default URL: http://127.0.0.1:3847.

It is the primary surface for triaging runs, answering HITL gates and agent approvals, building pipelines and agents, connecting providers and channels, and inspecting stage transcripts and envelopes. The same process also serves MCP at /mcp.

The run store is global, not project-scoped. It lives under the durable root ($STAGEFLOW_HOME, default ~/.stageflow/) and is shared by every project on the machine, whichever directory you start sf ui from. Catalog browse (pipelines, tasks, skills, extensions) still resolves to the project git root: starting sf ui from a subdirectory uses <git-root>/stageflow.yaml and its declared catalog roots. See Data directory. sf ui is one of two ways to start the shared background service (sf mcp is the other, headless); sf run / sf run-stage / mutating sf runs commands auto-start the same service if neither is already running.

Starting the console

sf ui
sf ui --port 9000

On start, Stageflow prints the console URL and MCP endpoint, then opens your default browser. The process runs until you stop it (Ctrl+C). In Docker the console is the container's published port; see Docker.

One page per area

Area Page
Overview: needs-you, live runs, health, run trends Overview
Inbox: gates and agent approvals waiting on you Inbox
Pipeline runs, run detail, Start a run Runs
Pipelines, editor, Tasks, Catalog, Triggers, Workshop Pipelines, tasks and catalog
Agents, Agent sessions, run inspector Agents in the console
Evals: check a stage against a dataset, results, compare, datasets Evals
Connections: channels, email accounts, tool servers Connections
Memories: a cover and cards a pipeline or an agent can keep YAML catalog — Memories
Settings: Providers, Concurrency, MCP, Project MCP, Notifications Settings

The shell

Every page shares one header bar (56px): title and count on the left, search and actions on the right. Detail pages put a back link (breadcrumb) before the title.

App rail (left; ui/src/redesign/shell/navConfig.ts). A search box (⌘K) and a Start a run button sit at the top; Settings and the provider status line sit in the footer.

Group Rail item Route Purpose
(pinned) Overview #/overview Control center: what needs you, what is running, health and run trends
(pinned) Inbox #/inbox Triage home. The badge counts pipeline gates and agent approvals that wait on you
Activity Pipeline runs #/runs All pipeline runs; the badge counts runs in flight
Activity Agent sessions #/agent-sessions Every agent's sessions in one list; the badge counts sessions in flight
Build Pipelines #/pipelines Browse pipeline files; open one in the editor
Build Agents #/agents Agent directory, create, edit, detail
Build Tasks #/tasks Task files
Build Catalog #/catalog?tab=stages Stages, skills and extensions
Build Evals #/evals Check a stage against a dataset; results and compare. See Evals
Connect Triggers #/triggers Catalog triggers
Connect Connections #/connections Channels, email accounts, tool servers
Connect Memories #/memories List and create memories. Edit the cover. List card keys, open a card, correct it, or delete it. A session adds cards. The pipeline editor and the agent editor attach memory ids from this list
(footer) Settings #/settings General, Providers, Concurrency, MCP server, Project MCP, Notifications

Below the groups, Pinned pipelines lists pipelines you pinned. The Workshop has no rail item of its own: reach it from a pipeline row (Open in Workshop, W), from New pipeline (N) or from the command palette. The rail footer can also show active run count vs soft max, the same data as MCP get_health.

Command palette

⌘K (Ctrl+K) opens the palette from any page; Esc closes it. Type to filter, ↑/↓ to move, Enter to run.

Group Entries
Actions Start a run; Answer next gate (when a run waits on you); Retry failed stage (when a run failed)
Runs Recent runs, with status
Pipelines Every pipeline, by id
Navigation Overview, Inbox, Pipeline runs, Agent sessions, Agents, Pipelines, Workshop, Tasks, Catalog, Triggers, Settings

Keyboard shortcuts

Single keys are ignored while you type in a field. A shortcut works only on the page named below; the most specific page wins.

Where Keys
Anywhere ⌘K palette · Esc close dialog
Inbox J / K move · O open the run or agent session · R retry a failed run's stage (Failed tab) · G go to Pipeline runs (empty Needs you)
Inbox, a gate or agent approval selected 1 Approve / Accept · 3 Deny / Reject · N focus the note (gates) · O open
Pipeline runs J / K move · Enter open · R retry · A answer the waiting gate
Run detail F start fresh (rerun) · R retry the failed stage · C copy the run id
Run detail, a stage waiting on you 1 Accept · 3 Reject · N focus the note
Pipelines J / K move · Enter open the editor · S start a run · W open in Workshop · N new pipeline · / search · Esc clear search
Pipeline editor ⌘S save · A add a stage · ⌥⇧F format YAML · ⌘. apply a quick fix
Tasks J / K move · Enter open the last run · S start a run · N new task · E edit
Triggers J / K move · N new · / search · F fire · E enable or disable
Catalog / search · J / K move · N new stage (Stages tab) · E open the stage in the editor · I install a skill (Skills tab) · Enter open, C copy name (Skills tab)
Workshop V validate · A add a stage · ⌘S save · Enter accept the latest pending change
Evals list ↑ / ↓ move the selection · Enter open
Agents list ↑ / ↓ move the cursor · Enter or Space open
Agent editor ⌘S save

Start a run

#/new (or Start a run, or S on a pipeline or task) opens the Start Run dialog; optional ?pipeline= and ?task= query params preselect. See Runs.

Routes

Hash-based routing (ui/src/routes.ts). A hash that matches no route falls back to the Inbox.

Path View
#/overview Overview
#/inbox, #/inbox?tab=failed, ?tab=done_today Inbox. #/today opens it
#/runs Pipeline runs (All / Needs you / Running / Failed / Succeeded)
#/runs/<runId> Run detail
#/runs/<runId>/stages/<stageId> Run detail with that stage selected
#/runs/<runId>/stages/<stageId>/envelope Envelope inspector for a stage
#/runs/<runId>/artifacts?path=… Artifact viewer
#/new Start a run
#/pipelines Pipeline list
#/pipelines/<id> Opens that pipeline in the editor
#/stages/<path> Stage file editor
#/tasks, #/tasks/<id> Task list, one task
#/triggers, #/triggers/<id> Trigger list, one trigger
#/catalog?tab=stages or ?tab=skills Catalog. #/skills and #/skills/<name> open the Skills tab; #/extensions opens the Stages tab
#/extensions/packages/<scope>/<source>, #/extensions/files/<path> Extension package and file viewers
#/evals Evals list (?stage=<id> filters to one stage)
#/evals/new New eval wizard (?pipeline=<path>&stage=<id> or ?file=<path> preselects the target)
#/evals/<id> Opens the eval's live run, else its newest run, or the edit page if it has none
#/evals/<id>/runs/<n> Run results (?tab=overview|cases|graders|config) or live progress
#/evals/<id>/runs/<n>/case/<caseId> Run results with the case drawer open (?repeat=<i>)
#/evals/<id>/compare?a=<n>&b=<m> Compare two runs
#/evals/<id>/edit Edit eval
#/datasets, #/datasets/<id> Datasets
#/connections, #/connections/<id> Connections
#/memories, #/memories/<id> Memory list and one memory. Create from the list. The operator can edit the cover. The page shows the previous cover text when it exists. List keys, open a card, and correct it. The page shows the previous card copy when it exists. Delete removes the current card and the previous copy and cannot be undone. There is one previous copy, not a full history, and no restore action. A session adds cards; the console does not. Attach memory ids in the pipeline inspector or the agent editor
#/agents Agent directory
#/agents/new Create an agent
#/agents/<id> Agent detail (Sessions, Configuration)
#/agents/<id>/edit Edit with diff review and version history
#/agents/<id>/sessions/<sessionId> One agent session
#/agents/<id>/sessions/<sessionId>/runs/<runId> Run inspector
#/agent-sessions (alias #/agents/sessions) Sessions across all agents
#/settings Settings
#/workshop Workshop
#/connect Provider connect flow

Recent runs show stored pipeline_path and task_path locators when present on the run record.

Workshop

The Workshop (#/workshop) is the interactive pipeline authoring surface. It is covered on Pipelines, tasks and catalog and in Workshop Author.

MCP co-location

MCP Streamable HTTP is available at <console-origin>/mcp while sf ui runs (sessions by default). For MCP without the console, use sf mcp instead. Both bind the same well-known local port as the one shared global service, so don't run both at once. See MCP.

Screenshots

docs/img/ holds brand assets (stageflow-og.svg, stageflow-icon.svg). There are no console screenshots yet.

See also