Nodes and media
Устранение неполадок Node
Используйте эту страницу, если Node отображается в статусе, но инструменты Node не работают.
Последовательность команд
openclaw statusopenclaw gateway statusopenclaw logs --followopenclaw doctoropenclaw channels status --probeЗатем выполните проверки для конкретного Node:
openclaw nodes statusopenclaw nodes describe --node <idOrNameOrIp>openclaw approvals get --node <idOrNameOrIp>Признаки нормальной работы:
- Node подключен и сопряжён для роли
node. nodes describeсодержит вызываемую вами возможность.- Разрешения на выполнение показывают ожидаемый режим и список разрешённых команд.
Требования к работе на переднем плане
canvas.*, camera.* и screen.* работают только на переднем плане на Node с iOS/Android.
Быстрая проверка и исправление:
openclaw nodes describe --node <idOrNameOrIp>openclaw nodes canvas snapshot --node <idOrNameOrIp>openclaw logs --followЕсли вы видите NODE_BACKGROUND_UNAVAILABLE, переведите приложение Node на передний план и повторите попытку.
Матрица разрешений
| Возможность | iOS | Android | Приложение Node для macOS | Типичный код ошибки |
|---|---|---|---|---|
camera.snap, camera.clip |
Камера (+ микрофон для звука клипа) | Камера (+ микрофон для звука клипа) | Камера (+ микрофон для звука клипа) | *_PERMISSION_REQUIRED |
screen.record |
Запись экрана (+ микрофон необязательно) | Запрос на захват экрана (+ микрофон необязательно) | Запись экрана | *_PERMISSION_REQUIRED |
computer.act |
неприменимо | неприменимо | Универсальный доступ + запись экрана | COMPUTER_DISABLED, ACCESSIBILITY_REQUIRED |
location.get |
При использовании или всегда (зависит от режима) | Геолокация на переднем/заднем плане в зависимости от режима | Разрешение на геолокацию | LOCATION_PERMISSION_REQUIRED |
system.run |
неприменимо (путь хоста Node) | неприменимо (путь хоста Node) | Требуются разрешения на выполнение | SYSTEM_RUN_DENIED |
Сопряжение и разрешения
Успешность команды Node контролируют три независимых механизма:
- Сопряжение устройства: может ли этот Node подключиться к Gateway?
- Политика команд Node в Gateway: разрешён ли идентификатор команды RPC в
gateway.nodes.allowCommands/denyCommandsи настройках платформы по умолчанию? - Разрешения на выполнение: может ли этот Node локально выполнить конкретную команду оболочки?
Сопряжение Node — это проверка идентичности и доверия, а не механизм разрешения отдельных команд. Для system.run политика конкретного Node хранится в файле разрешений на выполнение этого Node (openclaw approvals get --node ...), а не в записи сопряжения Gateway.
Быстрые проверки:
openclaw devices listopenclaw nodes statusopenclaw approvals get --node <idOrNameOrIp>openclaw approvals allowlist add --node <idOrNameOrIp> "/usr/bin/uname"- Сопряжение отсутствует: сначала одобрите устройство Node.
- В
nodes describeотсутствует команда: проверьте политику команд Node в Gateway и действительно ли Node объявил эту команду при подключении. - Сопряжение выполнено, но
system.runзавершается ошибкой: исправьте разрешения на выполнение или список разрешённых команд на этом Node.
Для запусков host=node, требующих одобрения, Gateway также привязывает выполнение к подготовленному каноническому systemRunPlan. Если последующий вызывающий код изменит команду, рабочий каталог или метаданные сеанса до передачи одобренного запуска, Gateway отклонит запуск из-за несоответствия одобрению, а не станет доверять изменённой полезной нагрузке.
Распространённые коды ошибок Node
| Код | Значение |
|---|---|
NODE_BACKGROUND_UNAVAILABLE |
Приложение работает в фоновом режиме; переведите его на передний план. |
CAMERA_DISABLED |
Переключатель камеры отключён в настройках Node. |
*_PERMISSION_REQUIRED |
Разрешение ОС отсутствует или отклонено. |
LOCATION_DISABLED |
Режим геолокации отключён. |
LOCATION_PERMISSION_REQUIRED |
Запрошенный режим геолокации не разрешён. |
LOCATION_BACKGROUND_UNAVAILABLE |
Приложение работает в фоновом режиме, но предоставлено только разрешение «При использовании». |
COMPUTER_DISABLED |
Включите Allow Computer Control в приложении для macOS, затем одобрите обновление сопряжения. |
ACCESSIBILITY_REQUIRED |
Предоставьте текущему пакету приложения OpenClaw универсальный доступ в системных настройках macOS. |
SYSTEM_RUN_DENIED: approval required |
Запрос на выполнение требует явного одобрения. |
SYSTEM_RUN_DENIED: allowlist miss |
Команда заблокирована режимом списка разрешённых команд. На хостах Node с Windows формы с оболочкой-обёрткой, такие как cmd.exe /c ..., считаются не входящими в список разрешённых команд, если они не одобрены через процесс запроса. |
Быстрый цикл восстановления
openclaw nodes statusopenclaw nodes describe --node <idOrNameOrIp>openclaw approvals get --node <idOrNameOrIp>openclaw logs --followЕсли проблема сохраняется:
- Повторно одобрите сопряжение устройства.
- Повторно откройте приложение Node на переднем плане.
- Повторно предоставьте разрешения ОС.
- Создайте заново или скорректируйте политику разрешений на выполнение.
Для управления компьютером также убедитесь, что агент с поддержкой компьютерного зрения предоставляет инструмент computer, команда screen.snapshot успешно выполняется при наличии разрешения на запись экрана, а /phone status показывает требуемую временную или постоянную авторизацию Gateway. Запись gateway.nodes.denyCommands всегда имеет приоритет над allowCommands.