Сопряжение
Политика личных сообщений по умолчанию для SMS — сопряжение.
Безопасность Gateway
Проверьте доступность webhook и средства контроля доступа отправителей.
Устранение неполадок каналов
Межканальная диагностика и сценарии восстановления.
Перед началом
Вам нужны:- Официальный SMS-Plugin, установленный с помощью
openclaw plugins install @openclaw/sms. - Учетная запись Twilio с телефонным номером, поддерживающим SMS, или Twilio Messaging Service.
- Twilio Account SID и Auth Token.
- Публичный HTTPS-URL, который ведет к вашему OpenClaw Gateway.
- Выбор политики отправителей:
pairingдля частного использования,allowlistдля заранее одобренных телефонных номеров илиopenтолько для намеренно публичного SMS-доступа.
Быстрая настройка
Создайте или выберите отправителя Twilio
В Twilio откройте Phone Numbers > Manage > Active numbers и выберите номер, поддерживающий SMS. Сохраните:
- Account SID, например
ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - Auth Token
- Телефонный номер отправителя, например
+15551234567
MGxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.Направьте Twilio на webhook Gateway
В настройках телефонного номера Twilio откройте Messaging и задайте для A message comes in:Используйте HTTP
POST. Локальный путь по умолчанию — /webhooks/sms; измените channels.sms.webhookPath, если вам нужен другой маршрут.Откройте точный путь SMS-webhook
Ваш публичный URL должен маршрутизировать SMS-путь к процессу Gateway. Если для локального тестирования вы используете Tailscale Funnel, явно откройте Voice Call и SMS используют отдельные пути webhook. Если один и тот же номер Twilio обрабатывает оба варианта, держите оба маршрута настроенными в Twilio и в вашем туннеле.
/webhooks/sms:Примеры конфигурации
Файл конфигурации
Используйте настройку через файл конфигурации, когда нужно, чтобы определение канала передавалось вместе с конфигурацией Gateway:Переменные окружения
Используйте настройку через переменные окружения для развертываний с одной учетной записью, где секреты поступают из окружения хоста:TWILIO_SMS_FROM принимается как псевдоним для TWILIO_PHONE_NUMBER. Используйте TWILIO_MESSAGING_SERVICE_SID вместо отправителя с телефонным номером, когда Twilio должен выбирать отправителя из Messaging Service.
Токен аутентификации SecretRef
authToken может быть SecretRef. Используйте это, когда Gateway должен получать Twilio Auth Token из среды выполнения секретов OpenClaw вместо хранения конфигурации открытым текстом:
Частный номер только с allowlist
Используйтеallowlist, когда только известные телефонные номера должны иметь возможность общаться с агентом:
Отправитель Messaging Service
ИспользуйтеmessagingServiceSid вместо fromNumber, когда Twilio должен выбирать отправителя через Messaging Service:
fromNumber, и messagingServiceSid, используется fromNumber.
Цель исходящих сообщений по умолчанию
ЗадайтеdefaultTo, когда автоматизация или доставка, инициированная агентом, должна иметь назначение по умолчанию, если поток отправки не указывает явную цель:
Контроль доступа
channels.sms.dmPolicy управляет прямым SMS-доступом:
pairing(по умолчанию)allowlist(требуется как минимум один отправитель вallowFrom)open(требуется, чтобыallowFromвключал"*")disabled
allowFrom должны быть телефонными номерами в формате E.164, например +15551234567. Префиксы sms: принимаются и нормализуются. Для частного ассистента предпочитайте dmPolicy: "allowlist" с явными телефонными номерами.
Отправка SMS
Цели исходящих SMS используют служебный префиксsms: при выбранном SMS-канале:
twilio-sms:+15551234567 выбирает этот канал, не перехватывая существующий служебный префикс sms:, принадлежащий каналу и используемый iMessage.
--target. defaultTo предназначен для автоматизации и путей доставки, инициированных агентом, где цель может быть разрешена из конфигурации канала.
Ответы агента из входящих SMS-разговоров автоматически возвращаются отправителю через настроенного отправителя Twilio.
Вывод SMS — простой текст. OpenClaw удаляет markdown, выравнивает огражденные блоки кода, сохраняет читаемые ссылки и разбивает длинные ответы на части перед отправкой через Twilio.
Проверка настройки
После запуска Gateway:- Убедитесь, что журнал Gateway показывает маршрут SMS-webhook.
- Запустите проверку со стороны Twilio:
- Отправьте SMS на номер Twilio со своего телефона.
- Выполните
openclaw pairing list sms. - Одобрите код сопряжения с помощью
openclaw pairing approve sms <CODE>. - Отправьте еще одно SMS и подтвердите, что агент отвечает.
Сквозной тест из macOS iMessage/SMS
На Mac, который может отправлять операторские SMS через Messages, можно использоватьimsg, чтобы управлять стороной отправителя, не трогая телефон:
Безопасность webhook
По умолчанию OpenClaw проверяетX-Twilio-Signature, используя publicWebhookUrl и authToken. Держите publicWebhookUrl побайтно согласованным с URL, настроенным в Twilio, включая схему, хост, путь и строку запроса.
Только для тестирования локального туннеля можно задать:
Конфигурация нескольких учетных записей
Используйтеaccounts, когда вы обслуживаете более одного номера Twilio:
webhookPath.
Устранение неполадок
Twilio возвращает 403 или OpenClaw отклоняет webhook
Проверьте, чтоpublicWebhookUrl точно совпадает с URL, настроенным в Twilio, включая схему, хост, путь и строку запроса. Twilio подписывает строку публичного URL, поэтому переписывание прокси и альтернативные имена хостов могут нарушить проверку подписи.
Запрос на сопряжение не появляется
Проверьте URL и метод webhook в Messaging для номера Twilio. Он должен указывать на URL SMS-webhook и использоватьPOST. Также убедитесь, что Gateway доступен из публичного интернета или через ваш туннель.
Если журнал сообщений Twilio показывает ошибку 11200, Twilio принял входящее SMS, но не смог достучаться до вашего webhook. Проверьте:
- Twilio Messaging > A message comes in указывает на
publicWebhookUrl. - Метод —
POST. - Туннель или обратный прокси открывает точный
webhookPath; для Tailscale Funnel выполнитеtailscale funnel statusи убедитесь, что/webhooks/smsесть в списке. publicWebhookUrlиспользует те же схему, хост, путь и строку запроса, которые отправляет Twilio, чтобы проверка подписи могла воспроизвести подписанный URL.
Исходящие отправки не проходят
Убедитесь, чтоaccountSid, authToken и либо fromNumber, либо messagingServiceSid разрешаются. Если вы используете пробную учетную запись Twilio, номер назначения может потребоваться подтвердить в Twilio перед отправкой исходящих SMS.
Сообщения приходят, но агент не отвечает
ПроверьтеdmPolicy и allowFrom. При политике pairing по умолчанию отправитель должен быть одобрен, прежде чем будут обрабатываться обычные ходы агента.