CLI commands

QR

openclaw qr

Создайте QR-код для сопряжения мобильного устройства и код настройки на основе текущей конфигурации Gateway.

bash
openclaw qropenclaw qr --setup-code-onlyopenclaw qr --jsonopenclaw qr --remoteopenclaw qr --limitedopenclaw qr --url wss://gateway.example/ws

Официальные приложения OpenClaw для iOS и Android подключаются автоматически, когда метаданные их кода настройки совпадают. Если запрос остаётся в ожидании (например, для неофициального клиента или при несовпадении метаданных), просмотрите и одобрите его:

bash
openclaw devices listopenclaw devices approve <requestId>

Параметры

  • --remote: предпочтительно использовать gateway.remote.url; если этот URL не задан, используется gateway.tailscale.mode=serve|funnel. Игнорирует device-pair плагина publicUrl.
  • --url <url>: переопределить URL-адрес Gateway, используемый в полезной нагрузке
  • --public-url <url>: переопределить общедоступный URL-адрес, используемый в полезной нагрузке
  • --token <token>: переопределить токен Gateway, по которому выполняется аутентификация в процессе начальной настройки
  • --password <password>: переопределить пароль Gateway, по которому выполняется аутентификация в процессе начальной настройки
  • --limited: исключить административный доступ к Gateway из передаваемого токена оператора
  • --setup-code-only: вывести только код настройки
  • --no-ascii: не отображать QR-код в формате ASCII
  • --json: вывести JSON (setupCode, gatewayUrl, необязательный gatewayUrls, auth, access, необязательный accessDowngraded, urlSource)

--token и --password являются взаимоисключающими.

Содержимое кода настройки

Код настройки содержит непрозрачный краткосрочный bootstrapToken, а не общий токен или пароль Gateway. Для конечной точки wss:// (или loopback на том же хосте) процесс начальной настройки по умолчанию выдаёт:

  • основной токен node с scopes: []
  • полнофункциональный токен передачи operator для нативного мобильного приложения с operator.admin, operator.approvals, operator.read, operator.talk.secrets и operator.write

Используйте --limited, чтобы сохранить тот же токен узла, исключив operator.admin из передаваемого токена оператора. Область действия для изменения сопряжения никогда не передаётся через код настройки.

Настройка через незашифрованную локальную сеть ws:// по-прежнему доступна, но OpenClaw автоматически использует ограниченный профиль, поскольку наблюдатель в сети может перехватить bearer-токен начальной настройки и использовать его раньше клиента. Настройте wss:// или Tailscale Serve, затем создайте новый код, чтобы получить полный доступ.

Определение URL-адреса Gateway

Сопряжение мобильного устройства завершается отказом для URL-адресов Gateway ws:// в Tailscale или общедоступной сети: используйте Tailscale Serve/Funnel или URL-адрес Gateway wss://. Частные адреса локальной сети и Bonjour-хосты .local по-прежнему поддерживаются через незашифрованный ws://, но с ограниченным доступом оператора, как описано выше.

Когда выбранный URL-адрес Gateway получен из gateway.bind=lan, OpenClaw также проверяет постоянные маршруты tailscale serve status --json. Любой корневой адрес HTTPS Serve, проксирующий loopback-порт активного Gateway, включается в качестве резервного варианта. Команда QR добавляет этот резервный вариант только для lan; custom и tailnet сохраняют явно объявленные маршруты. Текущие клиенты iOS проверяют объявленные маршруты по порядку и сохраняют первый доступный; устаревшее поле url остаётся неизменным для старых клиентов.

При использовании --remote необходимо указать один из параметров: gateway.remote.url или gateway.tailscale.mode=serve|funnel.

Определение аутентификации (без --remote)

Если переопределение аутентификации через CLI не передано, локальные SecretRefs для аутентификации Gateway разрешаются следующим образом:

Условие Результат разрешения
gateway.auth.mode="token" или автоматически определённый режим без приоритетного источника пароля gateway.auth.token
gateway.auth.mode="password" или автоматически определённый режим без приоритетного токена из аутентификации или переменных окружения gateway.auth.password
Настроены и gateway.auth.token, и gateway.auth.password (включая SecretRefs), а gateway.auth.mode не задан ошибка; явно задайте gateway.auth.mode

Определение аутентификации (--remote)

Если фактически активные удалённые учётные данные настроены как SecretRefs и не передан ни --token, ни --password, команда разрешает их из активного снимка состояния Gateway. Если Gateway недоступен, команда немедленно завершается с ошибкой.

См. также

Was this useful?
On this page

On this page