Parowanie
Domyślna polityka wiadomości prywatnych dla SMS to parowanie.
Bezpieczeństwo Gateway
Sprawdź ekspozycję webhook i kontrolę dostępu nadawców.
Rozwiązywanie problemów z kanałem
Diagnostyka międzykanałowa i procedury naprawcze.
Zanim zaczniesz
Potrzebujesz:- Oficjalnego Plugin SMS zainstalowanego za pomocą
openclaw plugins install @openclaw/sms. - Konta Twilio z numerem telefonu obsługującym SMS albo Twilio Messaging Service.
- Twilio Account SID i Auth Token.
- Publicznego adresu URL HTTPS, który prowadzi do Twojego OpenClaw Gateway.
- Wyboru polityki nadawców:
pairingdo użytku prywatnego,allowlistdla wcześniej zatwierdzonych numerów telefonu alboopentylko dla celowo publicznego dostępu SMS.
Szybka konfiguracja
Utwórz lub wybierz nadawcę Twilio
W Twilio otwórz Numery telefonu > Zarządzaj > Aktywne numery i wybierz numer obsługujący SMS. Zapisz:
- Account SID, na przykład
ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - Auth Token
- Numer telefonu nadawcy, na przykład
+15551234567
MGxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.Skieruj Twilio na webhook Gateway
W ustawieniach numeru telefonu Twilio otwórz Wiadomości i ustaw Gdy przychodzi wiadomość na:Użyj HTTP
POST. Domyślna ścieżka lokalna to /webhooks/sms; zmień channels.sms.webhookPath, jeśli potrzebujesz innej trasy.Udostępnij dokładną ścieżkę webhook SMS
Twój publiczny adres URL musi kierować ścieżkę SMS do procesu Gateway. Jeśli używasz Tailscale Funnel do testów lokalnych, jawnie udostępnij Połączenia głosowe i SMS używają oddzielnych ścieżek webhook. Jeśli ten sam numer Twilio obsługuje oba, zachowaj obie trasy skonfigurowane w Twilio i w swoim tunelu.
/webhooks/sms:Przykłady konfiguracji
Plik konfiguracyjny
Użyj konfiguracji przez plik konfiguracyjny, gdy chcesz, aby definicja kanału była przenoszona razem z konfiguracją Gateway:Zmienne środowiskowe
Użyj konfiguracji przez zmienne środowiskowe dla wdrożeń z jednym kontem, w których sekrety pochodzą ze środowiska hosta:TWILIO_SMS_FROM jest akceptowane jako alias dla TWILIO_PHONE_NUMBER. Użyj TWILIO_MESSAGING_SERVICE_SID zamiast nadawcy w postaci numeru telefonu, gdy Twilio ma wybrać nadawcę z Messaging Service.
Token uwierzytelniający SecretRef
authToken może być SecretRef. Użyj tego, gdy Gateway ma rozwiązywać Twilio Auth Token z runtime sekretów OpenClaw zamiast przechowywać konfigurację w postaci zwykłego tekstu:
Prywatny numer tylko z listą dozwolonych
Użyjallowlist, gdy tylko znane numery telefonów powinny móc rozmawiać z agentem:
Nadawca Messaging Service
UżyjmessagingServiceSid zamiast fromNumber, gdy Twilio ma wybrać nadawcę przez Messaging Service:
fromNumber, jak i messagingServiceSid, używane jest fromNumber.
Domyślny cel wychodzący
UstawdefaultTo, gdy automatyzacja lub dostarczanie inicjowane przez agenta powinno mieć domyślne miejsce docelowe, jeśli przepływ wysyłania pomija jawny cel:
Kontrola dostępu
channels.sms.dmPolicy kontroluje bezpośredni dostęp SMS:
pairing(domyślnie)allowlist(wymaga co najmniej jednego nadawcy wallowFrom)open(wymaga, abyallowFromzawierało"*")disabled
allowFrom powinny być numerami telefonu E.164, takimi jak +15551234567. Prefiksy sms: są akceptowane i normalizowane. Dla prywatnego asystenta preferuj dmPolicy: "allowlist" z jawnymi numerami telefonu.
Wysyłanie SMS
Wychodzące cele SMS używają prefiksu usługisms: z wybranym kanałem SMS:
twilio-sms:+15551234567 wybiera ten kanał bez przejmowania istniejącego prefiksu usługi sms: należącego do kanału, używanego przez iMessage.
--target. defaultTo jest przeznaczone dla automatyzacji i ścieżek dostarczania inicjowanych przez agenta, w których cel można rozwiązać z konfiguracji kanału.
Odpowiedzi agenta z przychodzących konwersacji SMS automatycznie wracają do nadawcy przez skonfigurowanego nadawcę Twilio.
Wyjście SMS to zwykły tekst. OpenClaw usuwa markdown, spłaszcza ogrodzone bloki kodu, zachowuje czytelne linki i dzieli długie odpowiedzi na części przed wysłaniem ich przez Twilio.
Weryfikacja konfiguracji
Po uruchomieniu Gateway:- Potwierdź, że log Gateway pokazuje trasę webhook SMS.
- Uruchom sondę po stronie Twilio:
- Wyślij SMS na numer Twilio ze swojego telefonu.
- Uruchom
openclaw pairing list sms. - Zatwierdź kod parowania za pomocą
openclaw pairing approve sms <CODE>. - Wyślij kolejnego SMS-a i potwierdź, że agent odpowiada.
Test end-to-end z macOS iMessage/SMS
Na Macu, który może wysyłać SMS-y operatora przez Wiadomości, możesz użyćimsg, aby obsłużyć stronę nadawcy bez dotykania telefonu:
Bezpieczeństwo webhook
Domyślnie OpenClaw weryfikujeX-Twilio-Signature przy użyciu publicWebhookUrl i authToken. Zachowaj publicWebhookUrl zgodny bajt po bajcie z adresem URL skonfigurowanym w Twilio, w tym schemat, host, ścieżkę i ciąg zapytania.
Tylko do testów lokalnego tunelu możesz ustawić:
Konfiguracja wielu kont
Użyjaccounts, gdy obsługujesz więcej niż jeden numer Twilio:
webhookPath.
Rozwiązywanie problemów
Twilio zwraca 403 albo OpenClaw odrzuca webhook
Sprawdź, czypublicWebhookUrl dokładnie odpowiada adresowi URL skonfigurowanemu w Twilio, w tym schematowi, hostowi, ścieżce i ciągowi zapytania. Twilio podpisuje publiczny ciąg URL, więc przepisywanie przez proxy i alternatywne nazwy hostów mogą przerwać walidację podpisu.
Nie pojawia się żądanie parowania
Sprawdź adres URL i metodę webhook Wiadomości numeru Twilio. Musi wskazywać adres URL webhook SMS i używaćPOST. Potwierdź także, że Gateway jest osiągalny z publicznego internetu albo przez Twój tunel.
Jeśli log wiadomości Twilio pokazuje błąd 11200, Twilio zaakceptowało przychodzący SMS, ale nie mogło połączyć się z Twoim webhook. Sprawdź:
- Twilio Wiadomości > Gdy przychodzi wiadomość wskazuje
publicWebhookUrl. - Metoda to
POST. - Tunel lub odwrotny serwer proxy udostępnia dokładny
webhookPath; dla Tailscale Funnel uruchomtailscale funnel statusi potwierdź, że/webhooks/smsjest na liście. publicWebhookUrlużywa tego samego schematu, hosta, ścieżki i ciągu zapytania, które wysyła Twilio, aby walidacja podpisu mogła odtworzyć podpisany adres URL.
Wysyłki wychodzące kończą się niepowodzeniem
Potwierdź, żeaccountSid, authToken oraz fromNumber albo messagingServiceSid są rozwiązane. Jeśli używasz próbnego konta Twilio, numer docelowy może wymagać weryfikacji w Twilio, zanim wychodzący SMS zostanie wysłany.
Wiadomości przychodzą, ale agent nie odpowiada
SprawdźdmPolicy i allowFrom. Przy domyślnej polityce pairing nadawca musi zostać zatwierdzony, zanim zwykłe tury agenta zostaną przetworzone.