الاجتماعات
سجّل اجتماع، خُد نسخ نصي وهو لسه شغّال، وحوّله لملخص فيه قرارات ومهام لما يخلص.
في الوضع الافتراضي كل ده بيحصل على جهازك: الصوت عمره ما بيخرج منه، والتفريغ بيشتغل على سيرفر Whisper محلي. وفي حاجتين بس ممكن يستخدموا موديل أونلاين لو إنت اخترتهم — التلخيص، ومحرّك Gemini.

افتحها من أيقونة المايك في هيدر اللوحة. ولو فتحتها من سياق مشروع، بتفتح مفلترة على المشروع ده.
أول تشغيل: الموديل
التفريغ محتاج موديل، والموديلات كبيرة، فالمثبّت مش جايب واحد معاه. أول مرة تضغط بدء التسجيل، البرنامج بينزّل الموديل الافتراضي (base.en، حوالي ١٤٢ ميجا) وبيوريك شريط تقدّم تقدر تلغيه، وبيبدأ أول ما يجهز.
عشان تختار غيره، افتح ⚙ ← إدارة النموذج… (موجودة كمان في الإعدادات ← الاجتماعات).
| الموديل | المحرّك | الحجم | مناسب لـ |
|---|---|---|---|
tiny.en | whisper | ٧٥ ميجا | جهاز بطيء، أو إنجليزي عايزه مفهرس بس |
base.en | whisper | ١٤٢ ميجا | الافتراضي — التوازن المعتاد |
small.en | whisper | ٤٨٨ ميجا | أحسن ملحوظًا مع اللهجات والكلام المتداخل |
medium.en | whisper | ١٫٥ جيجا | أعلى جودة، لو عندك رام وصبر |
parakeet-tdt-0.6b-v3 | parakeet | ٣٩٧ ميجا | أسرع من whisper بجودة قريبة |
وتقدر كمان تختار موديل عندك بالفعل، أو توجّه البرنامج على سيرفر Whisper خاص بيك.
خلي مسار الموديل حروف إنجليزية
Whisper مش بيعرف يفتح مسار فيه حروف مش إنجليزية. فلو اسم مستخدم ويندوز بتاعك بالعربي، سيب الموديلات في الفولدر الافتراضي (C:\ProgramData\XTop\models) بدل ما تحطها تحت فولدر المستخدم.
اختيار المحرّك
في خمس محرّكات. اتنين بيجوا مع البرنامج، واتنين موديلات عربي مصري محتاجة بايثون متثبّت، وواحد أونلاين.
| المحرّك | بيشتغل إزاي | اختاره لـ |
|---|---|---|
| whisper | سيرفر محلي بيفضل شغّال وبيوصله الصوت مقطع مقطع | الافتراضي — ثابت ومش محتاج تظبيط |
| parakeet | أمر بيتشغّل لكل مقطع لوحده | لما whisper مش لاحق. لغات أوروبية بس |
| QwenCleo-ASR | بايثون، mohammedaly22/QwenCleo-ASR | العربي المصري، والخلط بين العربي والإنجليزي |
| EgypTalk-ASR-v2 | بايثون، NAMAA-Space/EgypTalk-ASR-v2 | العربي المصري على موديل أخف |
| Gemini 3.5 Transcribe | أونلاين، على اتصال مباشر | الجهاز البطيء. مفيش حاجة تتثبّت ولا موديل يتنزّل |
والمحرّكات اللي مش بتعرف تشتغل باللغة اللي اخترتها بتبقى مقفولة مش مختفية — parakeet مع العربي، و EgypTalk مع الإنجليزي.
Gemini، المحرّك الأونلاين
Gemini 3.5 Transcribe هو المحرّك الوحيد اللي بيبعت الصوت بره جهازك. مفيش حاجة تتثبّت ولا موديل يتنزّل، وبيعرف اللغة لوحده، ومش فارق معاه المعالج بتاعك بطيء قد إيه — وده اللي بيخليه الحل على الجهاز اللي مش لاحق الكلام.
الصق مفتاح Gemini API في نافذة اختيار المحرّك (في لينك احصل على مفتاح). والمفتاح بيتحفظ على الجهاز ده وعمره ما بيخرج من العملية الرئيسية للبرنامج.
وهو كمان اختيار تالت في تحسين النص، وبيخلّص في دقايق مش ساعات.
تطلّع مصري أحسن من whisper
whisper سامع اللهجة كويس. المشكلة في اللي بيكتبه. هو متدرّب في الأغلب على العربي الفصحى، فبيفضل «يصحّح» وهو بيفرّغ — «إحنا عايزين» بترجع «نحن نريد»، أو جملة معناها حاجة تانية خالص.
نص التمهيد هو اللي بيقوله يكتب عربي إيه. whisper بيتوقّع الكلمة الجاية، فلما تبدأه بفقرة بالمصري العادي، الكلام اللي بعدها بيتشد ناحية الأسلوب ده. والاجتماعات العربي بتبدأ بفقرة مصرية جاهزة تلقائيًا.
والتمهيد بياخد وقت من الـ CPU. وقد إيه؟ على حسب جهازك وعلى حسب نضافة الصوت. مع الصوت الصعب ممكن ياخد ضعف الوقت، لأن whisper بيشوف الناتج بتاعه مستبعد فبيعيد نفس المقطع تاني. ومع الكلام الواضح بياخد أقل بكتير. ولو النص بدأ يتأخّر عن الأوضة والنافذة فضلت تقول إنه بيلحق، البرنامج بيقفل التمهيد لوحده — ومحرّكات المصري اللي تحت أحسن حل من whisper أسرع.
وللتمهيد أثر جانبي واحد والبرنامج بيتصرف فيه لوحده: مع السكوت أو الضوضا، whisper بيرد بنص التمهيد نفسه. فأي مقطع بيرجع كنص التمهيد، أو تكرار للمقطع اللي قبله، أو واحدة من الجمل المعروفة اللي بيطلّعها على الضوضا («ترجمة نانسي قنقر» و"Thanks for watching" وأخواتهم) بيترمي بدل ما يتكتب.
تحسين اجتماع خلص
النص اللي بيطلع وإنت بتتكلم فيه تنازل: لازم يلحق الأوضة، فبيستخدم الموديل السريع وبيشتغل على مقاطع من كام ثانية.
وزرار حسّن التفريغ بعد ما الاجتماع يخلص شغّال بطريقة تانية. بيحمّل large-v3، الموديل الكامل، وبيديله التسجيل كله مرة واحدة. وكده whisper بيفهم الاجتماع كوحدة واحدة بدل ما يبدأ من الصفر مع كل مقطع، وده اللي بيجيب دقة اللهجة. وهو أبطأ من الوقت الحقيقي على الـ CPU، فمش ممكن يشتغل مباشر — وده بالظبط سبب إنه يستاهل تشغّله بعدين.
نزّل large-v3 من قايمة الموديلات الأول. مكتوب جنبه للتحسين بس ومفيهوش زرار اختيار، لأن التسجيل بيه هيبقى بطيء وهتضيّع صوت. والملف بيتقارن بحجمه المنشور قبل ما يشتغل، فالتنزيل اللي خلص غلط بيتكتب جنبه ملف تالف وبيتعرض عليك تنزّله تاني، بدل ما يتسلّم لمحرّك هيقع عليه. والنص المباشر بيتحفظ جنب الجديد، فلو النتيجة طلعت أوحش تقدر ترجع.
بتاخد قد إيه. على i7-13700H، اجتماع ٢٥ دقيقة خد حوالي ساعة بأفضل جودة — يعني حوالي ٢.٥ ضعف مدة الاجتماع، وأكتر مع الصوت الصعب. وهي شغالة بتوريك نسبة جاية من المحرّك نفسه (بتتحدّث كل ٣٠ ثانية صوت)، وتقدير للوقت الفاضل، وزرار إيقاف. وقفل نافذة الاجتماعات مش بيوقّفها، ولما تفتحها تاني بتلاقي نفس التقدّم. وبتستخدم كل أنوية المعالج ما عدا اتنين، فاستنى إن الجهاز يبقى مشغول وهي شغالة.
والسهم اللي جنب الزرار بيديك الاختيار التاني:
| الموديل | البحث | السرعة | |
|---|---|---|---|
| أفضل جودة | large-v3 | ٢ beams | ~٢.٥× مدة الاجتماع أو أكتر |
| سريع | large-v3-turbo-q8_0 | من غير beam | أسرع بكذا مرة |
| Gemini 3.5 Transcribe | أونلاين | — | دقايق |
الوضع السريع بيستخدم الموديل اللي عندك أصلًا للتفريغ المباشر، فبيبدأ على طول بدل ما تستنى تنزيل ٣ جيجا. وهو أضعف في اللهجة، وده كل سبب وجود «أفضل جودة». و Gemini مش محتاج موديل خالص، بس بيبعت التسجيل لجوجل — شوف المحرّك الأونلاين. والاختيار بيتعمل كل مرة تدوس، ومش بيتحفظ.
وفي حاجتين مش هيعملهم:
- مش بيشتغل وإنت بتسجّل — بيحمّل موديل أتقل بكتير وهيوقّف النص المباشر.
- تمريرة واحدة في المرة. لو بدأت واحدة وفي اجتماع تاني بيتقرا، بيترفض بدل ما يستنى في طابور.
ليه التمريرة مابتتخطاش السكوت
لأن مفيش سكوت كتير أصلًا عشان يتشال. ملف audio.wav متعمل من أجزاء الكلام بس، يعني الفراغات الطويلة عمرها ما اتحفظت. وعلى اجتماع حقيقي، تخطّي السكوت شال ٧.١٪ بس من الصوت وخد وقت أطول مما وفّر: ٢٢٠ ثانية بدل ١٩٦ لنفس الخمس دقايق. فسايبينه كإعداد، للتسجيل اللي يكون فعلًا معظمه سكوت.
التسجيل بيتحفظ
الاجتماعات بتحتفظ بصوتها في audio.wav جنب النص. وده اللي بيخلي التحسين ممكن، واللي بيخلي أي كلام فات وقت ما التفريغ كان بيلحق يظهر في النص النهائي. والملف فيه كلام بس — السكوت بين الجمل مش متسجّل — يعني المكان في الملف مش هو نفسه الوقت في الاجتماع.
محرّكات العربي المصري
whisper بيفرّغ العربي فعلًا، بس بيتعامل مع اللهجة المصرية وحش لدرجة إن النص بيبقى صعب تقراه بعدين — وده أسوأ من خطأ واضح، لأن شكله إنه اشتغل. والموديلين دول مالهمش نسخة GGML، فبيشتغلوا عن طريق سيرفر بايثون صغير بيجي مع البرنامج (python/xtop_asr_server.py) بدل المحرّكات المدمجة.
محتاج بايثون 3.10 أو أحدث وحزم المحرّك نفسه. الأمر بالظبط ظاهر في نافذة الموديل:
# QwenCleo-ASR — 1.7B، كارت NVIDIA مفضّل بشدة
pip install qwencleo-asr --no-deps
pip install "qwen-asr>=0.0.6" torch torchaudio numpy soundfile huggingface_hub
# EgypTalk-ASR-v2 — أخف بكتير، NeMo FastConformer
pip install nemo_toolkit[asr]لو بايثون بتاعك في virtualenv، استخدم اختَر بايثون… عشان توجّه البرنامج عليه. غير كده بياخد py -3 على ويندوز، أو python3/python من الـ PATH. وبيجرّب py الأول على ويندوز لأن دي الطريقة المعتادة لتثبيت الحزم دي، والمحرّك لازم يشتغل في نفس البايثون اللي اتثبّتت فيه.
لما المحرّك يرفض يبدأ
زرار اختبر المحرّك في نافذة الموديل بيحمّل المحرّك فعلًا وبيوريك كل اللي طلع منه. استخدمه قبل الاجتماع مش بعده: كلمة «جاهز» اللي جنبه بتتأكد بس إن الحزمة متثبّتة، وده حاجة بيعدّيها حتى التثبيت الباظ — واللي بيحصل كتير مع pip install nemo_toolkit[asr] على ويندوز. ولو المحرّك فشل، آخر سطر في الناتج هو السبب، وهو نفس الرسالة اللي هتشوفها في نافذة الاجتماع.
أول تسجيل بطيء
ملفات الموديل بتتنزّل من HuggingFace أول مرة تستخدم المحرّك — حوالي ٣٫٤ جيجا لـ QwenCleo. بتتنزّل والمحرّك بيبدأ، وتقدر تتابع التقدّم في سجل الاجتماع. ومفيش حاجة بتتضاف لقايمة الموديلات اللي فوق.
تشغيل المحرّك على جهاز تاني
المحرّكين بتوع بايثون ينفع يشتغلوا على سيرفر بعيد بدل كده. حط رابط سيرفر vLLM أو FastAPI (qwencleo serve أو uvicorn server.app:app)، أو أي endpoint بياخد ملف WAV على POST /inference وبيرد {"text": "..."} — نفس اللي بيعمله سيرفر البايثون المرفق. ومع الرابط ده، مش محتاج تثبّت أي حاجة على الجهاز ده. وتقدر تحفظ مفتاح API جنبه؛ المفتاح عمره ما بيخرج من العملية الرئيسية للبرنامج.
اللي بيتسجّل
مصدرين صوت بيتخلطوا في مسار واحد:
- المايك بتاعك.
- السماعات — على ويندوز، صوت النظام (loopback)، فالطرف التاني في المكالمة بيتنسخ كمان، مش إنت بس.
ولو صوت النظام مش متاح، التسجيل بيكمّل بالمايك لوحده وبيقولك — بدل ما يسجّل نص الاجتماع من غير ما تعرف.
والصوت المخلوط بيتقسّم مقاطع عند سكوت الناس، مش على مؤقّت ثابت، وبيتحوّل لـ WAV أحادي ١٦ كيلوهرتز اللي whisper عايزه، وبيتبعت مقطع مقطع. والكلمات اللي بتقع بين مقطعين بتتوصّل، فالجملة المقطوعة نصين ما بترجعش ونصها مكرر.
أثناء التسجيل
- شريحة جارٍ التسجيل · mm:ss في شريط العنوان.
- النص بيكبر مع رجوع كل مقطع.
- لو التفريغ اتأخّر عن الصوت، النافذة بتقول "متأخر بـ N مقطع". وتسجيلك مش في خطر أبدًا: كل مقطع بيتكتب في
audio.wavقبل ما يتفرّغ، فأي حاجة تفوت التفريغ المباشر لسه موجودة في الملف. والتأخير البسيط طبيعي مع موديل كبير أو جهاز مشغول، وبيلحق نفسه. - ولو ما لحقش، البرنامج بيتدخّل. بينزّل الجودة درجة درجة — الأول تمهيد اللهجة، وبعدين موديل أخف — وبيقولك على الشاشة. نص بيلحق الكلام أنفع من نص أحسن ما بيوصلش، وتحسين النص بعد الاجتماع بيرجّع الجودة من نفس الصوت. والاجتماعات اللي ضاع منها مقاطع بتتعلّم عشان تفتكر تشغّله.
- ولو الرسالة بقت "التفريغ وقف"، يبقى المحرّك وقف خالص مش بس اتأخّر. والتسجيل ماشي عادي في الحالتين — كمّل الاجتماع وشغّل تحسين النص بعده.
- والاجتماع اللي ضاع منه حاجة بيتعلّم بعد كده، والملاحظة بتقول ضاع قد إيه: «حوالي ٤ دقايق من الاجتماع ده فاتت وقت التسجيل.» الصوت كامل، فـ تحسين النص بيرجّعها كلها.
- الجهاز بيتمنع من النوم طول المدة، فمؤقّت النوم ما يقدرش يقطع التسجيل.
الوقف المؤقت بيوقّف التسجيل من غير ما ينهي الاجتماع — شريط العنوان بيقول متوقف مؤقتًا والساعة بتقف. اضغطه تاني تكمّل في نفس الاجتماع. مفيد في البريك، أو في العشر دقايق اللي قبل ما حد يقول حاجة تستاهل.
واضغط إيقاف للإنهاء. الاجتماع بيتحفظ فورًا بنصه الكامل، قبل أي تلخيص.
لقطات الشاشة
النص بيحتفظ باللي اتقال بس — مش بالشريحة، ولا الرسمة اللي على الشاشة المشتركة، ولا الـ error اللي حد كان بيشاور عليه. عشان كده، طول ما في تسجيل شغّال، تقدر تاخد جزء من الشاشة وتحفظه مع الاجتماع.
إزاي تاخد لقطة
الزرار موجود في مكانين:
- في نافذة الاجتماعات — زر crop جنب إيقاف.
- على الجزيرة — طول ما في اجتماع بيتسجّل الكبسولة بتبقى ساعة؛ قرّب منها الماوس تلاقي زرار اللقطة بين الإيقاف المؤقت والإيقاف. شوف الجزيرة وهي بتسجّل.
والاتنين بيشتغلوا بنفس الطريقة: كل الشاشات بتعتم، وإنت بترسم مستطيل حوالين اللي عايزه. والمقاس بالبكسل بيتعرض وإنت بتسحب.
| اللي تعمله | النتيجة |
|---|---|
| ترسم مستطيل | بياخد المنطقة دي |
| Esc | إلغاء |
| كليك يمين | إلغاء |
| كليك من غير سحب | إلغاء — عشان الكليك بالغلط ما يحفظش صورة فاضية |
وتقدر ترسم على أي شاشة، مش اللي البرنامج عليها بس. واللي بتشوفه وإنت بتسحب صورة مجمّدة لشاشاتك متاخدة في اللحظة اللي دوست فيها — فمفيش حاجة بتتحرك وإنت بتختار، والجزيرة مش بتظهر في الصورة: بتتخبّى وقت اللقطة وبترجع بعدها.
بتتحفظ فين
اللقطات بتظهر كصور صغيرة تحت الاجتماع، وكل واحدة مكتوب عليها اتاخدت عند أي دقيقة في التسجيل — 04:17، مش وقت اليوم. وده اللي بيظبّط الصورة على الجزء بتاعها من النص.
اضغط على الصورة تفتحها بحجمها الكامل، و**×** بتمسحها.
ودي ملفات عادية، مش صفوف في قاعدة بيانات:
<userData>/meetings/<id>/shots/1.pngوتصدير الاجتماع كـ Markdown بيضيف قسم Screenshots فيه كل صورة تحت وقتها. والروابط نسبية، فالتصدير اللي فاضل في فولدر الاجتماع بيفضل بيعرض صوره.
أثناء التسجيل بس
الزرار بيظهر بس طول ما في اجتماع شغّال. اللقطة بتتحفظ عند نقطة معيّنة جوه التسجيل، فمن غير تسجيل مفيش حاجة تتحفظ عليها.
الملخص
تلخيص بيحوّل النص لتلات حاجات:
- ملخص — فقرة قصيرة.
- قرارات — اللي اتحسم فعلًا.
- مهام — كل واحدة ومعاها صاحبها، لو النص سمّى حد.
المزوّدون
| المزوّد | التكلفة | مكان التشغيل | محتاج مفتاح |
|---|---|---|---|
| Ollama | مجاني | جهازك | لأ |
| Groq | باقة مجانية | مستضاف | أيوه |
| OpenRouter | باقة مجانية | مستضاف | أيوه |
| Anthropic | مدفوع | مستضاف | أيوه |
Ollama هو الافتراضي، لأنه بيخلي كل حاجة على جهازك: حط رابط Ollama بتاعك واختار موديل نزّلته قبل كده. وكل مزوّد أونلاين معاه رابط احصل على مفتاح، والمفتاح بيتحفظ في فولدر بيانات البرنامج — مش في أي مشروع، ولا في حاجة ممكن تعملها commit.
الأرشيف
الاجتماعات القديمة بتتعرض في الشريط الجانبي بعنوانها ومقتطف منها والمشروع بتاعها والتاريخ. والبحث بيفلترها، وقايمة المشاريع بتضيّقها على مشروع واحد.
ولأي اجتماع تقدر تغيّر اسمه، أو تصدّره كـ Markdown، أو تفتح فولدره، أو تمسحه. والاجتماعات متحفوظة في:
<userData>/meetings/<id>/meeting.jsonلما حاجة تبوظ
النافذة بتقولك المشكلة بكلام مفهوم بدل ما ترمي لك تفاصيل خطأ. واللي يستاهل تعرفه:
| اللي بتقوله | تعمل إيه |
|---|---|
| سيرفر Whisper المرفق ناقص | أعِد التثبيت، أو وجّه البرنامج على سيرفر من نافذة الموديل |
| اختار أو نزّل موديل Whisper محلي الأول | افتح إدارة النموذج… ونزّل واحد |
| مفيش منفذ محلي فاضي | في حاجة ماسكة نطاق المنافذ؛ جرّب تاني |
| سيرفر Whisper وقف فجأة | التسجيل بيكمّل. اضغط تسجيل تاني عشان التفريغ يرجع |
| السيرفر ما خلّصش التشغيل | الموديل الأصغر بيحمّل أسرع |
| تم رفض الوصول للمايك | إعدادات ويندوز ← الخصوصية ← الميكروفون |
| صوت النظام (loopback) غير متاح | متوقع على بعض الأجهزة — المايك لسه بيتسجّل |
