Спаривание

«Спаривание» — это шаг явного подтверждения владельцем в OpenClaw. Он используется в двух местах:

  1. Спаривание в личных сообщениях (кому разрешено общаться с ботом)
  2. Спаривание узлов (каким устройствам/узлам разрешено подключаться к сети шлюза)

Контекст безопасности: Безопасность

1) Спаривание в личных сообщениях (входящий доступ)

Когда канал настроен с DM-политикой pairing, неизвестные отправители получают короткий код, а их сообщение не обрабатывается, пока вы не подтвердите.

Политики DM по умолчанию документированы в: Безопасность

Коды спаривания:

  • 8 символов, заглавные буквы, без неоднозначных символов (0O1I).
  • Истекают через 1 час. Бот отправляет сообщение о спаривании только при создании нового запроса (примерно раз в час на отправителя).
  • Ожидающие запросы DM-спаривания ограничены 3 на канал по умолчанию; дополнительные запросы игнорируются, пока один не истечёт или не будет подтверждён.

Подтверждение отправителя

openclaw pairing list telegram
openclaw pairing approve telegram <CODE>

Поддерживаемые каналы: telegram, whatsapp, signal, imessage, discord, slack, feishu.

Где хранится состояние

Хранится в ~/.openclaw/credentials/:

  • Ожидающие запросы: <channel>-pairing.json
  • Хранилище списка разрешённых:
    • Аккаунт по умолчанию: <channel>-allowFrom.json
    • Не-дефолтный аккаунт: <channel>-<accountId>-allowFrom.json

Поведение с привязкой к аккаунту:

  • Не-дефолтные аккаунты читают/записывают только свой файл списка разрешённых.
  • Дефолтный аккаунт использует общий файл списка разрешённых канала.

Обращайтесь с этими файлами как с конфиденциальными (они контролируют доступ к вашему ассистенту).

2) Спаривание устройств-узлов (iOS/Android/macOS/headless-узлы)

Узлы подключаются к Gateway как устройства с role: node. Gateway создаёт запрос на спаривание устройства, который необходимо подтвердить.

Спаривание через Telegram (рекомендуется для iOS)

Если вы используете плагин device-pair, первоначальное спаривание устройства можно выполнить полностью из Telegram:

  1. В Telegram отправьте боту сообщение: /pair
  2. Бот ответит двумя сообщениями: инструкцией и отдельным кодом настройки (удобно для копирования в Telegram).
  3. На телефоне откройте приложение OpenClaw для iOS → Настройки → Gateway.
  4. Вставьте код настройки и подключитесь.
  5. Вернитесь в Telegram: /pair approve

Код настройки — это payload в формате JSON, закодированный в base64, который содержит:

  • url: URL WebSocket шлюза (ws://... или wss://...)
  • bootstrapToken: кратковременный одноразовый токен начальной загрузки для рукопожатия спаривания

Обращайтесь с кодом настройки как с паролем, пока он действителен.

Подтверждение устройства-узла

openclaw devices list
openclaw devices approve <requestId>
openclaw devices reject <requestId>

Хранение состояния спаривания узлов

Хранится в ~/.openclaw/devices/:

  • pending.json (кратковременный; ожидающие запросы истекают)
  • paired.json (спаренные устройства + токены)

Примечания

  • Устаревший API node.pair.* (CLI: openclaw nodes pending/approve) — это отдельное хранилище спаривания, принадлежащее шлюзу. WS-узлам по-прежнему требуется спаривание устройств.

Связанная документация