SMS — Command AI by Text
SMS — Command AI by Text — easy-to-understand guide based on official docs
SMS — التحكم بالذكاء الاصطناعي عبر الرسائل النصية
تتذكر الأيام قبل الهواتف الذكية، عندما كانت الرسائل النصية أسرع طريقة للوصول إلى شخص ما؟ حسنًا، هذه القناة الكلاسيكية ما زالت حيّة وتركل — والآن أصبحت طريقة متكاملة للتواصل مع مساعدك الذكي.
أصبح Hermes الآن يتصل بـ SMS عبر Twilio، لذا يمكن لأي شخص يملك رقم هاتف أن يرسل رسالة إلى بوتك ويحصل على ردود مدعومة بالذكاء الاصطناعي. لا تثبيت تطبيقات، لا رموز QR، ولا منحنى تعلّم. مجرد رسائل نصية عادية كما في الماضي.
ما الجديد في هذا التحديث
حصلت بوابة SMS على ترقية جادة. إليك ما تغيّر:
SMS_WEBHOOK_URLأصبح مطلوبًا الآن — يتحقق Hermes من توقيعات Twilio للويب هوك لطرد المحتالين. ترفض البوابة البدء بدونه.- متغيرات بيئة جديدة —
SMS_WEBHOOK_HOSTوSMS_WEBHOOK_PORTوSMS_INSECURE_NO_SIGNATUREوSMS_ALLOW_ALL_USERSتمنحك تحكمًا أكبر. - إعدادات أمان أفضل افتراضيًا — ترفض البوابة جميع المستخدمين افتراضيًا. يجب عليك إضافة أرقام الهواتف إلى القائمة البيضاء صراحةً.
- تقسيم أذكى للرسائل — يتم الآن تقسيم الردود الطويلة عند حدود طبيعية (أسطر جديدة، ثم مسافات) بدلاً من قصّها في منتصف الكلمة.
البدء
أولاً، ستحتاج إلى حساب Twilio ورقم هاتف يدعم SMS. توفّر Twilio نسخة تجريبية مجانية، لذا يمكنك اختبار كل شيء دون إنفاق فلس واحد.
ستحتاج أيضًا إلى خادم يمكن الوصول إليه عبر الإنترنت. يرسل Twilio ويب هوكس إلى خادمك عندما يرسل شخص ما رسالة إلى رقمك. إذا كنت تشغّل Hermes محليًا، يمكن لأدوات مثل cloudflared أو ngrok كشف localhost الخاص بك للإنترنت.
ثبّت إضافة SMS باستخدام:
cd ~/.hermes/hermes-agent && uv pip install -e ".[sms]"
الخطوة 1: احصل على بيانات اعتماد Twilio
انتقل إلى وحدة تحكم Twilio، وانسخ 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، انتقل إلى Phone Numbers → Manage → Active Numbers، وانقر على رقمك، وتحت Messaging → A MESSAGE COMES IN، عيّن الويب هوك إلى:
https://your-server:8080/webhooks/twilio
عيّن طريقة HTTP إلى POST.
مهم: عيّن SMS_WEBHOOK_URL إلى نفس الرابط الذي ضبطته في Twilio تمامًا. هذا مطلوب للتحقق من التوقيع:
SMS_WEBHOOK_URL=https://your-server:8080/webhooks/twilio
منفذ الويب هوك الافتراضي هو 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 من أن الويب هوكات الواردة تأتي فعلًا من Twilio عبر فحص ترويسة X-Twilio-Signature (HMAC-SHA1). هذا يمنع المهاجمين من حقن رسائل مزيفة.
ترفض البوابة جميع المستخدمين افتراضيًا. يجب عليك إعداد قائمة بيضاء:
SMS_ALLOWED_USERS=+15559876543,+15551112222
أو، إذا كنت متهورًا (رجاءً لا تفعل):
SMS_ALLOW_ALL_USERS=true
للتطوير المحلي دون رابط عام، يمكنك تعطيل التحقق من التوقيع:
SMS_INSECURE_NO_SIGNATURE=true
لكن تذكّر — هذا للتطوير المحلي فقط، أبدًا للإنتاج.
تحذير أخير
لا يحتوي SMS على تشفير مدمج. لا تستخدمه للعمليات الحساسة. لأي شيء سري، التزم بـ Signal أو Telegram.
استكشاف الأخطاء وإصلاحها
الرسائل لا تصل؟ تحقق من:
- أن رابط الويب هوك صحيح ويمكن الوصول إليه علنًا
- أن
TWILIO_ACCOUNT_SIDوTWILIO_AUTH_TOKENصحيحان - وحدة تحكم Twilio → Monitor → Logs → Messaging لأخطاء التسليم
- أن رقم هاتفك موجود في
SMS_ALLOWED_USERS
هذا كل شيء! أرسل رسالة إلى بوتك، واحصل على إجابات. بهذه البساطة.
📖 التوثيق الرسمي
この記事は Hermes Agent のالتوثيق الرسميに基づいています:التوثيق الرسمي › user-guide/messaging/sms