عن المشروع
Bolo هو تطبيق لتحليل الكلام على macOS يعمل بنظام الضغط-للتحدث، حيث يقوم بنقل الكلام إلى نص ولصق النص الناتج في أي حقل نصي نشط، بما في ذلك Slack وNotion وGmail وVS Code والمحطات الطرفية والمتصفحات. يأتي الاسم من اللغة الهندية، حيث يعني "bolo" "تحدث". وهو يدعم macOS 12+ وRust 1.88+، ومُدرج تحت رخصة MIT، مع موقع مشروع مذكور في ملف README.
الإعداد والأذونات: يقوم install.sh بإنشاء بيئة Python خاصة للمساعدة في ~/.bolo/venv، وبناء الملف الثنائي لـ Rust، والبحث عن مفتاح API خاص بـ Telnyx في ~/.codex/.env أو في البيئة (مع المطالبة والحفظ في ~/.bolo/env إذا لم يكن موجودًا)، وتسجيل Bolo كعنصر عند تسجيل الدخول، وتشغيله. عند الإطلاق الأول، تظهر نافذة ترحيب تسأل عن المفتاح الذي يجب الضغط عليه للتحليل، مع خيارات مثل Right Option وRight Control وF19 وCaps Lock؛ ويتم تخزين الاختيار في ~/.bolo/env. يحتاج Bolo بعد ذلك إلى أذونات الميكروفون والوصول إلى المعلمات من macOS، حيث يتم منح الأخير للمُفسّر Python المُدار في ~/.bolo/venv/bin/python3 الذي يقوم بلصق النص. يحتوي ملف README أيضًا على مطالبة يمكن إعطاؤها لوكيل برمجة لتنفيذ عملية التثبيت ومنح الأذونات.
سير عمل التحليل: اضغط على المفتاح المُدرج، وتحدث، ثم ارفع يدك. يتم إدخال النص في مكان المؤشر باستخدام الحافظة، ويتم استعادة محتويات الحافظة السابقة بشكل افتراضي. تعرض أيقونة شريط القائمة النصوص الأخيرة للنسخ اليدوي، بالإضافة إلى أوامر مثل Clear Transcript History وRun Health Check وRewrite Selected Text وAdd Vocabulary Term وAdd Vocabulary Alias وAdd Correction Rule وCheck for Updates.
التكوين: يتم قراءة الإعدادات من البيئة أو من ~/.bolo/env. تشمل الخيارات TELNYX_API_KEY؛ وBOLO_HOTKEY للمفتاح الضغط-للتحدث (right_option, right_control, right_shift, fn, f1 through f19, caps_lock)؛ وBOLO_PASTE_LAST_HOTKEY لإعادة لصق أحدث نص منقول؛ وBOLO_MICROPHONE؛ وBOLO_MAX_RECORDING_SECONDS، مع قيمة افتراضية 30 ثانية للمراقبة التي تنهي التسجيلات الطويلة تلقائيًا؛ وBOLO_STT_MODEL وBOLO_STT_FALLBACK_MODEL؛ وBOLO_STT_LANGUAGE لتلميحات اللغة أو اللهجة، مع الرجوع إلى English (US) إذا كانت التلميحة غير الأمريكية بطيئة؛ وBOLO_STT_FALLBACKS لسلسلة من الموفّرين مفصولة بفواصل، ويمكن أن تتضمن telnyx:model وxai وassemblyai؛ وBOLO_STT_STREAMING، الذي يتحكم في البث المباشر لـ Deepgram Nova-3 مقابل التحليل الدفعة؛ وBOLO_PRESERVE_CLIPBOARD؛ وBOLO_LLM_CLEANUP؛ وBOLO_AUTO_UPDATE؛ وBOLO_LOG_TRANSCRIPTS، وهو مغلق بشكل افتراضي لذلك يتم حذف النص المكتوب من /tmp/bolo.log.
التنظيف والمفردات والتصحيحات: يتم ضبط تنظيف LLM على auto، حيث يتم تخطي النصوص القصيرة والنظيفة وتشغيله للنصوص الأطول أو الأكثر فوضى؛ ويذكر ملف README أن Telnyx Qwen/Qwen3-235B-A22B مع تعطيل التفكير، أو Kimi-K2.5 عندما يتم تكوين LiteLLM، وأن MiniMax لا يتم استخدامه عمداً للتنظيف. يمكن للتنظيف قراءة التطبيق الأمامي والنص القريب من المؤشر عبر Accessibility لتنسيق المسافات وأحرف البداية. تشمل الأوامر الصوتية "scratch that" و"actually ..." و"polish that" و"prompt that"، وهي محمية بحيث تعمل فقط عندما يكون النص المنقول السابق لا يزال مباشرة قبل المؤشر ويطابق النص تمامًا. تقع المفردات الشخصية في ~/.bolo_vocabulary.json وتدعم كائنات alias للمسموعات الشائعة؛ وتقع قواعد الاستبدال المحددة في ~/.bolo/replacements.json؛ وتتم تخزين أنماط التنظيف الخاصة بكل تطبيق في ~/.bolo/prompt_bindings.json مع ملفات تعريف default وemail وchat وnotes.
الخصوصية والسجل: يتم إرسال الصوت إلى واجهات برمجة تطبيقات Telnyx لتحليل الكلام ومعالجته في الذاكرة فقط، وفقًا لملف README، ولا يتم استخدام النصوص للتدريب. يتم تخزين أحدث عشرة نصوص محليًا في ~/.bolo/transcripts.json، مع الاحتفاظ بالنصوص الخام والمنظفة عندما يغير التنظيف النص، ويمكن حذفها من شريط القائمة.
القيود والصيانة: يتطلب Bolo اتصالًا بالإنترنت، ويعمل التحليل القصير بشكل جيد اليوم بينما لا يزال يتم تحسين التحليل الأطول وزمن الاستجابة، وتم ضبط التنظيف بشكل متحفظ للحفاظ على المعنى الحرفي. يتم التحقق من التحديثات عند الإطلاق أو عند الطلب، ويتم تخطيها عندما يكون هناك تغييرات غير ملتزمة في الملفات المحلية، أو عندما يكون GitHub غير متصل، أو عندما يكون Rust مفقودًا، أو عندما لا يمكن إجراء تحديث سريع ونظيف. يتضمن البرنامج أداة تقييم صغيرة قائمة على العبارات (eval_dictation.py مع أوامر prompts وinit وscore)، ويركز استكشاف الأخطاء على /tmp/bolo.log، ووجود مفتاح API، وأذونات المفسّر المُدار، وإعادة التشغيل باستخدام restart.sh.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.