Как CLI и приложение используют общее состояние
Модель состояния агента Beam Bench. Что видит CLI, что видит приложение и где они взаимодействуют.
CLI Beam Bench и настольное приложение являются двумя клиентами одного серверного компонента. Оба могут просматривать один и тот же проект, подключение к одному и тому же станку и одно и то же состояние камеры. Понимание того, как они используют общее состояние, полезно, если вы хотите управлять приложением из скрипта.
Модель
В Beam Bench есть единый источник истины, который управляет:
- Активным проектом.
- Подключением к станку.
- Состоянием камеры.
- Возможностями и интерфейсом состояния агента.
Интерфейс настольного приложения является одним из потребителей этого состояния. CLI является другим. HTTP / WebSocket API использует тот же интерфейс.
Что может CLI
beambench-cli agent state --json возвращает текущее состояние проекта, станка, выделения и камеры по стабильной схеме JSON. Используйте эту команду, чтобы проверить, что сейчас загружено в приложении.
beambench-cli agent capabilities --json возвращает реестр доступных операций и показывает, каким операциям серверной части соответствуют подкоманды CLI.
beambench-cli agent guide --json возвращает внешнему агенту, например Claude, подсказку по рабочему процессу управления приложением.
Чего не может CLI
У CLI нет собственного состояния интерфейса. Он не может выбрать инструмент, открыть панель или открыть диалоговое окно. Это действия на стороне приложения, выполняйте их в приложении, а не из CLI.
Когда CLI требуется запущенное приложение
Некоторым операциям нужно, чтобы приложение выполняло реальную работу, например отрисовывало холст с наложением или захватывало кадр с камеры. CLI передаёт запрос, приложение выполняет работу, а результат возвращается в CLI.
Команда camera overlay render работает именно так. CLI ожидает, пока приложение завершит операцию, или до истечения времени ожидания (15 s).
Команды без приложения и команды, требующие приложения
| Требуется запущенное приложение? | Примеры |
|---|---|
| Нет (без интерфейса) | beambench-cli design render --png, beambench-cli project save, beambench-cli export svg, beambench-cli agent state |
| Да | beambench-cli camera overlay render, beambench-cli camera capture (при использовании встроенной камеры), любая проверка состояния интерфейса |
Связанные материалы
Гальво и гантри
Две архитектуры лазерных станков с совершенно разными сильными сторонами. Знание различий поможет избежать покупки неподходящего станка.
Системы координат
Рабочая область, задание, абсолютные координаты, экран. Какая система используется каждым элементом управления и как выполняется преобразование между ними.