Save verified Mithqal AI project progress
This commit is contained in:
@@ -1,10 +1,16 @@
|
||||
# SovereignAI Starter
|
||||
|
||||
خارطة الطريق التقنية موجودة في [`ROADMAP.md`](ROADMAP.md).
|
||||
|
||||
مشروع تعليمي لبناء مساعد ذكاء اصطناعي محلي قابل للتوسع. النموذج الافتراضي الحالي `gemma4:e2b` ويعمل عبر Ollama محليًا. يمكن اختيار نموذج آخر بواسطة متغير البيئة `LOCAL_MODEL`.
|
||||
|
||||
## مكونات النسخة الأولى
|
||||
- FastAPI كواجهة HTTP محلية.
|
||||
- وكيل تجريبي بأداة حساب آمنة ومحدودة.
|
||||
- واجهة المحادثة تدعم نسخ الإجابة ومشاركتها وتعديل آخر سؤال أو إعادة توليد الإجابة.
|
||||
- تختار الواجهة نموذج Ollama المثبت محليًا من قائمة النماذج.
|
||||
- وضع الوكيل التجريبي يبحث في ملفات المشروع النصية ويقرأ مقتطفات منها فقط؛ لا يكتب ملفات ولا يشغّل أوامر.
|
||||
- خطة المراحل التالية للوكيل والبيانات والنماذج موجودة في [`ROADMAP.md`](ROADMAP.md).
|
||||
- واجهة `/docs` لاستكشاف الـ API من المتصفح.
|
||||
- يمكن توصيلها بخادم نموذج محلي يوفّر واجهة OpenAI مثل Ollama.
|
||||
- دون إعداد عنوان خادم نموذج، تعمل الواجهة في وضع العرض التجريبي.
|
||||
@@ -59,15 +65,35 @@ python -m uvicorn app.main:app --reload --host 127.0.0.1 --port 8000
|
||||
- `POST /v1/chat/completions` يمرر الطلب إلى الخادم المحلي عند ضبط المتغيرين أعلاه.
|
||||
- يمكن التبديل في Swagger بين النموذجين بإضافة `model` إلى جسم الطلب، مثل `gemma4:e2b`.
|
||||
|
||||
الخدمة مربوطة بـ `127.0.0.1` عمدًا، فلا تعرضها على الشبكة أو الإنترنت الآن. الوكيل الحالي يمرر السؤال النصي للنموذج، وينفذ الحسابات البسيطة بأداة حساب محلية محدودة. لا يقرأ ملفات ولا ينفذ أوامر النظام.
|
||||
### قراءة رابط ويب محدد
|
||||
|
||||
يوفر الـAPI المسار `POST /v1/web/read` لقراءة صفحة عامة يرسل المستخدم رابطها، واستخراج نصها، ثم سؤال Gemma المحلية عنها. افتح `/docs`، اختر المسار، وأرسل مثلًا:
|
||||
|
||||
```json
|
||||
{
|
||||
"url": "https://example.com",
|
||||
"question": "لخّص الصفحة بجملة واحدة."
|
||||
}
|
||||
```
|
||||
|
||||
يرجع الرد عنوان الصفحة ورابط المصدر وإجابة النموذج. هذا **قراءة لرابط محدد** وليس بحثًا عامًا؛ الصفحات التي تتطلب JavaScript أو تسجيل دخول لا تُقرأ بهذه النسخة. يسمح المسار فقط بروابط HTTP/HTTPS العامة، ويرفض العناوين المحلية، ويحد حجم الصفحة المقروءة إلى 2 MB. بحث الويب المتعدد المصادر سيأتي كأداة مستقلة لاحقًا.
|
||||
|
||||
خادم التطبيق مربوط بـ `127.0.0.1`: يمكنه إجراء اتصالات صادرة إلى خدمات الإنترنت مثل Groq وقراءة المواقع العامة، لكنه غير منشور ليستقبل طلبات من أجهزة خارج هذا الكمبيوتر.
|
||||
|
||||
الخدمة مربوطة بـ `127.0.0.1` عمدًا، فلا تعرضها لاستقبال طلبات من الشبكة أو الإنترنت الآن. الوكيل يدعم الحساب وقراءة مقتطفات ملفات المشروع المحددة وقراءة رابط ويب عام يرسله المستخدم. لا يكتب ملفات ولا ينفذ أوامر النظام.
|
||||
|
||||
## واجهة Flutter
|
||||
|
||||
يوجد تطبيق Flutter متعدد المنصات في `flutter_app`، ويبدأ كواجهة محادثة عربية متصلة بهذا الـ API. عنوان الاتصال الافتراضي `http://127.0.0.1:8000`؛ التطبيق يسمح بتغييره من الإعدادات ويعرض اسم النموذج النشط من الـ API.
|
||||
يوجد تطبيق Flutter متعدد المنصات في `flutter_app`، والاسم المعروض المقترح حاليًا **Mithqal AI (مثقال AI)** بانتظار التحقق النهائي من العلامة التجارية. يضم أصل أيقونة واحدًا وإعدادًا لتوليد أيقونات Android وiOS وmacOS وWindows والويب؛ ويوجد ملف أيقونة وملف Desktop أوليان لتغليف Linux. عنوان الاتصال الافتراضي `http://127.0.0.1:8000`؛ التطبيق يسمح بتغييره من الإعدادات ويعرض اسم النموذج النشط من الـ API.
|
||||
|
||||
تعرض الواجهة إشعارًا داخل الصفحة عند اكتمال كل طلب أو فشله. على تطبيقات الهاتف يفعّل المستخدم إشعارات النظام من زر الجرس، فلا يطلب التطبيق الإذن عند الإقلاع. إعداد النظام على سطح المكتب مفعل افتراضيًا. نسخة الويب الحالية تعرض إشعار الصفحة؛ إذ إن الحزمة المثبتة لإشعارات النظام لا تدعم Web على نسخة Flutter الحالية.
|
||||
|
||||
### تطبيق Windows
|
||||
|
||||
- لتشغيل النسخة المكتبية، شغّل `start-api.ps1` أولًا، ثم افتح `flutter_app/build/windows/x64/runner/Release/flutter_app.exe` بعد بنائه.
|
||||
- يعرض شريط المحادثة قائمة النماذج المثبتة من Ollama؛ اختيار النموذج يمرر اسمه مع الطلب.
|
||||
- زر المجلد يفعّل وضع الوكيل للقراءة فقط. عند تشغيل `start-api.ps1` تكون مساحة العمل الافتراضية مجلد المشروع `SovereignAI-Starter`؛ لتغييرها عرّف `SOVEREIGNAI_WORKSPACE` قبل تشغيل الخدمة.
|
||||
- الوكيل يطابق السؤال مع ملفات النص/الكود المدعومة، يمرر مقتطفات محدودة للنموذج، ويعيد أسماء الملفات التي قرأها. الملفات المخفية، مجلدات `.git` وبيئات البناء، والملفات الكبيرة أو خارج جذر مساحة العمل مستثناة.
|
||||
- لإنشاء نسخة Release، نفّذ `flutter build windows --release` من داخل `flutter_app`.
|
||||
- التطبيق المكتبي واجهة أمامية؛ يحتاج Ollama وFastAPI شغّالين على الجهاز. النموذج لا يُضمّن داخل ملف التطبيق التنفيذي، ويظل نسخ الصوت للنص عبر Groq Whisper عند استخدام الميكروفون.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user