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

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

output

جربه مباشرة

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

(نعم، إنه يعمل على جهاز Raspberry Pi 5 — هذا يوضح مدى خفة وزنه.)

كيف يعمل

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

الميزات

  • تجربة مستخدم تركز على الشريط الجانبي — غرف وصور رمزية للمشاركين المباشرين مباشرة في الشريط الجانبي، على غرار Discord
  • مؤشرات التحدث — أشرطة صوتية متحركة تُظهر من يتحدث في الوقت الفعلي
  • أدوات تحكم المشارك — قائمة سياق تحتوي على خيارات مستوى الصوت وكتم الصوت والطرد
  • إدارة الغرف — واجهة مستخدم لإنشاء/قراءة/تحديث/حذف (CRUD) للموظفين بالإضافة إلى واجهة برمجة تطبيقات REST كاملة للتحكم البرمجي
  • بنية تحتية صفرية — WebRTC متصفح نقي مع تشفير DTLS-SRTP، لا حاجة لـ SFU/MCU
  • تقييد مستوى الثقة — يستخدم نظام الثقة الحالي لـ Discourse لأذونات إنشاء الغرف

الحالة

:warning: ألفا (Alpha) — يعمل بشكل جيد للغرف الصغيرة (2-10 مشاركين). اختبر مع مجموعة صغيرة أولاً. قد تصل الغرف الأكبر إلى حدود النظراء في المتصفح؛ دعم SFU مخطط له.

التثبيت

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

قم بالتمكين في المسؤول > الإعدادات > الإضافات > تمكين resenha.

نرحب بالتعليقات

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


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

47 إعجابًا

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

8 إعجابات

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

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

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

7 إعجابات

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

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

8 إعجابات

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

4 إعجابات

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

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

إعجابَين (2)

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

إضافة رائعة

3 إعجابات

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

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

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

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

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

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

11 إعجابًا

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

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

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

7 إعجابات

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

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

إعجابَين (2)

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

3 إعجابات

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

9 إعجابات

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

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

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

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

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

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

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

إعجابَين (2)

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

image

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

3 إعجابات

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

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

5 إعجابات