8. The web console

latticemind-web opens the same research conversation as the terminal in a browser, with two views: the Conversation, where you talk to LatticeMind and watch it work, and the Control room, where you see the model, the current turn, permissions, files, solver runs and figures together. What you see in the browser is what a terminal on the same folder would show.

latticemind-web                 # http://127.0.0.1:7865
latticemind-web --port 7866 --no-open

8.1. Starting a conversation

The first screen asks Where do you want to work?

The web console setup card.

Fig. 8.1.1 The setup card: project folder, model, who answers launch requests, and the solver.

Project folder

The folder you choose is the project. LatticeMind keeps its record in a hidden .latticemind/ folder there and writes the solver inputs, potentials, results and figures beside it. Conversations already recorded in that folder are offered under Continue a conversation in this folder, so a second visit carries on where you left off.

Provider and Model

A line under the provider says whether it is ready. A provider without a key offers an API key field; Save key stores it in your settings file, and it is never shown again. browse… opens the model list (see Choosing a model).

Launch requests are answered by

me, one at a time (the default), or approve-for-me (routine work goes ahead) — the same rules as /approve-for-me on in the terminal (see Interactive commands).

Solver and execution

Solver is pre-filled with the solver LatticeMind found on this machine and says where; none (prepare inputs only) writes inputs without running anything. Save path remembers an executable path you type. Under More options, Where it runs chooses this machine, WSL (VASP) or a saved remote profile; manage… opens the remote profiles (see Choosing where calculations run). You can also set the thread count, a time limit and extra solver arguments.

Start conversation opens it. Running latticemind in the same folder gives you the same conversation in a terminal, and latticemind setup asks the same questions there.

8.2. The top bar

A bar across the top stays in place while the conversation scrolls. It shows:

  • Project — the folder name; hover for the full path.

  • Model — the model in use. Click it to choose another.

  • Runs on — this machine or a remote profile. Click it to choose where calculations run.

  • Approvals — who answers launch requests. Click it to switch approve-for-me on or off.

Open… opens another folder or another conversation, and New starts a fresh conversation in this one. The Conversation and Control room tabs switch between the two views.

8.3. Conversation

The Conversation view of the web console.

Fig. 8.3.1 The Conversation view: the band structure of silicon, drawn from RESCU’s output and shown in the conversation, followed by LatticeMind’s answer.

Your requests appear on the right, LatticeMind’s answers on the left, rendered as text with headings, lists and tables. Between them, each step LatticeMind takes leaves one short line — building the structure, rendering solver inputs — that expands to its detail when you click it. While a turn runs, a status line shows the elapsed time and what LatticeMind is doing; anything you type is sent as a correction that it reads at its next step, and Stop ends the turn. The view keeps the newest message, step or solver line just above the message box. Scroll up to read and it stops following and offers a small Latest button to return.

Before anything runs, a permission card shows the question as the terminal words it: the command, the machine and the folder for a solver launch; the command and what it would move or delete for a shell command; the list of moves for a reorganisation. For a plotting or analysis script it shows the whole script, numbered line by line, with any line the safety check flagged, so you can read exactly what will run before you answer.

The permission card in the web console.

Fig. 8.3.2 The permission card. Answer with a button or by typing yes, go ahead, run it or no.

Answer with Yes, Yes, always or No, or type the answer into the message box. Yes, always remembers a shell command’s prefix for this folder; solver launches are asked about each time. One answer is enough: the card closes and the status line says LatticeMind is resuming.

A permission card for a plotting script, showing its numbered source.

Fig. 8.3.3 A plotting script waiting for approval: its name and length, the line the safety check flagged, and the whole script, numbered, in a scrolling panel.

Once a solver is running, its own output streams into the conversation — RESCU’s iteration log, NanoDCAL’s output, VASP’s OSZICAR — so you can watch the calculation converge. Figures are shown inline as they are drawn, the standard plots and any figure you asked LatticeMind to draw, such as a structure view.

RESCU's live output streaming into the conversation.

Fig. 8.3.4 RESCU’s own output while the silicon band structure runs, one line per k-point. Hide folds it away; the status line keeps the elapsed time.

A structure drawing shown inline in the conversation.

Fig. 8.3.5 A drawing LatticeMind made on request, a top and side view of a 2 x 2 graphene sheet, shown in the conversation right after the approval.

Attach brings a file (a paper, a structure) into the conversation, and Evidence report writes the report for the latest answer.

8.4. Control room

The Control room view of the web console.

Fig. 8.4.1 The Control room: the research agent, the current turn, permissions, tool activity, project files, solver runs and figures.

A live picture of the work:

  • How the pieces are working together — you, the session, the research agent (which model), the tools, the solver and the evidence, with the active piece highlighted.

  • Research agent — the provider and model.

  • Current turn — state, what it is doing, elapsed time, and how many model requests and tool calls it has used of its allowance.

  • Permissions — who answers launch requests (with the switch), what is waiting, and the recent answers.

  • Tool activity — every step of the conversation with its time and result.

  • Project files — what was recently read or written, then every file LatticeMind published, by role, with download links.

  • Solver runs — each run with its state and a Stop job button; select one to read its live log.

  • Figures and the Durable record — every figure the conversation produced, and the ordered record the evidence report cites.

8.5. Choosing a model

Click Model in the top bar, browse… on the setup card, or type /model in the message box.

The model picker in the web console.

Fig. 8.5.1 Choose a model: each entry says whether it is configured on this machine.

Pick a model and click Use this model. For an unconfigured provider, an API key field appears; the key is saved to your settings file and never shown again. You can also type a model id for the selected provider. A conversation stays on the model it began with, so switching starts a fresh conversation in this folder; the earlier one and its projects are kept.

8.6. Choosing where calculations run

Click Runs on in the top bar, manage… on the setup card, or type /remote in the message box.

The remote profile picker in the web console.

Fig. 8.6.1 Where calculations run: saved profiles and SSH hosts, with Test, Use and + Add a remote profile.

  • Test checks SSH, file transfer and the solver command on the host. It uploads nothing and never waits for a password.

  • Use sends this conversation’s calculations to that profile. Choosing a profile launches nothing; every launch still asks for your approval.

  • Run on this machine switches back.

  • + Add a remote profile opens a form: profile name, SSH host or ~/.ssh/config alias, scheduler (direct SSH or Slurm), work folder on the host, transfer tool (rsync or scp), the RESCU, NanoDCAL and VASP commands, and shell setup to run before each run (for example module load rescu). A Slurm profile also takes the account, partition and wall time. Save profile adds it to ~/.latticemind/remote_profiles.toml.

Conversations launch over direct SSH; a Slurm profile is saved for latticemind quick. The choice is recorded with the conversation, so reopening it keeps it.

8.7. The classic dashboard

The earlier dashboard built for the one-shot pipeline is still served at /classic (for example http://127.0.0.1:7865/classic). When LATTICEMIND_RUNTIME=quick is set, latticemind-web opens it at /.