Вы установили OpenClaw, запустили gateway, написали боту в Telegram --- а он прислал какой-то код вместо ответа. Или ещё хуже: в логах появилась ошибка 1008 pairing required, и ничего не работает. Знакомо?
Pairing --- это система контроля доступа в OpenClaw. Она решает, кто может общаться с вашим агентом. В этой статье разберём, как pairing работает, как одобрить подключение и что делать с ошибкой 1008.
Что такое pairing
Pairing --- это механизм подтверждения доступа. Когда кто-то впервые пишет вашему боту, OpenClaw не обрабатывает сообщение, а присылает одноразовый код подтверждения. Пока вы не одобрите этот код --- бот не ответит.
Это сделано для безопасности: без pairing любой человек, нашедший вашего бота, мог бы им пользоваться и тратить ваш API-бюджет.
Источник: механизм pairing описан в официальной документации OpenClaw.
Два вида pairing
В OpenClaw есть два вида pairing --- важно их не путать:
| Тип | Что контролирует | Где происходит |
|---|---|---|
| DM Pairing | Кто может писать боту в мессенджере | Telegram, WhatsApp, Signal и другие каналы |
| Device Pairing | Какие устройства могут подключаться к gateway | Ноды, приложения, удалённые клиенты |
Чаще всего вы столкнётесь с DM Pairing --- когда впервые пишете собственному боту в Telegram.
Как работает DM Pairing: пошагово
Шаг 1. Вы пишете боту
Отправьте любое сообщение вашему боту в Telegram. Например, «Привет».
Шаг 2. Бот присылает код
Вместо ответа бот пришлёт одноразовый код подтверждения --- 8 символов, заглавные латинские буквы и цифры. Выглядит примерно так:
ABCD2345
Код действует 1 час. После истечения нужно написать боту снова --- он пришлёт новый код.
Особенности кода:
- 8 символов, заглавные
- Не содержит похожих символов (0/O, 1/I) --- чтобы не перепутать при вводе
- Максимум 3 ожидающих запроса на канал --- если отправить больше, лишние будут проигнорированы
Шаг 3. Посмотрите список ожидающих запросов
На компьютере, где запущен OpenClaw, откройте терминал и выполните:
openclaw pairing list telegram
Вы увидите список ожидающих запросов с кодами и идентификаторами отправителей.
Если у вас подключён только один канал (например, только Telegram), можно сократить:
openclaw pairing list
Шаг 4. Одобрите запрос
openclaw pairing approve telegram ABCD2345
Замените ABCD2345 на код, который прислал бот. Если канал один:
openclaw pairing approve ABCD2345
После одобрения отправитель добавляется в локальный список разрешённых. Все последующие сообщения будут обрабатываться.
Шаг 5. Напишите боту снова
Теперь отправьте «Привет» ещё раз --- бот ответит.
Настройка: четыре режима доступа (dmPolicy)
Источник: режимы dmPolicy описаны в справочнике конфигурации.
Pairing --- это один из четырёх режимов контроля доступа в OpenClaw. Режим задаётся в ~/.openclaw/openclaw.json через поле dmPolicy:
// ~/.openclaw/openclaw.json
{
channels: {
telegram: {
botToken: "YOUR_TOKEN",
dmPolicy: "pairing", // режим доступа
},
},
}
Какой режим выбрать
| Режим | Поведение | Когда использовать |
|---|---|---|
"pairing" | Неизвестные отправители получают код, нужно одобрение | По умолчанию. Лучший баланс безопасности и удобства |
"allowlist" | Только пользователи из списка allowFrom | Когда заранее знаете всех пользователей |
"open" | Все могут писать без ограничений | Публичные боты (осторожно с бюджетом!) |
"disabled" | Все входящие DM игнорируются | Бот только для cron-задач или исходящих сообщений |
Режим pairing (по умолчанию)
Если вы не указали dmPolicy --- используется pairing. Это самый удобный режим для личного использования: не нужно заранее знать свой Telegram ID, достаточно одобрить код при первом подключении.
Режим allowlist
Если вы знаете Telegram ID всех пользователей заранее:
{
channels: {
telegram: {
botToken: "YOUR_TOKEN",
dmPolicy: "allowlist",
allowFrom: [
123456789, // ваш Telegram ID
987654321, // ID коллеги
],
},
},
}
Как узнать свой Telegram ID: напишите боту @userinfobot --- он пришлёт ваш числовой ID.
Режим open
{
channels: {
telegram: {
botToken: "YOUR_TOKEN",
dmPolicy: "open",
allowFrom: ["*"],
},
},
}
Любой пользователь сможет писать боту. Установите лимиты расходов на API-ключ, чтобы не получить неожиданный счёт.
Ошибка 1008: pairing required
Ошибка с кодом 1008 --- одна из самых частых при настройке OpenClaw. Она означает, что WebSocket-соединение закрыто из-за нарушения политики доступа.
Когда появляется
Ошибка 1008 возникает в нескольких ситуациях:
1. Устройство подключается к gateway без токена авторизации
Gateway по умолчанию требует токен для WebSocket-подключений. Если токен не передан или неверен --- соединение закрывается с кодом 1008.
disconnected 1008 pairing required
Решение: убедитесь, что gateway token настроен. Проверьте командой:
openclaw doctor
Если doctor показывает проблему с gateway auth --- проверьте конфигурацию:
{
gateway: {
auth: {
mode: "token",
token: "${OPENCLAW_GATEWAY_TOKEN}",
},
},
}
2. Отправитель в мессенджере не прошёл pairing
Если dmPolicy: "pairing" и отправитель ещё не одобрен --- его сообщения не обрабатываются. В логах может появиться pairing required.
Решение: одобрите отправителя (Шаг 3 и 4 выше).
3. Нода или устройство не прошло device pairing
Если к gateway подключается удалённое устройство (нода, мобильный клиент) --- ему тоже нужно пройти pairing.
Решение:
# Посмотреть ожидающие устройства
openclaw devices list
# Одобрить устройство
openclaw devices approve <requestId>
Как диагностировать
# Полная проверка системы
openclaw doctor
# Статус каналов
openclaw channels status --probe
# Логи в реальном времени
openclaw logs --follow
Команда openclaw doctor проверяет конфигурацию, подключения и покажет, если что-то настроено неправильно.
Device Pairing: подключение устройств
Помимо DM Pairing (мессенджеры), есть Device Pairing --- для подключения устройств к gateway.
Через Telegram
- Отправьте боту команду
/pair - Бот пришлёт инструкцию и setup-код (base64)
- Вставьте код в настройки приложения OpenClaw (Settings → Gateway)
- Подтвердите через
/pair approve
Через CLI
# Посмотреть ожидающие запросы
openclaw devices list
# Одобрить
openclaw devices approve <requestId>
# Отклонить
openclaw devices reject <requestId>
Запросы на device pairing истекают через 5 минут (в отличие от DM pairing, где код живёт 1 час).
Где хранятся данные pairing
OpenClaw сохраняет данные pairing в директории ~/.openclaw/credentials/:
| Файл | Назначение |
|---|---|
telegram-pairing.json | Ожидающие запросы DM pairing |
telegram-allowFrom.json | Одобренные отправители |
Для устройств --- в ~/.openclaw/nodes/:
| Файл | Назначение |
|---|---|
pending.json | Ожидающие запросы устройств |
paired.json | Одобренные устройства |
Частые вопросы
Бот прислал код, но я его потерял
Напишите боту ещё раз --- он пришлёт новый код. Старый станет недействительным через час.
Можно ли одобрить через дашборд, а не CLI?
Да, если дашборд запущен (http://127.0.0.1:18789/). В разделе управления каналами есть интерфейс для одобрения pairing-запросов.
Я хочу добавить друга --- ему тоже нужен pairing?
Да, если dmPolicy: "pairing". Друг пишет боту, получает код, вы одобряете. Или переключитесь на allowlist и добавьте его Telegram ID в allowFrom.
После перезапуска gateway нужно проходить pairing заново?
Нет. Одобренные отправители сохраняются в файлах --- они переживают перезапуск.
access not configured --- что это?
Это сообщение означает, что канал добавлен в конфигурацию, но политика доступа не настроена. Добавьте dmPolicy в настройки канала.
Что дальше
- Подключение Telegram --- полная настройка Telegram-бота
- Частые ошибки и их решения --- другие типичные проблемы
- Безопасность OpenClaw --- почему pairing важен для защиты
- Справочник CLI --- все команды, включая
pairing listиpairing approve