عن المشروع

AIForge هو عميل ذكاء اصطناعي أصلي بلغة C++23 للواجهة الطرفية، مصمم حول نواة وقت تشغيل محايدة للمزود. يدعم التفاعلات البثية عبر Venice (via venice-cpp)، وسير عمل الذكاء الاصطناعي لمرة واحدة وقائم على الأنابيب، والجلسات الدردشة الدائمة القابلة للاستئناف. تم بناء واجهة الدردشة التفاعلية على TermForge لعرض الطرفية القوي. تشمل السمات الرئيسية: - النواة المحايدة للمزود: يتم فصل المنطق الأساسي عن مزودي الذكاء الاصطناعي، مما يتيح تشغيلات دائمة وقابلة لإعادة التشغيل والتنبؤ. - الجلسات الدائمة: يتم تخزين حالة الجلسة والأحداث والنصوص بشكل دائم باستخدام SQLite؛ يمكن استئناف الجلسات أو متابعتها. - تخطيط المهام القابل لإعادة التشغيل: يدعم استخدام أداة `ask_user` المنظمة، ومراجعات الخطة، ورسومات المهام، وقرارات المراجعة الدقيقة مع تحليل التعارضات وتتبع قائمة الانتظار المدعومة بواسطة المستودع. - الشخصيات المدعومة بالملفات: تعليمات النظام التي يتم تحميلها من ملفات `.md` أو `.txt` في إعدادات XDG؛ تُدار بأمان باستخدام تجزئة المحتوى والتحديثات الذرية. - اكتشاف واختيار النماذج: يسرد النماذج المتاحة مع إمكانياتها وأسعارها وحجم السياق؛ يسمح بالتصفية والاختيار عبر واجهة سطر الأوامر أو الأمر التفاعلي `/model`. - اختيار الشخصية المؤقتة: اختيار شخصيات محددة للمزود خلال وقت التشغيل دون تعديل التكوين الأساسي. - دعم الصوت المحلي (Linux): الالتقاط والتشغيل عبر ALSA (RtAudio)، مع معالجة آمنة وعدم التعرض لنماذج الذكاء الاصطناعي. - معالجة الصور: إنشاء وعرض وتصدير الصور مع تخزين معالج بالمحتوى والتحقق (PNG، JPEG، WebP عبر RasterForge). - التنفيذ المحدود: تنفيذ العملية المُتحكم به عبر السياسات، وحدود حجم المدخلات/المخرجات، وقيود القدرات لتعزيز الأمان. - التحكم في الاستخدام والإنفاق: يتعقب استخدام الرموز والتكلفة النقدية لكل جلسة؛ يفرض حدود إنفاق قابلة للتكوين. - نظام أوامر الشَّرْطَة: سجل أوامر موحد وقابل للتوسيع مع مساعدة وإكمال وفحوصات التوفر. - التحليل الثابت والنمط: تنسيق الكود المفروض (clang-format 20) والتحليل الثابت (clang-tidy 20) مع سياسات موثقة. يتم البناء عبر CMake (3.28+) باستخدام GCC 13+ أو Clang 17+، ويعتمد على TermForge و venice-cpp و RasterForge للوظائف الأساسية. توفر SQLite تخزين الجلسات الدائم. يتم دمج الاختبارات والفحص في نظام البناء. تركز المعمارية على الأمان واليقينية والقابلية للتدقيق، مع قرارات معمارية تُحكمها سجلات قرارات المعمارية (ADRs) ووثائق التصميم. تشمل القيود البارزة التحقق من UTF-8، والمنتجات المعالجة بالمحتوى، والرفض الصارم للمدخلات غير الآمنة أو الارتباطات الرمزية. يعمل في كل من الوضع بدون واجهة (CLI) والوضع التفاعلي TUI. عند التشغيل بدون وسائط في الطرفية، يفتح مساحة عمل الدردشة التفاعلية. يدعم أنابيب stdin لمراجعات الفروق وتحليل الشيفرة والأتمتة. مرخص بموجب ترخيص BSD ثلاثي البنود.