نظرة عامة على البرامج المصغرة
البرامج المصغرة هي تطبيقات ويب معزولة تعمل مباشرة داخل منصة AISCouncil. إنها توسع المنصة بوظائف مخصصة -- من أدوات مزامنة الأجهزة إلى منشئي الصفحات المرئية -- كل ذلك أثناء التشغيل في بيئة آمنة ومتحكم في أذوناتها.
ما هي البرامج المصغرة؟
البرنامج المصغر هو تطبيق ويب عادي بـ HTML/CSS/JS يعمل داخل iframe معزول داخل المنصة. بدلاً من الانتقال إلى موقع ويب منفصل، يطلق المستخدمون البرامج المصغرة من قسم التطبيقات في الشريط الجانبي. يستبدل التطبيق منطقة المحادثة ويمكنه الوصول إلى واجهات برمجة تطبيقات المنصة عبر SDK window.ais.
يمكن للبرامج المصغرة:
- قراءة وإرسال رسائل المحادثة للتفاعل مع نماذج الذكاء الاصطناعي
- تخزين البيانات محلياً مع تخزين معزل لكل تطبيق
- الوصول إلى إعدادات البوت لمعرفة النموذج النشط
- إظهار الإشعارات ومربعات الحوار من خلال واجهة المستخدم للمنصة
- قراءة معلومات المستخدم للتخصيص
- تسجيل الخطافات لتوسيع سلوك المنصة
كيف تعمل
+---------------------------+
| AISCouncil |
| (الصفحة المضيفة) |
| |
| +---------------------+ |
| | iframe معزل | |
| | (أصل null) | |
| | | |
| | window.ais SDK | |
| | | | |
| +---|------------------+ |
| | postMessage |
| v |
| جسر الرسائل |
| (فحص الأذونات) |
| (توزيع الطرق) |
+---------------------------+
-
حقن SDK -- عند إطلاق برنامج مصغر، تنشئ المنصة iframe معزول وتحقن SDK
window.ais(~2 كيلوبايت) كتمهيد<script>قبل كود تطبيقك. -
جسر postMessage -- كل استدعاء SDK (
ais.storage.get()،ais.chat.send()، إلخ) يرسلpostMessageإلى الصفحة المضيفة. يتحقق المضيف من أذونات التطبيق المستدعي ويوزع الطلب على وحدة المنصة المناسبة. -
الاستجابات -- يتم إرسال النتائج مرة أخرى إلى iframe عبر
postMessage، حيث يحل SDK الـ Promise المقابل.
نموذج الأمان
تعمل البرامج المصغرة في صندوق أمان صارم:
| الحماية | كيفية |
|---|---|
| أصل null | sandbox="allow-scripts allow-forms" -- لا allow-same-origin، لذا يحصل iframe على أصل null |
| لا وصول إلى DOM الأب | لا يمكن قراءة أو تعديل DOM الصفحة المضيفة، أو localStorage، أو ملفات تعريف الارتباط |
| لا وصول شبكي لأصل المضيف | لا يمكن إجراء طلبات من نفس الأصل إلى aiscouncil.net |
| واجهات برمجة تطبيقات مقيدة بالأذونات | كل طريقة SDK بعد التخزين تتطلب منح إذن صريح من المستخدم |
| عزل التخزين لكل تطبيق | مفاتيح التخزين مسبوقة بـ mp:{app-name}: -- التطبيقات لا يمكنها قراءة بيانات بعضها البعض |
| تخزين مؤقت موجه بالمحتوى | يتم جلب HTML للمدخل وتخزينه مؤقتاً وقت التثبيت، لا يتم تحميله من الشبكة عند كل إطلاق |
لا تزال البرامج المصغرة قادرة على إجراء طلبات شبكية لأصول خارجية (شبكة CDN الخاصة بها، واجهات برمجة تطبيقات الطرف الثالث، إلخ) حيث يسمح allow-scripts بـ fetch() و XMLHttpRequest. إذن network:fetch مخصص للطلبات الموسطة المستقبلية عبر المنصة، وليس لتقييد الوصول الشبكي الصادر.
مربع حوار الأذونات
عندما يثبت المستخدم برنامجاً مصغراً، يعرض مربع حوار الأذونات اسم التطبيق والوصف وقائمة الأذونات التي يطلبها. يجب على المستخدم الموافقة قبل متابعة التثبيت. التطبيقات التي تطلب storage فقط (مسموح بها دائماً) لا تزال تعرض مربع الحوار للشفافية.
المقارنة مع المنصات الأخرى
| الميزة | برامج aiscouncil المصغرة | برامج WeChat المصغرة | إضافات Chrome | PWAs |
|---|---|---|---|---|
| وقت التشغيل | iframe معزل | WebView مخصص | عالم معزول + service worker | علامة تبويب متصفح كاملة |
| الحجم الأقصى | 5 ميجابايت (HTML) / 50 ميجابايت (حزمة) | 2-20 ميجابايت | لا حد صارم | بلا حدود |
| المراجعة مطلوبة | لا (تثبيت مباشر) | نعم (إلزامية) | نعم (Chrome Web Store) | لا |
| دعم عدم الاتصال | نعم (مخزن مؤقتاً وقت التثبيت) | نعم | نعم | نعم (Service Worker) |
| واجهات برمجة التطبيقات للمنصة | SDK window.ais | API wx | API chrome | واجهات برمجة تطبيقات الويب فقط |
| نموذج الأمان | iframe بأصل null | صندوق حماية مخصص | سياسة أمان المحتوى | نفس الأصل |
| التوزيع | URL، رفع ملف، سجل | متجر WeChat فقط | Chrome Web Store | URL فقط |
إيجاد وتثبيت التطبيقات
من متجر التطبيقات
- انقر على أيقونة التطبيقات في الشريط الجانبي الأيسر (أو أيقونة شبكة التطبيقات في الرأس على الهاتف المحمول)
- تصفح قسم متجر التطبيقات في أسفل لوحة التطبيقات
- انقر تثبيت على أي بطاقة تطبيق
- راجع الأذونات في مربع الحوار وانقر سماح
عبر URL (التحميل الجانبي)
- في لوحة التطبيقات، ابحث عن قسم التحميل الجانبي
- الصق URL البيان في حقل النص
- انقر تثبيت
- راجع الأذونات ووافق
عبر رفع الملف
- في لوحة التطبيقات، انقر رفع تطبيق
- اختر ملف
.html(تطبيق ملف واحد) أو حزمة.ais(أرشيف ZIP) - راجع الأذونات ووافق
راجع التحميل الجانبي للتطبيقات للاطلاع على التفاصيل الكاملة حول جميع طرق التثبيت.
إطلاق وإغلاق التطبيقات
إطلاق: انقر على زر فتح على أي بطاقة تطبيق مثبت. يستبدل التطبيق منطقة المحادثة ويسيطر على لوحة المحتوى الرئيسية.
إغلاق: يمكن للتطبيقات إغلاق نفسها عن طريق استدعاء ais.close()، أو يمكن للمستخدم النقر على زر X في شريط عنوان التطبيقات للعودة إلى عرض المحادثة.
عند إغلاق تطبيق:
- يتم تدمير iframe وإزالة معالج الرسائل الخاص به
- يتم استعادة منطقة المحادثة
- أي حالة غير محفوظة في التطبيق تُفقد (يجب أن تستخدم التطبيقات
ais.storageللاحتفاظ بالبيانات)
التطبيقات المدمجة
تأتي المنصة مع برنامجين مصغرين مدمجين:
مزامنة الجهاز
مزامنة الملفات الشخصية، مفاتيح API، والإعدادات بين الأجهزة. تدعم ثلاث طرق نقل:
- مزامنة LAN -- اتصال مباشر بين الأجهزة على نفس الشبكة
- رمز QR -- امسح رمزاً لاقتران الأجهزة
- مرحل الإنترنت -- إشارات WebRTC عبر API للأجهزة على شبكات مختلفة
الأذونات: storage، config:read، auth:read، ui:toast، secrets:sync
منشئ التطبيقات
ابني صفحات ويب بصرياً مع توليد محتوى الذكاء الاصطناعي. اختر قالباً، حرر الأقسام باستخدام نموذج الذكاء الاصطناعي النشط، وصدّر كـ URL أو ملف HTML. انشر مباشرة إلى bcz.co مع اسم مخصص.
الأذونات: storage، chat:read، chat:write، ui:toast، auth:read، pages:publish
الخطوات التالية
- مرجع SDK -- وثائق API الكاملة لـ
window.ais - الدرس التعليمي: ابنِ تطبيقك الأول -- دليل خطوة بخطوة لإنشاء برنامج مصغر
- مرجع البيان -- وثائق المخطط لـ
manifest.json - التحميل الجانبي للتطبيقات -- تثبيت التطبيقات من عناوين URL والملفات والحزم
- النشر في السجل -- وزع تطبيقك على المجتمع