عن المشروع

LiveKit Agents هو إطار عمل مفتوح المصدر لبناء مشاركين فوريين وقابلين للبرمجة يعملون على الخوادم. ويركز على وكلاء صوتيين متعددي الوسائط للمحادثة يمكنهم الرؤية والسمع والفهم، ويُوزَّع كحزمة بايثون (وتُشار إلى مكتبة شقيقة بلغة JS/TS باسم AgentsJS بشكل منفصل). القدرات الرئيسية الموصوفة في ملف README: - تكاملات مرنة: مزج ومطابقة مزوّدي STT وLLM وTTS وRealtime API لحالة استخدام معينة. - جدولة مهام متكاملة: جدولة وتوزيع مهام مدمج مع واجهات dispatch لربط المستخدمين النهائيين بالوكلاء. - عملاء WebRTC: يمكن بناء تطبيقات العملاء باستخدام منظومة SDK مفتوحة المصدر من LiveKit عبر المنصات الرئيسية. - الاتصالات الهاتفية: يعمل مع حزمة الاتصالات الهاتفية من LiveKit بحيث يمكن للوكلاء إجراء أو استقبال مكالمات هاتفية. - تبادل البيانات: تتيح RPCs وواجهات Data API الأخرى للوكلاء والعملاء تبادل البيانات. - كشف الأدوار الدلالي: يكتشف نموذج transformer متى انتهى المستخدم من الكلام، وهو ما يقول المشروع إنه يساعد في تقليل المقاطعات. - دعم MCP: يمكن دمج الأدوات من خوادم MCP بسطر واحد من التعليمات البرمجية. - إطار اختبار مدمج: يمكن كتابة اختبارات وحُكّام للتحقق من سلوك الوكيل. - مفتوح المصدر: يمكن استضافة المنظومة بالكامل ذاتيًا، بما في ذلك خادم LiveKit الموصوف بأنه خادم وسائط WebRTC واسع الاستخدام. المفاهيم الأساسية هي Agent (تطبيق قائم على LLM مع تعليمات)، وAgentSession (حاوية تدير التفاعلات مع المستخدمين النهائيين)، وentrypoint (نقطة البداية لجلسة تفاعلية، مشابهة لمعالج طلب)، وAgentServer (العملية الرئيسية التي تنسق جدولة المهام وتشغيل الوكلاء). تُظهر أمثلة الاستخدام وكيلًا صوتيًا بسيطًا يربط VAD وSTT وLLM وTTS عبر LiveKit Inference أو إضافات المزوّد المباشرة، إضافة إلى مثال تسليم متعدد الوكلاء حيث يجمع وكيل تمهيدي تفاصيل المستخدم ويمرر التحكم إلى وكيل قصص يمكنه التبديل إلى نموذج Realtime API. ويستخدم مثال اختبار pytest مع AgentSession، ويشغّل إدخال مستخدم، ويتحقق من أحداث مثل استدعاءات الدوال ورسائل المساعد، بما في ذلك حَكَم LLM للنية. أوضاع التشغيل: `python myagent.py console` لاختبار الصوت محليًا في الطرفية دون خوادم خارجية، و`dev` لخادم وكيل مع إعادة تحميل فورية يتصل بـ LiveKit Cloud أو خادم مستضاف ذاتيًا، و`start` لتحسينات جاهزة للإنتاج. متغيرات البيئة LIVEKIT_URL وLIVEKIT_API_KEY وLIVEKIT_API_SECRET مطلوبة للأوضاع المتصلة بالخادم. يتضمن المستودع دليل أمثلة يغطي وكيلًا صوتيًا للمبتدئين، ومتصلًا صادرًا، ودعم MCP، ومحوّلًا متعدد المستخدمين، وصورًا رمزية فيديوية مع مزوّدين خارجيين، وعرضًا تجريبيًا لرؤية Gemini Live. تستخدم التطوير uv لإدارة الحزم، وruff للتنسيق والفحص، وpytest لاختبارات الوحدة، وpdoc لتوليد الوثائق محليًا. الإطار مرخّص بموجب Apache-2.0، بينما تستخدم نماذج كشف الأدوار من LiveKit ترخيص LiveKit Model License منفصلًا. وتُرحَّب بالمساهمات عبر issues أو pull requests أو Slack المجتمعي.