🤖HermesBlog
Hermes Messaging Platforms · Parte 88/9/2026

SMS — Memerintah AI lewat Teks

SMS — Command AI by Text — easy-to-understand guide based on official docs

messaging-sms

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_URL sekarang wajib — Hermes memvalidasi tanda tangan webhook Twilio untuk mencegah penipu masuk. Gerbang akan menolak untuk berjalan tanpa ini.
  • Variabel lingkungan baruSMS_WEBHOOK_HOST, SMS_WEBHOOK_PORT, SMS_INSECURE_NO_SIGNATURE, dan SMS_ALLOW_ALL_USERS memberi 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:

  1. URL webhook kamu benar dan bisa diakses publik
  2. TWILIO_ACCOUNT_SID dan TWILIO_AUTH_TOKEN kamu benar
  3. Konsol Twilio → Monitor → Logs → Messaging untuk melihat error pengiriman
  4. 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