مراجعة - أضف غرف فيديو وصوت واستدعاءات بأسلوب ديسكورد إلى مجتمعك 🎙

مهم: اعتبارًا من 1 سبتمبر 2026، أصبح هذا الإضافة مدمجة في نواة Discourse وتمت إعادة تسميتها إلى “Voice”. الآن ما عليك سوى تفعيلها من صفحة الإدارة.

مرحبًا بالجميع! أشارككم Resenha، وهو إضافة جديدة تضيف غرفًا للدردشة الصوتية والمرئية مباشرةً داخل Discourse — دون الحاجة إلى تطبيقات خارجية، بل عبر تقنية WebRTC بين الأقران (peer-to-peer) في شريط الجانبي.

جرّبها مباشرة

:point_right: https://discourse-on-a-pi5.falco.dev/

كيف تعمل

انقر على غرفة في شريط الجانبي للانضمام إليها، وانقر مرة أخرى للخروج. افتراضيًا، تنتقل جميع الوسائط بين الأقران عبر WebRTC — حيث يتعامل خادم Discourse الخاص بك مع الإشارات (signaling) فقط، ولا يتعامل أبدًا مع الوسائط. يمكن للمواقع التي تحتاج إلى مكالمات أكبر اختيار توجيه الغرف عبر خادم وسائط LiveKit — إما LiveKit Cloud أو خادم مُضيف ذاتيًا. يتم إنشاء غرفة افتراضية باسم “Watercooler” عند التثبيت حتى يتمكن مجتمعك من البدء في المحادثة فورًا.

