🤖HermesBlog
Hermes Messaging Platforms · جزء 98/9/2026

Matrix — شبكة الدردشة اللامركزية

Matrix — Decentralized Chat Network — easy-to-understand guide based on official docs

messaging-matrix

Matrix — شبكة الدردشة اللامركزية

إذا كنت يومًا ما تمنيت شبكة دردجة لا تكون فيها مقيدًا بخادم شخص آخر، فإن Matrix هو الحل. إنه بروتوكول مراسلة مفتوح وموزع — فكّر في البريد الإلكتروني، لكن للرسائل الفورية. يمكنك تشغيل خادمك المنزلي الخاص، أو استخدام خادم عام مثل matrix.org. وفي كلتا الحالتين، تبقى أنت المتحكم في محادثاتك.

يتصل Hermes Agent مباشرةً بـ Matrix باستخدام حزمة Python SDK الخاصة بـ mautrix. وهذا يعني أن بوتك يمكنه الدردشة معك عبر Matrix، مستخدمًا كل قدرات Hermes التي تعرفها وتحبها — استخدام الأدوات، الذاكرة، الاستدلال، والاستجابات الفورية. كما يتعامل مع النصوص، الملفات، الصور، الصوت، الفيديو، وحتى التشفير من طرف إلى طرف (E2EE) بشكل اختياري.

وإليك أفضل جزء: يعمل Hermes مع أي خادم Matrix. سواء كان Synapse أو Conduit أو Dendrite أو الخادم العام الكبير على matrix.org — اختر ما يناسبك.

كيف يتصرف Hermes

بمجرد الاتصال، يمتلك Hermes إعدادات افتراضية ذكية. إليك نظرة سريعة:

السياق السلوك
الرسائل المباشرة (DMs) يرد Hermes على كل رسالة. لا حاجة لاستخدام @mention. كل رسالة مباشرة تحصل على جلسة خاصة بها.
الغرف افتراضيًا، ينتظر Hermes إشارة @mention قبل الرد. يمكنك تغيير ذلك باستخدام MATRIX_REQUIRE_MENTION=false أو إضافة غرف محددة إلى MATRIX_FREE_RESPONSE_ROOMS. يتم قبول دعوات الغرف تلقائيًا.
السلاسل (Threads) يدعم Hermes سلاسل Matrix بشكل كامل. ردّ داخل سلسلة، وسيحافظ Hermes على ذلك السياق منفصلًا عن الخط الزمني الرئيسي للغرفة. السلاسل التي شارك فيها البوت مسبقًا لا تحتاج إلى إشارة.
السلاسل التلقائية افتراضيًا، ينشئ Hermes سلسلة تلقائيًا لكل رد في الغرفة. هذا يحافظ على ترتيب المحادثات وعزلتها. يمكنك إيقاف ذلك باستخدام MATRIX_AUTO_THREAD=false.
الأوامر أوامر /commands العادية تعمل كما هو متوقع. إذا كان عميلك يحجز / للأوامر المحلية، استخدم !commands بدلاً من ذلك — يقوم Hermes بتطبيع هذه الأسماء المستعارة تلقائيًا.
عناصر التحكم التفاعلية الموافقات على الأوامر الخطيرة واختيار /model يمكن أن تستخدم تفاعلات Matrix. يمكنك حتى تقييد تفاعلات الموافقة على المستخدم الذي طلب الإجراء.
نشاط التفكير والأدوات يستخدم Hermes لوحات مترابطة وقابلة للتحرير للتفكير ونشاط الأدوات عند تفعيل تقدم البوابة. لا مزيد من إغراق الخط الزمني الرئيسي بالتحديثات.
الغرف المشتركة افتراضيًا، يعزل Hermes سجل الجلسة لكل مستخدم داخل الغرفة. شخصان في نفس الغرفة لا يتشاركان في نص واحد ما لم تعطّل ذلك صراحةً.

نصيحة احترافية: فقط قم بدعوة مستخدم Matrix الخاص بالبوت إلى أي غرفة، وسينضم ويبدأ في الرد تلقائيًا.

ما يمكن أن يفعله Hermes على Matrix

إليك قائمة القدرات الكاملة، مباشرةً من تصريح المحول:

  • النصوص — نعم
  • السلاسل — نعم
  • التفاعلات — نعم
  • الموافقات — نعم
  • محدد النموذج — نعم
  • لوحات التفكير — نعم
  • الصور — نعم (بما في ذلك صور متعددة)
  • الملفات — نعم
  • الصوت — نعم
  • الفيديو — نعم
  • التشفير من طرف إلى طرف (E2EE) — معطل / اختياري / إلزامي (حسب الوضع)
  • التشخيصات — نعم

