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

SMS — Command AI by Text

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

messaging-sms

SMS — สั่งงาน AI ด้วยข้อความ

จำยุคก่อนสมาร์ทโฟนได้ไหม ที่การส่งข้อความคือวิธีที่เร็วที่สุดในการติดต่อใครสักคน? ช่องทางคลาสสิกนั้นยังคงมีชีวิตและใช้งานได้ดี — และตอนนี้มันกลายเป็นวิธีเต็มรูปแบบในการคุยกับผู้ช่วย AI ของคุณแล้ว

Hermes ตอนนี้เชื่อมต่อกับ SMS ผ่าน Twilio แล้ว ทุกคนที่มีเบอร์โทรศัพท์สามารถส่งข้อความหาบอทของคุณและรับคำตอบจาก AI ได้ ไม่ต้องติดตั้งแอป ไม่ต้องสแกน QR Code ไม่ต้องเรียนรู้อะไรใหม่ แค่ส่งข้อความธรรมดา ๆ แบบสมัยก่อน

มีอะไรใหม่ในอัปเดตนี้

เกตเวย์ SMS ได้รับการอัปเกรดครั้งใหญ่ นี่คือสิ่งที่เปลี่ยนไป:

  • SMS_WEBHOOK_URL จำเป็นต้องระบุแล้ว — Hermes ตรวจสอบลายเซ็น webhook ของ Twilio เพื่อกันคนปลอมตัวเข้ามา เกตเวย์จะไม่เริ่มทำงานหากไม่มีค่านี้
  • ตัวแปรสภาพแวดล้อมใหม่SMS_WEBHOOK_HOST, SMS_WEBHOOK_PORT, SMS_INSECURE_NO_SIGNATURE และ SMS_ALLOW_ALL_USERS ให้คุณควบคุมได้มากขึ้น
  • ค่าเริ่มต้นด้านความปลอดภัยที่ดีขึ้น — เกตเวย์ปฏิเสธผู้ใช้ทั้งหมดโดยค่าเริ่มต้น คุณต้องระบุรายการเบอร์โทรศัพท์ที่อนุญาตอย่างชัดเจน
  • การแบ่งข้อความที่ฉลาดขึ้น — ข้อความตอบกลับที่ยาวจะถูกแบ่งที่จุดธรรมชาติ (ขึ้นบรรทัดใหม่ แล้วก็ช่องว่าง) แทนที่จะตัดกลางคำ

เริ่มต้นใช้งาน

ก่อนอื่น คุณต้องมีบัญชี Twilio และเบอร์โทรศัพท์ที่รองรับ SMS Twilio มีทดลองใช้ฟรี คุณจึงทดสอบทุกอย่างได้โดยไม่ต้องเสียเงินสักบาท

คุณต้องมีเซิร์ฟเวอร์ที่เข้าถึงได้จากสาธารณะ Twilio จะส่ง webhook ไปยังเซิร์ฟเวอร์ของคุณเมื่อมีคนส่งข้อความหาเบอร์ของคุณ ถ้าคุณรัน Hermes บนเครื่องท้องถิ่น เครื่องมืออย่าง cloudflared หรือ ngrok สามารถเปิดเผย localhost ของคุณสู่โลกอินเทอร์เน็ตได้

ติดตั้งส่วนเสริม SMS ด้วยคำสั่ง:

cd ~/.hermes/hermes-agent && uv pip install -e ".[sms]"

ขั้นตอนที่ 1: เอาเครดิต Twilio ของคุณ

ไปที่ Twilio Console คัดลอก Account SID และ Auth Token จากแดชบอร์ด และจดเบอร์โทรศัพท์ของคุณในรูปแบบ E.164 (เช่น +15551234567)

ขั้นตอนที่ 2: ตั้งค่า Hermes

วิธีที่ง่ายที่สุดคือใช้ตัวช่วยตั้งค่าแบบโต้ตอบ:

hermes gateway setup

เลือก SMS (Twilio) แล้วทำตามขั้นตอน

ชอบตั้งค่าด้วยตัวเอง? เพิ่มค่าเหล่านี้ลงใน ~/.hermes/.env:

TWILIO_ACCOUNT_SID=ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TWILIO_AUTH_TOKEN=your_auth_token_here
TWILIO_PHONE_NUMBER=+15551234567

# ความปลอดภัย: จำกัดเฉพาะเบอร์โทรศัพท์ที่ระบุ (แนะนำ)
SMS_ALLOWED_USERS=+15559876543,+15551112222

