SMS — Command AI by Text
SMS — Command AI by Text — easy-to-understand guide based on official docs
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 แทน
การแก้ไขปัญหา
ข้อความไม่มาถึง? ตรวจสอบ:
- URL webhook ของคุณถูกต้องและเข้าถึงได้จากสาธารณะ
TWILIO_ACCOUNT_SIDและTWILIO_AUTH_TOKENของคุณถูกต้อง- ดูที่ Twilio Console → Monitor → Logs → Messaging เพื่อหาข้อผิดพลาดในการส่ง
- เบอร์โทรศัพท์ของคุณอยู่ใน
SMS_ALLOWED_USERS
แค่นี้เอง! ส่งข้อความหาบอท แล้วรับคำตอบ ง่ายขนาดนั้น
📖 เอกสารทางการ
この記事は Hermes Agent のเอกสารทางการに基づいています:เอกสารทางการ › user-guide/messaging/sms