Последовательность команд
- Node подключен и сопряжён для роли
node. nodes describeсодержит вызываемую вами возможность.- Разрешения на выполнение показывают ожидаемый режим и список разрешённых команд.
Требования к работе на переднем плане
canvas.*, camera.* и screen.* работают только на переднем плане на Node с iOS/Android.
Быстрая проверка и исправление:
NODE_BACKGROUND_UNAVAILABLE, переведите приложение Node на передний план и повторите попытку.
Матрица разрешений
Сопряжение и разрешения
Успешность команды Node контролируют три независимых механизма:- Сопряжение устройства: может ли этот Node подключиться к Gateway?
- Политика команд Node в Gateway: разрешён ли идентификатор команды RPC в
gateway.nodes.allowCommands/denyCommandsи настройках платформы по умолчанию? - Разрешения на выполнение: может ли этот Node локально выполнить конкретную команду оболочки?
system.run политика конкретного Node хранится в файле разрешений на выполнение этого Node (openclaw approvals get --node ...), а не в записи сопряжения Gateway.
Быстрые проверки:
- Сопряжение отсутствует: сначала одобрите устройство Node.
- В
nodes describeотсутствует команда: проверьте политику команд Node в Gateway и действительно ли Node объявил эту команду при подключении. - Сопряжение выполнено, но
system.runзавершается ошибкой: исправьте разрешения на выполнение или список разрешённых команд на этом Node.
host=node, требующих одобрения, Gateway также привязывает выполнение к подготовленному каноническому systemRunPlan. Если последующий вызывающий код изменит команду, рабочий каталог или метаданные сеанса до передачи одобренного запуска, Gateway отклонит запуск из-за несоответствия одобрению, а не станет доверять изменённой полезной нагрузке.
Распространённые коды ошибок Node
Быстрый цикл восстановления
- Повторно одобрите сопряжение устройства.
- Повторно откройте приложение Node на переднем плане.
- Повторно предоставьте разрешения ОС.
- Создайте заново или скорректируйте политику разрешений на выполнение.
computer, команда screen.snapshot успешно выполняется при наличии разрешения на запись экрана, а /phone status показывает требуемую временную или постоянную авторизацию Gateway. Запись gateway.nodes.denyCommands всегда имеет приоритет над allowCommands.