# Operator UI
URL: /operator-ui
Discover how to interact with the Operator UI in OpenHTF, featuring real-time test streaming, test progress, and control options.
Start and monitor your Runs in real time from the production floor.
The Operator UI is a web page for running tests on a station. Operators start a test, answer prompts, and watch phases as they run.
The Operator UI is powered by the `station_server`, which serves the web interface, and `web_launcher`, which opens it in the browser. Operator interactions—like entering serial numbers or confirming visual results—are handled through the `user_input` plug.
Starts the HTTP server that hosts the Operator UI. The port comes from the `station_server_port` configuration key (default `0` = random free port); `history_path` points at a directory of past JSON records to show in the history panel.
Add with `test.add_output_callbacks(...)` so the finished record appears in the UI's history.
Opens the Operator UI in the default web browser at the given URL.
Starts the test only after an operator initiates it via the UI prompt.
This example demonstrates a basic OpenHTF test that launches the Operator UI and prompts the user to enter a serial number before starting the test. It includes three phases: one automatic and two requiring operator input. Of the two operator input phases, one prompts the operator to enter information, while the other simply waits for the operator to click the "Okay" button.
Once the script is running, you can access the Operator UI at `http://localhost:4444`.
Begin your test with an operator input, such as entering a serial number.
Use `user_input.prompt()` to ask the operator for manual input, such as confirming an LED color, or clicking on Okay button. These two options depend on the boolean `text_input` value (defaults to `False` when not specified).
At the bottom of the UI, you'll see:
A timeline of executed test phases
Recorded measurements
Attachments
Logs
Click **Expand** to view detailed phase data.
On the right-hand side, you'll find:
A **Refresh Station** button
Live online status
Test history (e.g., previous serial numbers)
The bundled UI serves one test on `localhost`, keeps history only for the current process, and has no authentication. To open it to the network, run several stations, or keep history, see Multi-station dashboard for the built-in `dashboard_server`, or TofuPilot's Operator UI for a hosted one with authentication and searchable history.
The TofuPilot CLI shows these prompts without code changes: on `localhost`, as a kiosk on a station, and in the dashboard with logins and run history.