Ghép nối
Chính sách DM mặc định cho SMS là ghép nối.
Bảo mật Gateway
Xem lại việc phơi bày webhook và các kiểm soát truy cập người gửi.
Khắc phục sự cố kênh
Chẩn đoán liên kênh và các playbook sửa chữa.
Trước khi bắt đầu
Bạn cần:- Plugin SMS chính thức được cài đặt bằng
openclaw plugins install @openclaw/sms. - Một tài khoản Twilio có số điện thoại hỗ trợ SMS, hoặc một Twilio Messaging Service.
- Twilio Account SID và Auth Token.
- Một URL HTTPS công khai trỏ tới OpenClaw Gateway của bạn.
- Một lựa chọn chính sách người gửi:
pairingcho sử dụng riêng tư,allowlistcho các số điện thoại đã được phê duyệt trước, hoặcopenchỉ cho truy cập SMS công khai có chủ đích.
Thiết lập nhanh
Tạo hoặc chọn người gửi Twilio
Trong Twilio, mở Phone Numbers > Manage > Active numbers và chọn một số hỗ trợ SMS. Lưu:
- Account SID, ví dụ
ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx - Auth Token
- Số điện thoại người gửi, ví dụ
+15551234567
MGxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.Trỏ Twilio tới webhook Gateway
Trong cài đặt số điện thoại Twilio, mở Messaging và đặt A message comes in thành:Dùng HTTP
POST. Đường dẫn cục bộ mặc định là /webhooks/sms; thay đổi channels.sms.webhookPath nếu bạn cần tuyến khác.Phơi bày đúng đường dẫn webhook SMS
URL công khai của bạn phải định tuyến đường dẫn SMS tới tiến trình Gateway. Nếu bạn dùng Tailscale Funnel để kiểm thử cục bộ, hãy phơi bày Voice Call và SMS dùng các đường dẫn webhook riêng. Nếu cùng một số Twilio xử lý cả hai, hãy giữ cả hai tuyến được cấu hình trong Twilio và trong tunnel của bạn.
/webhooks/sms một cách rõ ràng:Ví dụ cấu hình
Tệp cấu hình
Dùng thiết lập bằng tệp cấu hình khi bạn muốn định nghĩa kênh đi cùng cấu hình Gateway:Biến môi trường
Dùng thiết lập env cho các triển khai một tài khoản, nơi bí mật đến từ môi trường máy chủ:TWILIO_SMS_FROM được chấp nhận làm bí danh cho TWILIO_PHONE_NUMBER. Dùng TWILIO_MESSAGING_SERVICE_SID thay cho người gửi dạng số điện thoại khi Twilio nên chọn người gửi từ Messaging Service.
Auth token SecretRef
authToken có thể là SecretRef. Dùng cách này khi Gateway nên phân giải Twilio Auth Token từ runtime bí mật của OpenClaw thay vì lưu cấu hình dạng văn bản thuần:
Số riêng tư chỉ allowlist
Dùngallowlist khi chỉ các số điện thoại đã biết mới có thể trò chuyện với agent:
Người gửi Messaging Service
DùngmessagingServiceSid thay vì fromNumber khi Twilio nên chọn người gửi thông qua Messaging Service:
fromNumber và messagingServiceSid đều có mặt sau khi phân giải cấu hình và env, fromNumber sẽ được dùng.
Mục tiêu gửi đi mặc định
ĐặtdefaultTo khi tự động hóa hoặc gửi do agent khởi tạo nên có đích mặc định nếu luồng gửi bỏ qua mục tiêu rõ ràng:
Kiểm soát truy cập
channels.sms.dmPolicy kiểm soát truy cập SMS trực tiếp:
pairing(mặc định)allowlist(yêu cầu ít nhất một người gửi trongallowFrom)open(yêu cầuallowFrombao gồm"*")disabled
allowFrom nên là số điện thoại E.164 như +15551234567. Tiền tố sms: được chấp nhận và chuẩn hóa. Với trợ lý riêng tư, ưu tiên dmPolicy: "allowlist" cùng các số điện thoại rõ ràng.
Gửi SMS
Mục tiêu SMS gửi đi dùng tiền tố dịch vụsms: với kênh SMS được chọn:
twilio-sms:+15551234567 chọn kênh này mà không chiếm quyền tiền tố dịch vụ sms: hiện có do kênh sở hữu, vốn được iMessage dùng.
--target rõ ràng. defaultTo dành cho các đường dẫn tự động hóa và gửi do agent khởi tạo, nơi mục tiêu có thể được phân giải từ cấu hình kênh.
Phản hồi của agent từ các cuộc trò chuyện SMS đến sẽ tự động quay lại người gửi thông qua người gửi Twilio đã cấu hình.
Đầu ra SMS là văn bản thuần. OpenClaw loại bỏ markdown, làm phẳng các khối mã có hàng rào, giữ các liên kết dễ đọc, và chia các phản hồi dài thành nhiều phần trước khi gửi chúng qua Twilio.
Xác minh thiết lập
Sau khi Gateway khởi động:- Xác nhận nhật ký Gateway hiển thị tuyến webhook SMS.
- Chạy một probe phía Twilio:
- Gửi SMS tới số Twilio từ điện thoại của bạn.
- Chạy
openclaw pairing list sms. - Phê duyệt mã ghép nối bằng
openclaw pairing approve sms <CODE>. - Gửi SMS khác và xác nhận agent phản hồi.
Kiểm thử đầu cuối từ macOS iMessage/SMS
Trên máy Mac có thể gửi SMS nhà mạng qua Messages, bạn có thể dùngimsg để điều khiển phía người gửi mà không cần chạm vào điện thoại:
Bảo mật webhook
Theo mặc định, OpenClaw xác thựcX-Twilio-Signature bằng publicWebhookUrl và authToken. Giữ publicWebhookUrl khớp từng byte với URL được cấu hình trong Twilio, bao gồm scheme, host, path và query string.
Chỉ cho kiểm thử tunnel cục bộ, bạn có thể đặt:
Cấu hình nhiều tài khoản
Dùngaccounts khi bạn vận hành nhiều hơn một số Twilio:
webhookPath riêng biệt.
Khắc phục sự cố
Twilio trả về 403 hoặc OpenClaw từ chối webhook
Kiểm tra rằngpublicWebhookUrl khớp chính xác với URL được cấu hình trong Twilio, bao gồm scheme, host, path và query string. Twilio ký chuỗi URL công khai, vì vậy việc proxy ghi lại URL và tên máy chủ thay thế có thể làm hỏng xác thực chữ ký.
Không có yêu cầu ghép nối nào xuất hiện
Kiểm tra URL và phương thức webhook Messaging của số Twilio. Nó phải trỏ tới URL webhook SMS và dùngPOST. Cũng xác nhận Gateway có thể truy cập được từ Internet công khai hoặc qua tunnel của bạn.
Nếu nhật ký tin nhắn Twilio hiển thị lỗi 11200, Twilio đã chấp nhận SMS đến nhưng không thể truy cập webhook của bạn. Kiểm tra:
- Twilio Messaging > A message comes in trỏ tới
publicWebhookUrl. - Phương thức là
POST. - Tunnel hoặc reverse proxy phơi bày đúng
webhookPath; với Tailscale Funnel, chạytailscale funnel statusvà xác nhận/webhooks/smsđược liệt kê. publicWebhookUrldùng cùng scheme, host, path và query string mà Twilio gửi, để xác thực chữ ký có thể tái tạo URL đã được ký.
Gửi đi thất bại
Xác nhậnaccountSid, authToken, và fromNumber hoặc messagingServiceSid đã được phân giải. Nếu bạn dùng tài khoản Twilio dùng thử, số đích có thể cần được xác minh trong Twilio trước khi SMS gửi đi được gửi.
Tin nhắn đến nhưng agent không trả lời
Kiểm tradmPolicy và allowFrom. Với chính sách pairing mặc định, người gửi phải được phê duyệt trước khi các lượt tác nhân thông thường được xử lý.