Discord — AI in Your Server
Discord — AI in Your Server — easy-to-understand guide based on official docs
ديسكورد — ذكاء اصطناعي في سيرفرك
إذًا تريد وضع وكيل Hermes في سيرفر ديسكورد الخاص بك؟ خيار رائع. هذا الدليل يرشدك خلال كل ما تحتاج معرفته — من كيفية تصرف Hermes بمجرد دعوته، إلى عملية الإعداد الكاملة، وصولًا إلى بعض ميزات فحص الصحة الجديدة والمهمة.
لنبدأ بالجزء الممتع: كيف يبدو فعليًا الدردشة مع Hermes على ديسكورد.
كيف يتصرف Hermes في سيرفرك
Hermes ليس مجرد بوت غبي يرد على كل شيء. إنه ذكي بشأن متى و أين يتحدث. إليك التفصيل:
| السياق | السلوك |
|---|---|
| الرسائل المباشرة | يرد Hermes على كل رسالة. لا حاجة إلى @mention. كل رسالة مباشرة تحصل على جلسة خاصة بها. |
| قنوات السيرفر | افتراضيًا، يستجيب Hermes فقط عندما تقوم بـ @mention له. بخلاف ذلك، يبقى صامتًا. |
| قنوات الاستجابة الحرة | تريد قناة يستطيع الناس فيها الدردشة بدون وسم؟ أضفها إلى DISCORD_FREE_RESPONSE_CHANNELS وسيقوم Hermes بالرد على كل رسالة مباشرة في نفس القناة. |
| المواضيع (Threads) | يرد Hermes في نفس الموضوع. قواعد الذكر لا تزال سارية ما لم يكن الموضوع أو القناة الأم من قنوات الاستجابة الحرة. |
| القنوات المشتركة | افتراضيًا، يحافظ Hermes على فصل سجل محادثة كل مستخدم — حتى في نفس القناة. أليس وبوب يتحدثان في #research يحصلان على جلستين مستقلتين. |
| رسائل تذكر آخرين | إذا قام شخص بـ @mention لمستخدم آخر ولكن ليس Hermes، يبقى البوت صامتًا افتراضيًا. لا يقتحم محادثات ليست موجهة إليه. |
نصيحة احترافية: تريد قناة مخصصة لمساعدة البوت حيث يمكن للأشخاص مجرد الكتابة والحصول على إجابات؟ أضف تلك القناة إلى DISCORD_FREE_RESPONSE_CHANNELS وانتهى الأمر.
نموذج البوابة: أكثر من مجرد Webhook
إليك شيء مهم: Hermes على ديسكورد ليس مجرد webhook بسيط يطلق ردًا جاهزًا. كل رسالة تمر عبر خط أنابيب كامل:
- فحص التصريح (
DISCORD_ALLOWED_USERS) - فحوصات الذكر / الاستجابة الحرة
- البحث عن الجلسة
- تحميل سجل الجلسة
- تنفيذ الوكيل الكامل — الأدوات، الذاكرة، أوامر الشرطة المائلة
- تسليم الرد إلى ديسكورد
هذا يعني أن كل رد مدعوم بذكاء Hermes الكامل، وليس مجرد استجابة نصية مبرمجة.
الجلسات: من يشارك ماذا؟
افتراضيًا، يعزل Hermes المحادثات:
- كل رسالة مباشرة تحصل على جلستها الخاصة
- كل موضوع (Thread) يحصل على مساحة جلسة خاصة به
- كل مستخدم في قناة مشتركة يحصل على جلسته الخاصة
يتم التحكم في هذا من خلال config.yaml:
group_sessions_per_user: true
إذا أردت محادثة مشتركة واحدة لغرفة بأكملها (مفيد للمساحات التعاونية)، اضبطها على false:
group_sessions_per_user: false
ولكن احذر: الجلسات المشتركة تعني سياقًا مشتركًا وتكاليف رموز (tokens) مشتركة. مهمة طويلة ومثقلة بالأدوات لشخص واحد يمكن أن تضخم سياق الجميع. وإذا قاطع أحدهم أثناء التنفيذ، فقد يعطل الغرفة بأكملها.
المقاطعات والتزامن
مع الجلسات لكل مستخدم (الوضع الافتراضي)، يمكن لأليس مقاطعة طلبها الخاص دون التأثير على محادثة بوب في نفس القناة. بوب يحتفظ بسجله، وأليس تحتفظ بسجلها، ولا أحد يتدخل في شؤون الآخر.
مع الجلسات المشتركة، تشارك الغرفة بأكملها “فتحة وكيل قيد التشغيل” واحدة. الرسائل اللاحقة من أشخاص مختلفين يمكن أن تقاطع أو تصطف خلف بعضها البعض. ممتع للتعاون، لكنه قد يكون فوضويًا.
جديد: فحوصات صحة Gateway WebSocket
إليك تحسينًا حديثًا يستحق المعرفة. ديسكورد لديه ناقلان منفصلان: REST و Gateway WebSocket. نجاح استدعاء REST لا يثبت أن البوت لا يزال قادرًا على استقبال الأحداث في الوقت الفعلي.
يراقب Hermes الآن صحة البوابة من خلال التحقق من:
- حالة الجاهزية
- حالة إغلاق العميل/المقبس
- انفتاح المقبس
- عمر إقرار نبضة القلب (Heartbeat ACK)
- زمن استجابة نبضة القلب
بعد عدد محدد من العينات غير الصحية، يصدر المحول حدثًا فادحًا قابلًا لإعادة المحاولة ويعيد الاتصال بشكل نظيف. لا حلقات إعادة اتصال لا نهائية.
قم بتكوين الحدود في config.yaml:
discord:
websocket_liveness_interval_seconds: 15
websocket_liveness_failure_threshold: 2
websocket_heartbeat_ack_max_age_seconds: 60
websocket_max_latency_seconds: 30
ملاحظة: الأسماء القديمة liveness_interval_seconds و liveness_failure_threshold لا تزال تعمل كأسماء مستعارة للتوافق، لكنها لم تعد تعني فحص REST.
الخطوة 1: إنشاء تطبيق ديسكورد
- انتقل إلى بوابة مطوري ديسكورد وقم بتسجيل الدخول.
- انقر على New Application في الزاوية العلوية اليمنى.
- سمِّ تطبيقك (مثلًا: “Hermes Agent”) ووافق على شروط خدمة المطورين.
- انقر على Create.
ستنتقل إلى صفحة General Information. دوّن Application ID الخاص بك — ستحتاجه لبناء رابط الدعوة.
الخطوة 2: إنشاء البوت
- في الشريط الجانبي الأيسر، انقر على Bot.
- يقوم ديسكورد تلقائيًا بإنشاء مستخدم بوت لتطبيقك. يمكنك تخصيص اسم المستخدم إذا أردت.
- تحت Authorization Flow، اضبط Public Bot على ON — مطلوب لرابط الدعوة المقدم من ديسكورد.
هذا هو الأساس. من هنا، ستقوم بالحصول على رمز البوت الخاص بك، وتعيين متغيرات البيئة، ودعوة Hermes إلى سيرفرك. قبل أن تدرك ذلك، سيكون مساعدك الذكي موجودًا في ديسكورد — جاهزًا للدردشة، واستخدام الأدوات، وتذكر السياق، كل ذلك في الوقت الفعلي.
📖 التوثيق الرسمي
この記事は Hermes Agent のالتوثيق الرسميに基づいています:التوثيق الرسمي › user-guide/messaging/discord