مراجعة - إضافة غرف فيديو وصوت على طراز Discord ومكالمات إلى مجتمعك 🎙

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

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

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

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

كيف تعمل

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

الميزات

  • تجربة مستخدم تركز على الشريط الجانبي — الغرف وملامس المشاركين على الهواء مباشرة في الشريط الجانبي، بأسلوب Discord، مع مؤشرات متحركة للحديث
  • فيديو ومشاركة الشاشة — فيديو اختياري للكاميرا ومشاركة الشاشة/التبويب مع صفحة غرفة كاملة، وتخطيطات بلاط/عرض، ودعم ملء الشاشة
  • ودجت مكالمة دائم — مكالمة مصغرة قابلة للسحب والتغيير الحجم تتبعك أثناء تصفح المنتدى، بما في ذلك الفيديو
  • إعدادات الصوت والفيديو — منتقيات أجهزة، اختبار ميكروفون مباشر، بوابة حساسية الإدخال، كبت الضوضاء عبر WebAssembly (DTLN)، وضباب الخلفية عبر MediaPipe — جميعها تتم معالجتها محليًا في المتصفح
  • دردشة الغرف — تحصل كل غرفة على دردشة نصية مدعومة بقنوات وموضوعات دردشة Discourse الحقيقية
  • غرف المسرح — غرف متحدث/جمهور مع طابور طلبات الكلام، لجلسات الأسئلة والأجوبة والمكالمات المجتمعية
  • صلاحيات الغرف — غرف عامة، مقيدة بالمجموعات، وخاصة، مع شارات قفل في الشريط الجانبي ووسوم # للربط بين الغرف في المنشورات
  • تحكم في المشاركين — قائمة سياقية مع مستوى صوت لكل مستخدم، كتم، وضع الصمم، والطرد؛ بالإضافة إلى كتم/قطع الاتصال التلقائي عند عدم النشاط (AFK) وحالة المستخدم التلقائية
  • إدارة الغرف — إنشاء الغرف من قبل المستخدمين مقيد بالمجموعات، واجهة إدارة (CRUD) للموظفين، وواجهة REST كاملة للتحكم البرمجي
  • بنية تحتية صفرية افتراضيًا — 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 إعجابات