Wie CLI und App ihren Zustand gemeinsam nutzen
Das Agentenzustandsmodell von Beam Bench. Was die CLI sieht, was die App sieht und wo sie zusammenwirken.
Die Beam Bench-CLI und die Desktop-App sind zwei Clients desselben Backends. Beide können dasselbe Projekt, dieselbe Maschinenverbindung und denselben Kamerazustand prüfen. Zu wissen, wie sie diesen Zustand gemeinsam nutzen, ist hilfreich, wenn Sie die App über ein Skript steuern möchten.
Das Modell
In Beam Bench gibt es eine zentrale Datenquelle, die Folgendes verwaltet:
- Das aktive Projekt.
- Die Maschinenverbindung.
- Den Kamerazustand.
- Die Agentenfunktionen und die Agentenzustandsschnittstelle.
Die Benutzeroberfläche der Desktop-App ist ein Nutzer dieses Zustands. Die CLI ist ein weiterer. Die HTTP-/WebSocket-API verwendet dieselbe Schnittstelle.
Was die CLI kann
beambench-cli agent state --json gibt den aktuellen Zustand von Projekt, Maschine, Auswahl und Kamera in einem stabilen JSON-Schema zurück. Damit können Sie prüfen, was derzeit in der App geladen ist.
beambench-cli agent capabilities --json gibt ein Verzeichnis der verfügbaren Vorgänge zurück und zeigt, welche CLI-Unterbefehle welchen Backend-Vorgängen zugeordnet sind.
beambench-cli agent guide --json gibt einem externen Agenten (wie Claude) einen Workflow-Hinweis zur Steuerung der App zurück.
Was die CLI nicht kann
Die CLI verfügt über keinen eigenen UI-Zustand. Sie kann weder ein Werkzeug auswählen noch ein Panel oder Dialogfeld öffnen. Dies sind appseitige Aktionen; führen Sie sie in der App aus, nicht über die CLI.
Wann für die CLI die App ausgeführt werden muss
Einige Vorgänge erfordern, dass die App die eigentliche Arbeit übernimmt (Rendern der Arbeitsfläche mit Überlagerung, Aufnehmen eines Kamerabilds). Die CLI leitet die Anfrage weiter, und die App führt die Arbeit aus; das Ergebnis wird an die CLI zurückgegeben.
Der Befehl camera overlay render funktioniert auf diese Weise. Die CLI wartet, bis die App den Vorgang abgeschlossen hat oder das Zeitlimit überschritten wird (15 s).
Headless-Befehle und Befehle, die die App benötigen
| Muss die App ausgeführt werden? | Beispiele |
|---|---|
| Nein (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 (bei Verwendung der nativen Kamera), jede Prüfung des UI-Zustands |
Verwandte Themen
Galvo vs. Gantry
Zwei Laser-Maschinenarchitekturen mit völlig unterschiedlichen Stärken. Wer den Unterschied kennt, vermeidet den Kauf der falschen Maschine.
Koordinatensysteme
Arbeitsbereich, Job, absolut, Bildschirm. Welches System die einzelnen Bedienelemente verwenden und wie sie umgerechnet werden.