مفتوح المصدرAGPL-3.0كل سطر فيه مكشوف للقراءة.
تطبيق iOS وAndroid والويب كاملًا، برخصة AGPL-3.0-or-later: دون حساب، ودون اشتراك، ودون أي شيء يرسل تقارير إلينا. الشيفرة كلها متاحة للقراءة والتعديل والاستضافة الذاتية.
$ git clone https://github.com/oriveo/oriveo.git $ cd oriveo
# Web · Node 22.22+ $ cd web && npm install $ npm run dev:app # localhost:3001
# iOS · Xcode 26, iOS 18+ $ open ios/Oriveo/Oriveo.xcodeproj
# Android · JDK 21 + Android SDK $ cd android && ./gradlew :app:assembleDebug
لا يتضمن المستودع أي ملفات مبنية مسبقًا، فلا APK ولا ملف ipa؛ الإصدار المجتمعي شيفرة مصدرية تُبنى ذاتيًا.
محتويات المستودع
iOS · SwiftUI
واجهة SwiftUI مع عرض للمحادثة مبني بـ UIKit وتخزين عبر GRDB. يكفي فتح المشروع في Xcode 26 واختيار فريقك في Signing ليعمل على هاتفك.
Android · Compose
Jetpack Compose وRoom وKoin وKtor وOkHttp. مع JDK 21 وAndroid SDK، يكفي أمر assembleDebug واحد لبناء نسخة.
Web · Next.js
Next.js App Router وReact وZustand وTypeScript. وهو الجزء الوحيد في المشروع الذي يعمل بخادم، ولا يخزّن المفاتيح ولا الرسائل.
macOS · قيد التطوير
تطبيق macOS الأصلي قيد التطوير وسيُضاف إلى هذا المجلد. أما طبقة الاتصال (wire) بلغة Swift التي يقوم عليها فمكتوبة بالفعل وتخضع للاختبار.
حين ينفّذ ثلاثة تطبيقات «طريقة استدعاء المزوّد» كلٌّ على حدة، يتباعد سلوكها حتمًا. لذلك يدوّن المجلد shared/ هذا السلوك في صورة بيانات: capabilityrecipe يحدد طريقة بناء الطلب، وmodel-contracts يحدد ما يحق للتطبيق فعله، وtest-fixtures استجابات حقيقية مسجّلة، وOriveoProviderKit نواة الاتصال بلغة Swift 6.1. وتُختبر التطبيقات الثلاثة جميعها مقابل ملفات JSON نفسها.
شيفرة واحدة، وطريقتان لتشغيلها
التطبيقات الثلاثة مبنية من الشيفرة نفسها، والفرق في الحسابات والمزامنة السحابية والنماذج التي ندفع نحن تكلفتها.
| القدرة | الإصدار المجتمعي | Oriveo الرسمي |
|---|---|---|
| الشيفرة المصدرية | AGPL-3.0-or-later | إصدار تجاري |
| المحادثة بمفاتيح API الخاصة بك | نعم | نعم |
| Relay وخوادم النماذج المحلية | نعم | نعم |
| الملاحظات والمجلدات وSkills والمرفقات | نعم | نعم |
| تتبّع الإنفاق على الجهاز نفسه | نعم | نعم |
| الحساب | حساب Oriveo | |
| التخزين | على الجهاز، مع تصدير واستعادة يدويين | على جهازك افتراضيًا، والمزامنة السحابية بين الأجهزة اختيارية |
| رؤى الاستخدام (Usage Insights) وتنبيهات الميزانية | نعم | |
| نماذج تدفع Oriveo تكلفتها (Oriveo AI / Oriveo Free) | نعم | |
| التحليلات وتقارير الأعطال | نعم |
تستخدم نسخ الإصدار المجتمعي بادئة المعرّف ai.oriveo.community، فيمكن تثبيتها إلى جانب نسخة المتجر على الجهاز نفسه دون مشاركة سلسلة المفاتيح (keychain) أو البيانات المحلية.
نقاط البداية للمساهمة
العمل على issue
أي تغيير أكبر من إصلاح خطأ يبدأ بفتح issue، فالنقاش حول طريقة الحل داخل issue أقل كلفة بكثير من النقاش حولها داخل diff.
الإبلاغ الخاص عن الثغرات
المشكلات الأمنية لا تُطرح في issue عامة، بل عبر الإبلاغ الخاص عن الثغرات في GitHub، أو برسالة إلى [email protected] تتضمن كلمة SECURITY في عنوانها. ويصل الرد خلال أيام قليلة.
إضافة لغة
الواجهة متوفرة بـ 16 لغة، وكذلك ملف README. وطلبات الدمج مرحّب بها لتحسين صياغة لا تبدو طبيعية أو لإضافة لغة جديدة.
يلزم استنساخ المستودع كاملًا: فالتطبيقات الثلاثة تقرأ ملفات العقود في shared/ انطلاقًا من جذر المستودع، والاستنساخ الجزئي (shallow) لن يجتاز الاختبارات.
من يقدّمه خدمةً للآخرين، ينشر تعديلاته معه.
وهذا هو القيد المناسب تمامًا لتطبيق قد يحتفظ بمفاتيح API الخاصة بك: أيًّا كانت الجهة التي تستضيف نسخة منه، تبقى قراءة ما تفعله تلك النسخة فعلًا ممكنة. أما بناؤه واستخدامه لنفسك فلا يتأثر بشيء. وتُقبل المساهمات وفق شروط AGPL-3.0-or-later نفسها.
كل نموذج. تطبيق واحد. مفاتيحك.
البدء مجاني · دون بطاقة ائتمان · دون هامش إضافي