الاثنين، 22 يونيو 2026

تطبيقات Datasette: استضافة تطبيقات HTML مخصصة داخل Datasette

أطلقنا اليوم إضافة جديدة لـ Datasette، وهي datasette-apps، وذلك من خلال منشور إعلان الإطلاق على مدونة مشروع Datasette. يُقدّم المنشور شرحًا وافيًا، ولكن سأشرح هنا بإسهابٍ أكبر سببًا وجيهًا لذلك.
باختصار: تطبيقات Datasette هي تطبيقات HTML وJavaScript مستقلة تعمل ضمن بيئة معزولة (sandbox) مُقيدة بإحكام، مُستضافة على تطبيق Datasette الخاص بك. يمكنها استخدام JavaScript لتنفيذ استعلامات SQL للقراءة فقط على البيانات في Datasette، كما يمكنها تنفيذ استعلامات الكتابة أيضًا إذا قمتَ بتهيئتها ببعض الاستعلامات المُخزّنة.
يُسمح للتطبيقات بتشغيل جافا سكريبت وعرض صفحات HTML وCSS. إلا أن صلاحيات الوصول إليها محدودة، حيث يمنعها إطار <iframe sandbox="allow-scripts allow-forms"> الذي تعمل ضمنه من الوصول إلى ملفات تعريف الارتباط أو التخزين المحلي، كما أنها مزودة برأس CSP مُضمّن (بفضل هذا البحث) يمنعها من إرسال طلبات HTTP إلى خوادم خارجية، مما يحول دون تسريب البيانات الخاصة من قِبل التطبيقات الخبيثة أو التي بها ثغرات.
بدأت تطبيقات Datasette كمحاولة مني لبناء آلية Claude Artifacts لوكيل Datasette، لكنني سرعان ما أدركت أن نمط الحماية المعزولة (sandboxed) يتجاوز بكثير مجرد إضافة تطبيقات مخصصة إلى واجهة محادثة، فطورته ليصبح مفهومًا رئيسيًا ضمن منظومة Datasette.

ليست هناك تعليقات:

إرسال تعليق

القوائم المترابطة المتضمنة (Intrusive linked lists)

القوائم المتصلة المتداخلة (Intrusive linked lists) هي نوع من القوائم المتصلة التي تكون فيها روابط الربط مُضمَّنةً داخل البنية نفسها التي يجر...