Hoe de CLI en de app de status delen
Het agent-statusmodel van Beam Bench. Wat de CLI ziet, wat de app ziet en waar ze samenkomen.
De Beam Bench CLI en de desktopapp zijn twee clients van dezelfde backend. Ze kunnen allebei hetzelfde project, dezelfde machineverbinding en dezelfde camerastatus bekijken. Als je weet hoe ze die status delen, kun je de app vanuit een script aansturen.
Het model
Binnen Beam Bench is er één bron van waarheid die het volgende beheert:
- Het actieve project.
- De machineverbinding.
- De camerastatus.
- Het mogelijkheden- en statusoppervlak van de agent.
De gebruikersinterface van de desktopapp is één afnemer van die status. De CLI is een andere. De HTTP- en WebSocket-API gebruiken hetzelfde oppervlak.
Wat de CLI kan doen
beambench-cli agent state --json retourneert de huidige status van het project, de machine, de selectie en de camera volgens een stabiel JSON-schema. Gebruik dit om te bekijken wat momenteel in de app is geladen.
beambench-cli agent capabilities --json retourneert een register van de beschikbare bewerkingen en geeft aan welke CLI-subopdrachten overeenkomen met welke backendbewerkingen.
beambench-cli agent guide --json retourneert een workflowtip voor een externe agent (zoals Claude) over hoe je de app kunt aansturen.
Wat de CLI niet kan doen
De CLI heeft geen eigen UI-status. Je kunt er geen gereedschap mee selecteren, geen paneel mee openen en geen dialoogvenster mee openen. Dat zijn acties aan de kant van de app; voer ze uit in de app, niet vanuit de CLI.
Wanneer de CLI de app actief nodig heeft
Voor sommige bewerkingen moet de app echt werk uitvoeren (het canvas met overlay renderen of een camerabeeld vastleggen). De CLI stuurt het verzoek door en de app voert het werk uit; het resultaat stroomt terug naar de CLI.
Het commando camera overlay render werkt op deze manier. De CLI wacht totdat de app klaar is of een time-out optreedt (15 s).
Headless-opdrachten versus opdrachten waarvoor de app nodig is
| App actief nodig? | Voorbeelden |
|---|---|
| Nee (headless) | beambench-cli design render --png, beambench-cli project save, beambench-cli export svg, beambench-cli agent state |
| Ja | beambench-cli camera overlay render, beambench-cli camera capture (bij gebruik van de native camera), elke inspectie van de UI-status |