عن المشروع

iii هي منصة لتكوين ومراقبة الخدمات الخلفية تقوم بدمج عدة مخاوف تكاملية — قوائم الانتظار، والكرون، ونقاط النهاية HTTP، وإدارة الحالة، والمراقبة، والوكلاء، والبيئات المعزولة — في واجهة تشغيلية موحدة واحدة. النموذج العقلي الأساسي يتكون من ثلاث بدائل: - **Workers**: عمليات تسجل مع محرك iii. يمكن أن تكون خدمة API مكتوبة بـ TypeScript، أو خط أنابيب بيانات بـ Python، أو ميكروسيرفيس بـ Rust جميعها عمال. يمكن إضافة العمال أثناء التشغيل، مما يسمح للوكلاء والتطبيقات بتوسيع النظام أثناء عمله. - **Functions**: وحدات عمل ذات معرفات ثابتة (مثل `content::classify`، `orders::validate`) تستقبل مدخلات، تنفذ العمل، وتعيد ناتجًا اختياريًا. - **Triggers**: أسباب إعلانية لتنفيذ الدوال، تشمل الاستدعاءات المباشرة، نقاط النهاية HTTP، جداول الكرون، اشتراكات القوائم، تغييرات الحالة، وأحداث التدفق. يحدد العامل شرط المشغل ويتولى iii التوجيه، التسلسل، والتسليم. يعلن المطورون عن العمال في ملف `worker-compose.yaml` ويبدؤونهم باستخدام الأمر `iii compose --up`. ينضم العمال إلى كتالوج حي حيث يتم إبلاغ كل عامل آخر ويمكنه استدعاؤهم فورًا. الواجهة نفسها متاحة للوكلاء الذكاء الاصطناعي: عندما تتطلب مهمة قدرة لا يمتلكها النظام، يمكن للوكيل إضافة عامل، اكتشاف وظائفه، استدعاؤها، وتتبع النتائج. يوفر المشروع مجموعات تطوير (SDKs) لـ Node.js، Python، Rust، وGo. يتضمن وحدة تحكم للمطورين (React + Rust) لفحص العمال، الدوال، المشغلات، القوائم، الأثر، السجلات، والحالة في الوقت الحقيقي. مادة مرجعية قابلة للقراءة من قبل الوكلاء ("skills") تغطي كل بديل من بدائل iii ويمكن تثبيتها عبر أمر npx. المستودع منظم كـ monorepo: نواة المحرك مكتوبة بـ Rust (مرخصة تحت Elastic License 2.0)، بينما مجموعات التطوير، وحدة التحكم، الوثائق، والموقع مرخصة تحت Apache License 2.0. تُنشر صور Docker جنبًا إلى جنب مع تثبيت CLI عبر سكريبت شل.