Сполучення
Типова політика DM для SMS — сполучення.
Безпека Gateway
Перегляньте доступність Webhook і засоби контролю доступу відправників.
Усунення несправностей каналу
Міжканальна діагностика та інструкції з виправлення.
Перед початком
Вам потрібно:- Офіційний Plugin SMS, установлений за допомогою
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, явно відкрийте Голосові виклики й SMS використовують окремі шляхи Webhook. Якщо той самий номер Twilio обробляє обидва, збережіть обидва маршрути налаштованими в Twilio і у вашому тунелі.
/webhooks/sms:Приклади конфігурації
Файл конфігурації
Використовуйте налаштування через файл конфігурації, коли хочете, щоб визначення каналу передавалося разом із конфігурацією Gateway:Змінні середовища
Використовуйте налаштування через env для розгортань з одним обліковим записом, де секрети надходять із середовища хоста:TWILIO_SMS_FROM приймається як псевдонім для TWILIO_PHONE_NUMBER. Використовуйте TWILIO_MESSAGING_SERVICE_SID замість відправника за телефонним номером, коли Twilio має вибирати відправника з Messaging Service.
Auth Token через SecretRef
authToken може бути SecretRef. Використовуйте це, коли Gateway має отримувати Twilio Auth Token із runtime секретів OpenClaw замість збереження конфігурації у відкритому тексті:
Приватний номер лише зі списком дозволених
Використовуйте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, вирівнює fenced code blocks, зберігає читабельні посилання та розбиває довгі відповіді на частини перед надсиланням через 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 відправника потрібно схвалити, перш ніж оброблятимуться звичайні ходи агента.