الميزات

  • تجربة مستخدم تركز على شريط الجانبي — الغرف وصور المشاركين المباشرة مباشرة في شريط الجانبي، بأسلوب Discord، مع مؤشرات متحركة للتحدث
  • مشاركة الفيديو والشاشة — فيديو اختياري للكاميرا ومشاركة الشاشة/التبويب مع صفحة غرفة كاملة، وتخطيطات بلاطات/عرض، ودعم ملء الشاشة
  • ودجت مكالمة دائم — مكالمة مصغرة قابلة للسحب والتغيير الحجم تتبعك أثناء تصفح المنتدي، بما في ذلك الفيديو
  • إعدادات الصوت والفيديو — منتقيات للأجهزة، اختبار ميكروفون مباشر، بوابة حساسية الإدخال، كبت الضوضاء باستخدام WebAssembly (DTLN)، ومحو الخلفية باستخدام MediaPipe — كل ذلك تتم معالجته محليًا في المتصفح
  • دردشة الغرفة — تحصل كل غرفة على دردشة نصية مدعومة بقنوات Discourse الحقيقية للردود والخيوط
  • غرف المسرح (Stage rooms) — غرف للمتكلم/الجمهور مع طابور طلبات للتحدث، للمقابلات والمكالمات المجتمعية
  • صلاحيات الغرف — غرف عامة، مقيدة بالمجموعات، وخاصة، مع شارات القفل في شريط الجانبي ووسوم الغرف (#) لربط الغرف في المنشورات
  • تحكم بالمشاركين — قائمة سياقية تتضمن مستوى الصوت لكل مستخدم، كتم الصوت، الأصم، والطرد؛ بالإضافة إلى كتم الصوت/قطع الاتصال التلقائي عند عدم النشاط (AFK) وحالة المستخدم التلقائية
  • إدارة الغرف — إنشاء الغرف بواسطة المستخدمين مقيد بالمجموعات، واجهة CRUD للموظفين، وواجهة REST API كاملة للتحكم البرمجي
  • بلا بنية تحتية افتراضيًا — WebRTC خالص في المتصفح مع تشفير DTLS-SRTP، لا حاجة إلى SFU/MCU
  • تكامل LiveKit اختياري — قم بتفعيل الغرف فرديًا أو وجه كل شيء عبر LiveKit Cloud أو خادم LiveKit الخاص بك للمكالمات الكبيرة، مع لوحة صحة للإدارة ومصالحة بناءً على Webhooks

الحالة

نحن نستخدم هذا الإضافة للقاءات الداخلية منذ أسابيع، وهو يعمل بشكل جيد جدًا للمجموعات الصغيرة. قد ترغب المجموعات الأكبر في نشر هذا الإضافة جنبًا إلى جنب مع LiveKit، لكن الأحجام المعتادة التي تصل إلى 10 مشاركين تعمل بشكل جيد جدًا على تكوين الشبكة الافتراضي (mesh).

التثبيت

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/xfalcox/resenha.git

فعّلها من الإدارة > الإعدادات > الإضافات > resenha enabled.

نرحب بالملاحظات

هذه إضافة جديدة — الأخطاء، والأفكار، والأسئلة كلها مرحب بها في هذا الموضوع. الطلبات البرمجية (PRs) أيضًا!


ملاحظة: هذه ليست إضافة official.

57 إعجابًا

مراجعة، رائع أحببتها شكرًا لك يا ابن بلدي

12 إعجابًا

لقد قمت بتثبيته للتو وأصبح جاهزًا للعمل في حوالي نصف ساعة. يبدو أنه يعمل بشكل جيد! أود أن أرى بعض التغييرات/الإضافات على الميزات:

الميزة الحالة
إعادة تسمية غرفة :cross_mark: لم يتم التنفيذ
حذف غرفة :cross_mark: لم يتم التنفيذ
تغيير اسم الغرفة الافتراضي :cross_mark: مُرمز بشكل ثابت
ربط الغرف بفئات Discourse :cross_mark: غير مدعوم
تعيين أذونات لكل غرفة :cross_mark: غير مدعوم
إنشاء غرف تنتهي صلاحيتها تلقائيًا :cross_mark: غير مدعوم
أوصاف/مواضيع الغرف :cross_mark: غير مدعوم
10 إعجابات

هذا مذهل. هل هناك أي خطة للفريق لاعتماد هذا رسميًا بمجرد خروجه من مرحلة ألفا؟

7 إعجابات

لا توجد خطط حاليًا، حيث أن هذا استكشاف لإمكانيات التكنولوجيا وكيف يمكن دمجها مع Discourse.

ومع ذلك، مثل أي شيء آخر، يعتمد الأمر على ما يريده عملاؤنا.

9 إعجابات

هذا رائع جدًا يا فالكو! يمكنني أن أرى عددًا لا بأس به من التطبيقات لهذا الأمر، بناءً على ما أدرجته. إن المكونات الإضافية للميزات كهذه تساعد بالتأكيد في جعل منصة Discourse Meta هي المنصة المفضلة!

4 إعجابات

أين هو الخيار لإنشاء غرفة جديدة؟

لا يوجد واجهة مستخدم لذلك، حيث أن هذا مشروع تجريبي على التكنولوجيا بدلاً من كونه حلاً جاهزًا للمواقع الإنتاجية.

إعجابَين (2)

ألا ينبغي أن يكون experimental موجودًا في الوقت الحالي؟

إضافة رائعة

3 إعجابات

لقد كنت ألعب بهذا لعدة أيام - وهو رائع!!!

إنه يحل مشكلة “الترقية” السهلة لمناقشة المنتدى/الدردشة إلى محادثة شفهية بشكل جميل. لقد أمضيت سنوات في المعاناة بين الحاجة إلى التبديل إلى منصات أخرى، أو وجود محاولات (تستهلك موارد كبيرة) لعقد مؤتمرات فيديو متكاملة.

إذا قررت المضي قدمًا، سأحب أن يتم تصميمه لـ التكامل مع الدردشة. سيكون من الرائع ببساطة أن تكون قادرًا على إطلاق غرفة صوتية خاصة لأعضاء الدردشة مباشرة من الدردشة (مع تنظيف لاحق للحفاظ على الأمور منظمة). وستظل الدردشة هي المكان المثالي لإسقاط تعليقات إضافية أو ملفات أو روابط، وما إلى ذلك.

إضافة الكريز على الكعكة ستكون بالطبع:

  1. خيار للفيديو (من المحتمل ألا يكون ممكنًا تقنيًا بهذه التقنية خفيفة الوزن)

  2. نسخ صوتي بالذكاء الاصطناعي، ذكي بما يكفي لدمج المواضيع والدردشات ذات الصلة. سيكون هذا مذهلاً للغاية ككاتب محاضر للاجتماع.

11 إعجابًا

شكراً على الملاحظات! كان هذا هو هدفي بالضبط من هذا!

بالتأكيد، ستكون هذه خطوة منطقية تالية، مع غرف مؤقتة لدعمها.

إنه قابل للتنفيذ للغاية، سواء بدون SFU/MCU للأشخاص الذين لديهم تحميل كافٍ، أو مع دعم اختياري له.

7 إعجابات

كان هذا مثاليًا، لن أقوم بالتحديث لفترة طويلة، ولكن في فبراير سأقوم بالتحديث للمرة الأخيرة عندما يتم إطلاق ESR لتضمين هذا المكون الإضافي

أنا متحمس جدًا لذلك وآمل أن يأتي.

إعجابَين (2)

هل هناك أي فرصة لتغيير الأيقونة إلى bottle-water لغرفة الدردشة “Watercooler”؟

3 إعجابات

أصبح هناك الآن واجهة مستخدم لإدارة الغرف.

10 إعجابات

شكراً فالكو على هذا المكون الإضافي :heart:

إنه عمل رائع :+1:

إعجاب واحد (1)

أنا أختبر في بيئة الإنتاج وسأعود بالتغذية الراجعة! لنراجع :brazil:

إعجاب واحد (1)

ربما تكون الحلقة أفضل في هذه الحالة؟ عندما أكون بين غرفة وأنقر على ملفي الشخصي أو ملف شخصي آخر، يتم تحديث DOM والعودة إلى الصفحة الرئيسية.

أصبحت هناك الآن شاشة تفاصيل الغرفة تستخدم نمط قائمة الكباب (kebab menu pattern) من Discourse Chat

إعجابَين (2)

إنها لا تتداخل مع السمة الافتراضية، ربما قم بتعديل السمة الخاصة بك للتعامل مع المسافة الأقل للحشو؟

image

تم إصلاح هذا الآن.

3 إعجابات

بناءً على الأخبار الأخيرة، أضفت ميزة جديدة إلى المكوّن الإضافي: مُرشِّح ضوضاء يعمل بالذكاء الاصطناعي.

يمكن للمسؤولين إتاحته عبر إعداد موقع (الافتراضي: إيقاف)، وبعد ذلك يمكن للمستخدمين الاشتراك فيه بالنقر على اسم المستخدم الخاص بهم في غرفة دردشة صوتية.

6 إعجابات