SMS — Memerintah AI lewat Teks
SMS — Command AI by Text — easy-to-understand guide based on official docs
SMS — Memerintah AI lewat Teks
Ingat masa sebelum smartphone, ketika SMS adalah cara tercepat untuk menghubungi seseorang? Nah, saluran klasik itu ternyata masih hidup dan relevan — dan sekarang menjadi cara yang lengkap untuk ngobrol dengan asisten AI kamu.
Hermes sekarang terhubung ke SMS melalui Twilio, jadi siapa pun yang punya nomor telepon bisa mengirim SMS ke bot kamu dan mendapatkan respons bertenaga AI. Tanpa instal aplikasi, tanpa kode QR, tanpa perlu belajar. Cukup SMS biasa.
Apa yang Baru di Pembaruan Ini
Gerbang SMS mendapat peningkatan serius. Ini yang berubah:
SMS_WEBHOOK_URLsekarang wajib — Hermes memvalidasi tanda tangan webhook Twilio untuk mencegah penipu masuk. Gerbang akan menolak untuk berjalan tanpa ini.- Variabel lingkungan baru —
SMS_WEBHOOK_HOST,SMS_WEBHOOK_PORT,SMS_INSECURE_NO_SIGNATURE, danSMS_ALLOW_ALL_USERSmemberi kamu kontrol lebih. - Default keamanan yang lebih baik — Gerbang menolak semua pengguna secara default. Kamu harus secara eksplisit memasukkan nomor telepon ke daftar izin.
- Pemecahan pesan yang lebih cerdas — Respons panjang sekarang dipecah di batas alami (baris baru, lalu spasi) alih-alih dipotong di tengah kata.
Memulai
Pertama, kamu perlu akun Twilio dan nomor telepon dengan kemampuan SMS. Twilio menawarkan uji coba gratis, jadi kamu bisa menguji semuanya tanpa mengeluarkan uang sepeser pun.
Kamu juga perlu server yang bisa diakses publik. Twilio mengirim webhook ke server kamu saat seseorang mengirim SMS ke nomor kamu. Jika kamu menjalankan Hermes secara lokal, alat seperti cloudflared atau ngrok bisa mengekspos localhost kamu ke internet.
Pasang ekstra SMS dengan:
cd ~/.hermes/hermes-agent && uv pip install -e ".[sms]"
Langkah 1: Ambil Kredensial Twilio Kamu
Buka Konsol Twilio, salin Account SID dan Auth Token dari dasbor, dan catat nomor telepon kamu dalam format E.164 (seperti +15551234567).
Langkah 2: Konfigurasi Hermes
Cara termudah adalah dengan wizard interaktif:
hermes gateway setup
Pilih SMS (Twilio) dan ikuti petunjuknya.
Lebih suka pengaturan manual? Tambahkan ini ke ~/.hermes/.env:
TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=your_auth_token_here
TWILIO_PHONE_NUMBER=+15551234567
# Keamanan: batasi ke nomor telepon tertentu (disarankan)
SMS_ALLOWED_USERS=+15559876543,+15551112222
# Opsional: atur saluran utama untuk pengiriman cron job
SMS_HOME_CHANNEL=+15559876543
Langkah 3: Siapkan Webhook Twilio
Di Konsol Twilio, buka Phone Numbers → Manage → Active Numbers, klik nomor kamu, dan di bawah Messaging → A MESSAGE COMES IN, atur webhook ke:
https://your-server:8080/webhooks/twilio
Atur metode HTTP ke POST.
Penting: Atur SMS_WEBHOOK_URL ke URL yang persis sama dengan yang kamu konfigurasi di Twilio. Ini wajib untuk validasi tanda tangan:
SMS_WEBHOOK_URL=https://your-server:8080/webhooks/twilio
Port webhook default-nya 8080, tapi kamu bisa mengubahnya dengan SMS_WEBHOOK_PORT.
Langkah 4: Jalankan Gerbang
hermes gateway
Kamu akan melihat sesuatu seperti:
[sms] Twilio webhook server listening on 127.0.0.1:8080, from: +1555***4567
Sekarang kirim SMS ke nomor Twilio kamu — Hermes akan merespons melalui SMS.
Bagaimana Perilaku SMS Berbeda
SMS adalah media teks polos, jadi Hermes beradaptasi:
- Tanpa Markdown — Otomatis dihilangkan karena SMS menampilkannya sebagai karakter literal
- Batas 1600 karakter — Respons yang lebih panjang dipecah menjadi beberapa pesan di batas alami
- Pencegahan gema — Pesan dari nomor Twilio kamu sendiri diabaikan untuk mencegah perulangan
- Privasi — Nomor telepon disamarkan di log
Keamanan Itu Penting
Hermes memvalidasi bahwa webhook masuk benar-benar berasal dari Twilio dengan memeriksa header X-Twilio-Signature (HMAC-SHA1). Ini memblokir penyerang dari menyuntikkan pesan palsu.
Gerbang menolak semua pengguna secara default. Kamu harus mengonfigurasi daftar izin:
SMS_ALLOWED_USERS=+15559876543,+15551112222
Atau, jika kamu merasa nekat (tolong jangan):
SMS_ALLOW_ALL_USERS=true
Untuk pengembangan lokal tanpa URL publik, kamu bisa menonaktifkan validasi tanda tangan:
SMS_INSECURE_NO_SIGNATURE=true
Tapi ingat — itu hanya untuk pengembangan lokal, jangan pernah untuk produksi.
Satu Peringatan Terakhir
SMS tidak memiliki enkripsi bawaan. Jangan gunakan untuk operasi sensitif. Untuk hal yang bersifat rahasia, gunakan Signal atau Telegram.
Pemecahan Masalah
Pesan tidak kunjung datang? Periksa:
- URL webhook kamu benar dan bisa diakses publik
TWILIO_ACCOUNT_SIDdanTWILIO_AUTH_TOKENkamu benar- Konsol Twilio → Monitor → Logs → Messaging untuk melihat error pengiriman
- Nomor telepon kamu ada di
SMS_ALLOWED_USERS
Itu saja! Kirim SMS ke bot kamu, dapatkan jawaban. Sesederhana itu.
📖 Dokumentasi resmi
この記事は Hermes Agent のDokumentasi resmiに基づいています:Dokumentasi resmi › user-guide/messaging/sms