Jak CLI i aplikacja współdzielą stan
Model stanu agenta Beam Bench. Co widzi CLI, co widzi aplikacja i gdzie się spotykają.
CLI Beam Bench i aplikacja desktopowa to dwaj klienci tego samego backendu. Oba mogą wyświetlać ten sam projekt, to samo połączenie z maszyną i ten sam stan kamery. Wiedza o tym, jak współdzielą ten stan, jest przydatna, gdy chcesz sterować aplikacją ze skryptu.
Model
Wewnątrz Beam Bench istnieje jedno źródło prawdy, które zarządza:
- Aktywnym projektem.
- Połączeniem z maszyną.
- Stanem kamery.
- Możliwościami i powierzchnią stanu agenta.
Interfejs aplikacji desktopowej jest jednym z odbiorców tego stanu. CLI jest kolejnym. API HTTP / WebSocket udostępnia tę samą powierzchnię.
Co może robić CLI
beambench-cli agent state --json zwraca bieżący stan projektu, maszyny, zaznaczenia i kamery w stabilnym schemacie JSON. Użyj tego polecenia, aby sprawdzić, co jest obecnie wczytane w aplikacji.
beambench-cli agent capabilities --json zwraca rejestr dostępnych operacji oraz informację, które podkomendy CLI odpowiadają poszczególnym operacjom backendu.
beambench-cli agent guide --json zwraca wskazówkę dotyczącą przebiegu pracy dla zewnętrznego agenta (takiego jak Claude), opisującą sposób sterowania aplikacją.
Czego CLI nie może robić
CLI nie ma własnego stanu interfejsu. Nie może wybrać narzędzia, otworzyć panelu ani otworzyć okna dialogowego. Są to działania po stronie aplikacji; wykonuj je w aplikacji, a nie z poziomu CLI.
Kiedy CLI wymaga uruchomionej aplikacji
Niektóre operacje wymagają, aby aplikacja wykonała rzeczywistą pracę (renderowanie obszaru roboczego z nakładką, przechwycenie klatki z kamery). CLI przekazuje żądanie, a aplikacja wykonuje pracę; wynik wraca do CLI.
Polecenie camera overlay render działa właśnie w ten sposób. CLI blokuje się do czasu ukończenia operacji przez aplikację lub upływu limitu czasu (15 s).
Polecenia niewymagające aplikacji i wymagające aplikacji
| Czy aplikacja musi być uruchomiona? | Przykłady |
|---|---|
| Nie (bez interfejsu) | beambench-cli design render --png, beambench-cli project save, beambench-cli export svg, beambench-cli agent state |
| Tak | beambench-cli camera overlay render, beambench-cli camera capture (w przypadku korzystania z kamery natywnej), dowolna inspekcja stanu interfejsu |