SMS — Command AI by Text
SMS — Command AI by Text — easy-to-understand guide based on official docs
SMS – KI per Textnachricht steuern
Erinnerst du dich an die Zeit vor Smartphones, als SMS der schnellste Weg war, jemanden zu erreichen? Nun, dieser klassische Kanal lebt und ist immer noch topaktuell – und jetzt ist er ein vollwertiger Weg, um mit deinem KI-Assistenten zu sprechen.
Hermes verbindet sich jetzt über Twilio mit SMS, sodass jeder mit einer Telefonnummer deinem Bot eine SMS schreiben und KI-generierte Antworten zurückbekommen kann. Keine App-Installation, keine QR-Codes, keine Lernkurve. Nur einfache, altmodische Textnachrichten.
Was gibt es Neues in diesem Update
Das SMS-Gateway hat ein ordentliches Upgrade bekommen. Hier ist, was sich geändert hat:
SMS_WEBHOOK_URList jetzt erforderlich – Hermes validiert die Webhook-Signaturen von Twilio, um Hochstapler fernzuhalten. Das Gateway startet ohne diese Angabe nicht.- Neue Umgebungsvariablen –
SMS_WEBHOOK_HOST,SMS_WEBHOOK_PORT,SMS_INSECURE_NO_SIGNATUREundSMS_ALLOW_ALL_USERSgeben dir mehr Kontrolle. - Bessere Sicherheitsstandards – Das Gateway verweigert standardmäßig allen Benutzern den Zugriff. Du musst Telefonnummern explizit auf die Whitelist setzen.
- Intelligenteres Aufteilen von Nachrichten – Lange Antworten werden jetzt an natürlichen Grenzen (Zeilenumbrüche, dann Leerzeichen) aufgeteilt, anstatt mitten im Wort abgeschnitten zu werden.
Erste Schritte
Zuerst brauchst du ein Twilio-Konto und eine Telefonnummer mit SMS-Funktion. Twilio bietet eine kostenlose Testversion an, sodass du alles testen kannst, ohne einen Cent auszugeben.
Du brauchst außerdem einen öffentlich erreichbaren Server. Twilio sendet Webhooks an deinen Server, wenn jemand deiner Nummer eine SMS schreibt. Wenn du Hermes lokal ausführst, können Tools wie cloudflared oder ngrok deinen Localhost für das Internet freigeben.
Installiere das SMS-Extra mit:
cd ~/.hermes/hermes-agent && uv pip install -e ".[sms]"
Schritt 1: Besorge dir deine Twilio-Zugangsdaten
Gehe zur Twilio-Konsole, kopiere deine Account SID und deinen Auth Token vom Dashboard und notiere deine Telefonnummer im E.164-Format (wie +15551234567).
Schritt 2: Hermes konfigurieren
Der einfachste Weg ist der interaktive Assistent:
hermes gateway setup
Wähle SMS (Twilio) und folge den Anweisungen.
Lieber manuell einrichten? Füge Folgendes zu ~/.hermes/.env hinzu:
TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=your_auth_token_here
TWILIO_PHONE_NUMBER=+15551234567
# Sicherheit: Auf bestimmte Telefonnummern beschränken (empfohlen)
SMS_ALLOWED_USERS=+15559876543,+15551112222
# Optional: Einen Home-Channel für die Zustellung von Cron-Jobs festlegen
SMS_HOME_CHANNEL=+15559876543
Schritt 3: Den Twilio-Webhook einrichten
Gehe in der Twilio-Konsole zu Phone Numbers → Manage → Active Numbers, klicke auf deine Nummer und setze unter Messaging → A MESSAGE COMES IN den Webhook auf:
https://your-server:8080/webhooks/twilio
Setze die HTTP-Methode auf POST.
Wichtig: Setze SMS_WEBHOOK_URL auf exakt dieselbe URL, die du in Twilio konfiguriert hast. Dies ist für die Signaturvalidierung erforderlich:
SMS_WEBHOOK_URL=https://your-server:8080/webhooks/twilio
Der Webhook-Port ist standardmäßig 8080, du kannst ihn aber mit SMS_WEBHOOK_PORT überschreiben.
Schritt 4: Das Gateway starten
hermes gateway
Du solltest so etwas sehen:
[sms] Twilio webhook server listening on 127.0.0.1:8080, from: +1555***4567
Schicke jetzt eine SMS an deine Twilio-Nummer – Hermes wird per SMS antworten.
Wie sich SMS-Verhalten unterscheidet
SMS ist ein reines Textmedium, daher passt sich Hermes an:
- Kein Markdown – Es wird automatisch entfernt, da SMS es als Literalzeichen darstellt
- 1600-Zeichen-Limit – Längere Antworten werden an natürlichen Grenzen auf mehrere Nachrichten aufgeteilt
- Echo-Verhinderung – Nachrichten von deiner eigenen Twilio-Nummer werden ignoriert, um Schleifen zu vermeiden
- Datenschutz – Telefonnummern werden in Protokollen geschwärzt
Sicherheit ist wichtig
Hermes validiert, dass eingehende Webhooks wirklich von Twilio stammen, indem der X-Twilio-Signature-Header (HMAC-SHA1) geprüft wird. Dies verhindert, dass Angreifer gefälschte Nachrichten einschleusen.
Das Gateway verweigert standardmäßig allen Benutzern den Zugriff. Du musst eine Whitelist konfigurieren:
SMS_ALLOWED_USERS=+15559876543,+15551112222
Oder, wenn du dich leichtsinnig fühlst (bitte nicht tun):
SMS_ALLOW_ALL_USERS=true
Für die lokale Entwicklung ohne öffentliche URL kannst du die Signaturvalidierung deaktivieren:
SMS_INSECURE_NO_SIGNATURE=true
Aber denk daran – das ist nur für die lokale Entwicklung gedacht, niemals für die Produktion.
Eine letzte Warnung
SMS hat keine eingebaute Verschlüsselung. Verwende es nicht für sensible Vorgänge. Für alles Vertrauliche bleib bei Signal oder Telegram.
Fehlerbehebung
Nachrichten kommen nicht an? Überprüfe:
- Ob deine Webhook-URL korrekt und öffentlich erreichbar ist
- Ob deine
TWILIO_ACCOUNT_SIDund deinTWILIO_AUTH_TOKENkorrekt sind - Die Twilio-Konsole → Monitor → Logs → Messaging auf Zustellfehler
- Ob deine Telefonnummer in
SMS_ALLOWED_USERSsteht
Das war’s! Schick deinem Bot eine SMS, erhalte Antworten. So einfach ist das.
📖 Offizielle Dokumentation
この記事は Hermes Agent のOffizielle Dokumentationに基づいています:Offizielle Dokumentation › user-guide/messaging/sms