Nodes and media

Устранение неполадок Node

Используйте эту страницу, если Node отображается в статусе, но инструменты Node не работают.

Последовательность команд

bash
openclaw statusopenclaw gateway statusopenclaw logs --followopenclaw doctoropenclaw channels status --probe

Затем выполните проверки для конкретного Node:

bash
openclaw nodes statusopenclaw nodes describe --node <idOrNameOrIp>openclaw approvals get --node <idOrNameOrIp>

Признаки нормальной работы:

  • Node подключен и сопряжён для роли node.
  • nodes describe содержит вызываемую вами возможность.
  • Разрешения на выполнение показывают ожидаемый режим и список разрешённых команд.

Требования к работе на переднем плане

canvas.*, camera.* и screen.* работают только на переднем плане на Node с iOS/Android.

Быстрая проверка и исправление:

bash
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 контролируют три независимых механизма:

  1. Сопряжение устройства: может ли этот Node подключиться к Gateway?
  2. Политика команд Node в Gateway: разрешён ли идентификатор команды RPC в gateway.nodes.allowCommands / denyCommands и настройках платформы по умолчанию?
  3. Разрешения на выполнение: может ли этот Node локально выполнить конкретную команду оболочки?

Сопряжение Node — это проверка идентичности и доверия, а не механизм разрешения отдельных команд. Для system.run политика конкретного Node хранится в файле разрешений на выполнение этого Node (openclaw approvals get --node ...), а не в записи сопряжения Gateway.

Быстрые проверки:

bash
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 ..., считаются не входящими в список разрешённых команд, если они не одобрены через процесс запроса.

Быстрый цикл восстановления

bash
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.

Связанные материалы

Was this useful?
On this page

On this page