# ไม่บังคับ: ตั้งช่องทางหลักสำหรับการส่งงาน cron
SMS_HOME_CHANNEL=+15559876543

ขั้นตอนที่ 3: ตั้งค่า Twilio Webhook

ใน Twilio Console ไปที่ Phone Numbers → Manage → Active Numbers คลิกที่เบอร์ของคุณ และภายใต้ Messaging → A MESSAGE COMES IN ตั้งค่า webhook เป็น:

https://your-server:8080/webhooks/twilio

ตั้งค่า HTTP method เป็น POST

สำคัญ: ตั้งค่า SMS_WEBHOOK_URL ให้ตรงกับ URL ที่คุณกำหนดใน Twilio ทุกตัวอักษร ค่านี้จำเป็นสำหรับการตรวจสอบลายเซ็น:

SMS_WEBHOOK_URL=https://your-server:8080/webhooks/twilio

พอร์ต webhook ค่าเริ่มต้นคือ 8080 แต่คุณสามารถเปลี่ยนได้ด้วย SMS_WEBHOOK_PORT

ขั้นตอนที่ 4: เริ่มเกตเวย์

hermes gateway

คุณควรเห็นข้อความประมาณ:

[sms] Twilio webhook server listening on 127.0.0.1:8080, from: +1555***4567

จากนั้นส่งข้อความหาเบอร์ Twilio ของคุณ — Hermes จะตอบกลับผ่าน SMS

ความแตกต่างของพฤติกรรม SMS

SMS เป็นสื่อแบบข้อความล้วน Hermes จึงปรับตัวดังนี้:

  • ไม่มี Markdown — ถูกตัดออกอัตโนมัติเพราะ SMS จะแสดงเป็นตัวอักษรธรรมดา
  • จำกัด 1600 ตัวอักษร — ข้อความตอบกลับที่ยาวกว่าจะถูกแบ่งเป็นหลายข้อความที่จุดธรรมชาติ
  • ป้องกันการสะท้อนกลับ — ข้อความจากเบอร์ Twilio ของคุณเองจะถูกเพิกเฉยเพื่อป้องกันลูป
  • ความเป็นส่วนตัว — เบอร์โทรศัพท์จะถูกปกปิดในบันทึก

ความปลอดภัยสำคัญ

Hermes ตรวจสอบว่า webhook ที่เข้ามานั้นมาจาก Twilio จริง ๆ โดยการตรวจสอบหัวข้อ X-Twilio-Signature (HMAC-SHA1) ซึ่งป้องกันผู้ไม่หวังดีไม่ให้ฉีดข้อความปลอมเข้ามา

เกตเวย์ปฏิเสธผู้ใช้ทั้งหมดโดยค่าเริ่มต้น คุณต้องตั้งค่ารายการอนุญาต:

SMS_ALLOWED_USERS=+15559876543,+15551112222

หรือถ้าคุณรู้สึกเสี่ยง ๆ (ได้โปรดอย่าทำ):

SMS_ALLOW_ALL_USERS=true

สำหรับการพัฒนาบนเครื่องท้องถิ่นที่ไม่มี URL สาธารณะ คุณสามารถปิดการตรวจสอบลายเซ็นได้:

SMS_INSECURE_NO_SIGNATURE=true

แต่จำไว้ — ใช้สำหรับการพัฒนาบนเครื่องท้องถิ่นเท่านั้น ห้ามใช้ในโปรดักชันเด็ดขาด

คำเตือนสุดท้าย

SMS ไม่มีการเข้ารหัสในตัว อย่าใช้สำหรับงานที่ละเอียดอ่อน สำหรับอะไรที่เป็นความลับ ให้ใช้ Signal หรือ Telegram แทน

การแก้ไขปัญหา

ข้อความไม่มาถึง? ตรวจสอบ:

  1. URL webhook ของคุณถูกต้องและเข้าถึงได้จากสาธารณะ
  2. TWILIO_ACCOUNT_SID และ TWILIO_AUTH_TOKEN ของคุณถูกต้อง
  3. ดูที่ Twilio Console → Monitor → Logs → Messaging เพื่อหาข้อผิดพลาดในการส่ง
  4. เบอร์โทรศัพท์ของคุณอยู่ใน SMS_ALLOWED_USERS

แค่นี้เอง! ส่งข้อความหาบอท แล้วรับคำตอบ ง่ายขนาดนั้น

📖 เอกสารทางการ

この記事は Hermes Agent のเอกสารทางการに基づいています:เอกสารทางการ › user-guide/messaging/sms