Web interface¶
A browser page where you describe a simulation in plain words and watch openPASO pick a solver, write its input, run it and report back. Every step is visible while it happens.
It is a third way to use openPASO, beside an AI app and your own key.
Start it¶
From the openPASO folder, with your virtual environment active:
pip install -e ".[webui]"
uvicorn webui.app:app --port 8080
Then open http://localhost:8080. The ready-built interface is included, so you do not need Node.js to use it.
Choose a model¶
The interface needs an AI model, and says for each one whether it can work right now:
| Group | What it is | What it needs |
|---|---|---|
| Hosted on OpenRouter | pay per use; the price is shown | your key, in .env in the openPASO folder |
| Claude Code | the claude command on your own machine, on your own Claude account |
Claude Code installed and signed in once |
| On this machine | a local model server | that server running |
A model that cannot work is shown with the reason and cannot be picked. If none works, the start page says so and lists the ways to get one.
Ask for a simulation¶
Write what you want in normal words, for example:
Flow past a cylinder at Reynolds number 100. Show me the wake, and compare the drag with published values.
You can attach files (a mesh, a geometry, an input deck, measurement data). They land in the
run's uploads/ folder and the model is told where they are.
Before starting, choose how much openPASO may do on its own:
- Run without asking — it runs tools, commands and solvers by itself.
- Ask before each step — every step waits for your Run this step or Skip it. (Not available with Claude Code.)
While it runs¶
- The run lives on the server, not in your browser tab. Close the tab, go back, or open the run in another tab: it keeps going. Several runs can work at the same time.
- Sending a message during a run is a correction. It is handed to the model when the current step finishes, not immediately, so nothing is interrupted half-way. A message after the run has ended is a follow-up in the same conversation.
- "End this step" ends the processes of one step that is stuck, for example a solver that hangs. The run itself continues.
- "Stop" ends the whole run and everything it started, solvers included, and tells you how many processes it ended.
- You can watch what the model does, the pictures the run produced, and the fields it wrote.
What the result means¶
When a turn ends, the interface says how it ended. The words are exact:
| It says | It means |
|---|---|
| Finished | A solver really ran and openPASO checked the result |
| Ran, not verified | A solver produced a result, but it was not checked. The numbers may still be wrong |
| Ended | The turn ended without a solver result. The interface says what happened instead: no tools were used, a solver call computed nothing, or the numbers came from a script the model wrote itself |
| Stopped | You ended it |
"Finished" is the only one that includes a check of the answer.
Files and records¶
- Files shows the run's own folder.
- Download the run record gives you the prompt, the model, every step and a checksum for every file produced.
- Deleting a run removes its record and its folder.
Files outside the run's folder stay behind
A run may read and write outside its own folder, because a solver sometimes has to. Anything it wrote elsewhere is not removed when you delete the run. If that matters to you, run openPASO under a separate user account or in a container.
Good to know¶
- Run records are JSON files in
data/webui_sessions/, and run folders are ineval_interactive/. - The interface is younger than the rest of openPASO and changes often. If something does not work, please report it.