نموذج الجلسة في Matrix

افتراضيًا، يحافظ Hermes على فصل الأشياء بشكل جيد:

  • كل رسالة مباشرة تحصل على جلسة خاصة بها
  • كل سلسلة تحصل على مساحة جلسة خاصة بها
  • كل مستخدم في غرفة مشتركة يحصل على جلسة خاصة به داخل تلك الغرفة

يتم التحكم في ذلك عبر config.yaml:

group_sessions_per_user: true

اضبطه على false فقط إذا كنت تريد صراحةً محادثة مشتركة واحدة للغرفة بأكملها:

group_sessions_per_user: false

الجلسات المشتركة يمكن أن تكون مفيدة لغرفة تعاونية، لكن كن حذرًا: المستخدمون يتشاركون نمو النص والتكاليف الرمزية، ومهمة طويلة ثقيلة بالأدوات لشخص واحد يمكن أن تضخم سياق الجميع، وتشغيل شخص واحد قيد التنفيذ يمكن أن يقطع متابعة شخص آخر.

إعداد الإشارات والسلاسل

يمكنك تعديل كل شيء عبر متغيرات البيئة أو config.yaml. إليك نسخة YAML:

matrix:
  require_mention: true           # يتطلب @mention في الغرف (الافتراضي: true)
  allowed_users:                  # مستخدمو Matrix المسموح لهم بتشغيل أدوار الوكيل
    - "@alice:matrix.org"
  allowed_rooms:                  # غرف Matrix المسموح لها بتشغيل أدوار الوكيل
    - "!abc123:matrix.org"
  free_response_rooms:            # غرف معفاة من شرط الإشارة
    - "!abc123:matrix.org"
  ignore_user_patterns:           # مستخدمو الجسر/خدمة التطبيقات الوهميون لتجاهلهم
    - "^@telegram_"
    - "^@whatsapp_"
  process_notices: false          # تجاهل m.notice افتراضيًا
  session_scope: room             # auto|room|thread؛ room موصى بها لغرف المشاريع
  auto_thread: true               # إنشاء سلاسل تلقائيًا للردود (الافتراضي: true)
  dm_mention_threads: false       # إنشاء سلسلة عند @mention في رسالة مباشرة (الافتراضي: false)
  max_message_length: 16000       # حجم القطعة الصادرة بالحروف (الافتراضي: 16000، الحد الأقصى: 65535)

أو عبر متغيرات البيئة:

MATRIX_REQUIRE_MENTION=true
MATRIX_ALLOWED_USERS=@alice:matrix.org
MATRIX_ALLOWED_ROOMS=!abc123:matrix.org
MATRIX_FREE_RESPONSE_ROOMS=!abc123:matrix.org,!def456:matrix.org
MATRIX_IGNORE_USER_PATTERNS='^@telegram_,^@whatsapp_'
MATRIX_PROCESS_NOTICES=false
MATRIX_SESSION_SCOPE=room       # موصى بها لسياق غرفة مشروع مستقر
MATRIX_AUTO_THREAD=true
MATRIX_DM_MENTION_THREADS=false
MATRIX_REACTIONS=true          # الافتراضي: true — تفاعلات إيموجي أثناء المعالجة
MATRIX_ALLOW_ROOM_MENTIONS=false

نصيحة: MATRIX_REACTIONS=false يوقف تفاعلات الإيموجي الخاصة بدورة المعالجة (👀/✅/❌) التي ينشرها البوت على الرسائل الواردة. مفيد للغرف التي تكون فيها أحداث التفاعل مزعجة أو غير مدعومة.

نصيحة أخرى: يرسل Hermes إشارات Matrix منظمة للمستخدمين لمعرفات صريحة مثل @alice:example.org. إشارات @room على مستوى الغرفة يتم التحكم فيها بشكل منفصل.

هذه هي الصورة الكاملة لـ Matrix. سواء كنت تشغل خادمك المنزلي الخاص أو تريد فقط دردشة لامركزية تحترم خصوصيتك، فإن Hermes يغطيك. اذهب ودعُ بوتك إلى غرفة وشاهده يعمل!

📖 التوثيق الرسمي

この記事は Hermes Agent のالتوثيق الرسميに基づいています:التوثيق الرسمي › user-guide/messaging/matrix