Como a CLI e o app compartilham o estado
O modelo de estado de agentes do Beam Bench. O que a CLI vê, o que o app vê e onde eles se encontram.
A CLI do Beam Bench e o app de desktop são dois clientes do mesmo backend. Ambos podem inspecionar o mesmo projeto, a mesma conexão da máquina e o mesmo estado da câmera. Entender como eles compartilham esse estado é útil quando você quer controlar o app a partir de um script.
O modelo
Há uma única fonte de verdade dentro do Beam Bench que gerencia:
- O projeto ativo.
- A conexão da máquina.
- O estado da câmera.
- A superfície de capacidades/estado do agente.
A interface do app de desktop é um dos consumidores desse estado. A CLI é outro. A API HTTP / WebSocket é a mesma superfície.
O que a CLI pode fazer
beambench-cli agent state --json retorna o estado atual do projeto, da máquina, da seleção e da câmera em um esquema JSON estável. Use-o para inspecionar o que o app tem carregado no momento.
beambench-cli agent capabilities --json retorna um registro das operações disponíveis e de quais subcomandos da CLI correspondem a quais operações de backend.
beambench-cli agent guide --json retorna uma orientação de fluxo de trabalho para um agente externo (como o Claude) sobre como controlar o app.
O que a CLI não pode fazer
A CLI não tem seu próprio estado de interface. Ela não pode selecionar uma ferramenta, abrir um painel ou abrir uma caixa de diálogo. Essas são ações do app; faça-as no app, não pela CLI.
Quando a CLI precisa que o app esteja em execução
Algumas operações exigem que o app realize trabalho de fato (renderizar a área de trabalho com sobreposição, capturar um quadro da câmera). A CLI encaminha a solicitação, e o app faz o trabalho; o resultado retorna à CLI.
O comando camera overlay render funciona dessa maneira. A CLI bloqueia até que o app conclua ou ocorra um tempo limite (15 s).
Comandos sem interface vs. que exigem o app
| Precisa que o app esteja em execução? | Exemplos |
|---|---|
| Não (sem interface) | beambench-cli design render --png, beambench-cli project save, beambench-cli export svg, beambench-cli agent state |
| Sim | beambench-cli camera overlay render, beambench-cli camera capture (ao usar a câmera nativa), qualquer inspeção de estado da interface |