عن المشروع

Design Oracle هي أداة مرخصة بموجب رخصة MIT لتحليل المواقع الإلكترونية واستخراج نظام التصميم الكامل الخاص بها. وهي تدمج بين واجهة Next.js، وخلفية FastAPI، وعامل ARQ، وRedis، وSQLite، ومسار تحليل Playwright/Chromium. تشمل القدرات الأساسية التقاط الصفحة كاملة باستخدام Playwright، وتصنيف الحمض النووي للتصميم (design DNA) باستخدام درجة بصرية واستدلالات، واكتشاف المكونات مثل hero وpricing وnav وFAQ مع تحديد مربعات الإحاطة، ومتابعة التقدم المباشر عبر SSE بالإضافة إلى Redis pub/sub، والتصدير كإعدادات Tailwind v4، ومكونات React JSX، ورموز تصميم JSON، وتقرير Markdown بصيغة DESIGN.md. كما توفر أدوات التحليل عبر MCP لسير عمل الذكاء الاصطناعي. بالنسبة للإعداد، يوصى باستخدام Docker Compose: يصف المستودع نسخ .env.example إلى .env وتشغيل docker compose up --build -d، ثم فتح http://localhost:3000. يتطلب خيار التشغيل المحلي عبر start.sh وجود Python 3.12+ وNode.js 20+ وRedis 7+، ويقوم بتشغيل البيئة الافتراضية، وPlaywright Chromium، وRedis، وعامل ARQ، وNext.js على المنفذ 3000، وFastAPI على المنفذ 5000. تتضمن واجهة برمجة التطبيقات (API) نقاط نهاية للصحة (health)، والتحليل (analyze)، والحالة (status)، والنتيجة (result)، وأحداث SSE، ولقطة الشاشة (screenshot)، والحذف (delete)، وقائمة التصاميم، والتصدير لـ Tailwind والمكونات وdesign.md والرموز. يتم كتابة كل تحليل في analyses/{id}/ مع ملفات screenshot.png وscreenshot-overlay.png وresult.json وDESIGN.md وtailwind.config.js وcomponents.jsx وdesign-tokens.json. يتوفر خادم MCP عبر HTTP SSE على http://localhost:5000/mcp أو بشكل مستقل في وضع stdio. تقوم واجهة سطر أوامر uvx خفيفة الوزن، design-oracle-mcp، باستدعاء الخلفية عبر HTTP دون الحاجة إلى Playwright/Chromium. تم توثيق مقتطفات الأدوات لـ opencode وCursor وClaude Code. يمكن لسكربت Cloudflare Tunnel، وهو start-public.sh، عرض التطبيق عبر رابط HTTPS عام مؤقت. القيود المعروفة: يستخدم التحليل حالياً نافذة عرض واحدة بمقاس 1440x900؛ قد تحظر المواقع المحمية ضد البوتات Playwright، مع وجود وضع STEALTH_MODE اختياري للحمايات الأساسية والمتوسطة، رغم أن الحمايات المؤسسية قد تظل تتطلب CAPTCHA أو بروكسيات مدفوعة؛ يعتمد اكتشاف المكونات على الاستدلال وليس على تعلم الآلة أو الرؤية الحاسوبية؛ وتخزين SQLite مناسب للاستخدام المحلي أو المستخدم الواحد، وليس للنشر متعدد المستأجرين.