دورة حياة الجلسة
الجلسة هي وحدة العمل الأساسية في Whisperer: النافذة الزمنية التي يستمع خلالها العميل إلى الاجتماع، ويُدوّن النص، ويتلقى ردود LLM. فهم دورة الحياة يساعدك على استخدام البدء/الإيقاف المؤقت بشكل صحيح، وتفسير الحالات في لوحة التحكم، واستكشاف المشكلات وإصلاحها.
متى تقرأ هذا المقال
اقرأ هذا المقال إذا أردت أن تفهم:
- ما الذي يحدث لبياناتك في كل مرحلة من مراحل الاجتماع؛
- لماذا يتأخر الرد أحيانًا ومتى يُحفظ النص؛
- كيف يعمل الاتصال بين العميل والخادم.
مراحل الجلسة
1. البدء
الضغط على زر «البدء» (أو اختصار لوحة المفاتيح) يضع العميل في الوضع النشط:
- يفتح العميل اتصالًا بالخادم ويرسل مُعرّف الجهاز والرمز المميز.
- يتحقق الخادم من الاشتراك وحصة الدقائق. إذا نجح التحقق، يؤكد بدء الجلسة ويعيد مُعرّف الجلسة.
- يُفعّل العميل التقاط الصوت ويبدأ التسجيل.
2. التسجيل (البث المتدفق)
يُنقل الصوت في مقاطع قصيرة كل ~0.8 ثانية. ويُوسَم كل مقطع باسم المتحدث: المستخدم أو الطرف الآخر.
يُخزّن الخادم المقاطع مؤقتًا ويرسلها للتعرف. يُعاد النص إلى العميل في الوقت الفعلي ويُعرض في LiveTranscriptStrip.
3. الطلب والرد
عندما يضغط المستخدم على «اسأل» (أو اختصار لوحة المفاتيح)، يرسل العميل إطار ask مع سياق النص الحالي.
يُجمّع الخادم موجّه النظام (موجّه الدور ← سياق المستخدم ← RAG من قاعدة المعرفة) ويستعلم من LLM. يتدفق الرد: يظهر النص أثناء توليده ويُعرض فورًا في AnswerArea مع دعم Markdown وترقيم الصفحات (إذا كانت هناك ردود متعددة).
4. الإيقاف المؤقت
الضغط على «إيقاف مؤقت» يوقف التقاط الصوت، لكن اتصال WebSocket يبقى مفتوحًا. يتوقف مؤقت الجلسة مؤقتًا. استأنف بالضغط على «استئناف».
5. الإنهاء
الضغط على «إيقاف» أو إغلاق العميل:
- يرسل العميل إطار
session.end. - يكتب الخادم النصوص المخزّنة مؤقتًا وقائمة الردود المكتملة إلى قاعدة البيانات.
- يُغلق اتصال WebSocket.
- في لوحة التحكم على الويب، تظهر الجلسة في قسم السجل مع النص الكامل والتحليلات.
📸 [لقطة شاشة: لوحة Whisperer في وضع التسجيل — تظهر LiveTranscriptStrip وأزرار التحكم]
تخزين البيانات
افتراضيًا، يُحفظ النص وردود LLM في قاعدة البيانات وتكون متاحة في لوحة التحكم. إذا كان وضع عدم التسجيل مُفعّلًا، تُحذف البيانات بعد انتهاء الجلسة — لكن الدقائق المستهلكة تظل محتسبة.
الأخطاء الشائعة
| الخطأ | السبب | الحل |
|---|---|---|
| الجلسة لا تبدأ | لم يتم تأكيد البريد الإلكتروني أو لا يوجد اشتراك نشط | تحقق من حالة الحساب والحصة |
| «لا أسمع الطرف الآخر» | لم يُمنح إذن تسجيل الشاشة (macOS) أو التقاط صوت النظام غير متاح (Windows) | أذونات macOS / Windows |
| النص لا يظهر | اتصال إنترنت ضعيف أو فقدان WebSocket | تحقق من شبكتك؛ أعد تشغيل الجلسة |
| رد LLM يستغرق وقتًا طويلًا | مزوّد الذكاء الاصطناعي مُحمّل بشكل زائد أو تم اختيار نموذج بطيء | بدّل النموذج في الإعدادات |
أفضل الممارسات
- أنهِ الجلسة صراحةً بزر «إيقاف» — هذا يضمن كتابة البيانات إلى السجل.
- أوقِف مؤقتًا أثناء فترات الانقطاع الطويلة في الاجتماع — يتوقف المؤقت ولا تُهدر الدقائق.
- استخدم وضع عدم التسجيل للاجتماعات السرية التي يكون فيها تخزين النص غير مرغوب.