Come la CLI e l'app condividono lo stato
Il modello di stato dell'agente di Beam Bench. Cosa vede la CLI, cosa vede l'app e dove si incontrano.
La CLI di Beam Bench e l'app desktop sono due client dello stesso backend. Entrambe possono esaminare lo stesso progetto, la stessa connessione macchina e lo stesso stato della fotocamera. Sapere come condividono questo stato è utile quando vuoi controllare l'app da uno script.
Il modello
All'interno di Beam Bench esiste un'unica fonte di verità che gestisce:
- Il progetto attivo.
- La connessione macchina.
- Lo stato della fotocamera.
- La superficie delle funzionalità e dello stato dell'agente.
L'interfaccia utente dell'app desktop è un utilizzatore di questo stato. La CLI è un altro. L'API HTTP / WebSocket è la stessa superficie.
Cosa può fare la CLI
beambench-cli agent state --json restituisce lo stato corrente di progetto, macchina, selezione e fotocamera, in uno schema JSON stabile. Usalo per esaminare ciò che l'app ha attualmente caricato.
beambench-cli agent capabilities --json restituisce un registro delle operazioni disponibili e indica quali sottocomandi CLI corrispondono a quali operazioni backend.
beambench-cli agent guide --json restituisce un suggerimento sul flusso di lavoro per un agente esterno (come Claude) su come controllare l'app.
Cosa non può fare la CLI
La CLI non dispone di un proprio stato dell'interfaccia utente. Non può selezionare uno strumento, aprire un pannello o aprire una finestra di dialogo. Queste sono azioni lato app; eseguile nell'app, non dalla CLI.
Quando la CLI richiede l'app in esecuzione
Alcune operazioni richiedono che l'app esegua un lavoro reale (renderizzare il canvas con sovrapposizione, acquisire un fotogramma della fotocamera). La CLI inoltra la richiesta e l'app esegue il lavoro; il risultato torna alla CLI.
Il comando camera overlay render funziona in questo modo. La CLI si blocca finché l'app non completa l'operazione o non scade il timeout (15 s).
Comandi senza interfaccia o che richiedono l'app
| L'app deve essere in esecuzione? | Esempi |
|---|---|
| No (senza interfaccia) | beambench-cli design render --png, beambench-cli project save, beambench-cli export svg, beambench-cli agent state |
| Sì | beambench-cli camera overlay render, beambench-cli camera capture (quando usi la fotocamera nativa), qualsiasi ispezione dello stato dell'interfaccia utente |