When Hermes Agent receives SMS, the core is not the model configuration, but the Twilio webhook link first. The official SMS documentation requires you to prepare a TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_PHONE_NUMBER, and a SMS_WEBHOOK_URL that is exactly the same as the Twilio backend.
Shortest process
- Start by opening a number with SMS capabilities on Twilio.
- Write SID, Auth Token, Twilio number in
~/.hermes/.env. - Make up for
SMS_ALLOWED_USERSand don't let everyone go in the first place. - Point the inbound webhook in the Twilio backend to
https://你的域名/webhooks/twilio. - Set the same
SMS_WEBHOOK_URL, and then launch thehermes gateway.
Why don't you often receive text messages?
The most common ones are the wrong webhook URL, inaccessible to the public, signature verification fails, or the sender number is not in the allowlist. The official also specifically states that if there is no public network address, you can use ngrok or cloudflared to make a temporary tunnel first, and consider SMS_INSECURE_NO_SIGNATURE=true when debugging locally.
In a word: the key to SMS is not the chat logic, but the Twilio webhook, signature checksum and allowlist.
Official open source address: https://github.com/NousResearch/hermes-agent; Official document entry: https://hermes-agent.nousresearch.com/.