كيف بُني ClawAI
ثماني عشرة خدمة مستقلة قابلة للنشر، تمتلك كل منها قاعدة بياناتها الخاصة، ومنسّقة عبر بنية موجّهة بالأحداث. تُبثّ الردود أثناء توليدها، وكل طبقة محمية على حدة.
آخر مراجعة 2026-07-25
كيف بُني ClawAI
ClawAI عبارة عن ثماني عشرة خدمة قابلة للنشر بشكل مستقل خلف وكيل عكسي واحد. المصادقة، والدردشة، والتوجيه، والموصلات، والذاكرة، والملفات، والبحث، ومساحة العمل، وتوليد الصور، وتصدير المستندات، والفوترة، والتدقيق، والتسجيل، تعمل كل منها كعملية مستقلة بقاعدة بياناتها الخاصة. يصل تطبيق الويب إلى جميعها عبر سطح واجهة برمجة تطبيقات واحد.
السبب هو الاحتواء. لا يمكن لمزوّد بطيء، أو تحويل ملف عالق، أو تصدير فاشل أن يُسقط الدردشة معه، لأنها لا تشترك في أي عملية أو تجمع اتصالات أو قاعدة بيانات. تُنشر كل خدمة، وتُوسَّع، ويُتراجع عنها بشكل مستقل.
- 18
- خدمات قابلة للنشر بشكل مستقل
- واحدة لكل خدمة
- لا قاعدة بيانات مشتركة أبدًا
- HTTP + أحداث
- استدعاءات متزامنة إضافة إلى ناقل أحداث غير متزامن
- نقطة دخول واحدة
- وكيل عكسي واحد أمام كل شيء
الخدمات
ليست كل خدمة مثيرة للاهتمام من الخارج. هذه هي الخدمات التي يميل طلب واحد إلى المرور بها، تقريبًا بالترتيب الذي يمر به.
- المصادقةPostgreSQL
- الحسابات، والجلسات، وإصدار الرموز وتدوير التحديث، والأدوار ومجموعات الصلاحيات.
- الدردشةPostgreSQL
- المحادثات والرسائل، وتجميع السياق، والتنفيذ المتدفق، وتنسيق تعدد النماذج.
- التوجيهPostgreSQL
- يصنّف كل رسالة، ويطبّق الوضع النشط وأي سياسات، ويسجّل القرار مع سلسلة البدائل الاحتياطية.
- الموصلاتPostgreSQL
- بيانات اعتماد المزوّدين، وكتالوجات النماذج، وأعلام القدرات، وفحوصات صحة مستمرة.
- الذاكرة والسياقPostgreSQL + pgvector
- سجلات الذاكرة، وقائمة الاقتراحات، وحزم السياق وإصداراتها، والاسترجاع الدلالي.
- الملفاتPostgreSQL
- الرفع، والفحص الأمني، واستخراج النص، والتعرف الضوئي على الحروف، والتقطيع، والاحتفاظ.
- البحثPostgreSQL
- البحث على الويب، وسحب الصفحات، وتجميع الأدلة للإجابات المزوّدة بمصادر.
- مساحة العملPostgreSQL
- اتصالات OAuth باثنتي عشرة أداة من طرف ثالث، وويب هوكس، ومزامنة مجدولة، وبحث عبر الأدوات.
- توليد الصورPostgreSQL
- طلبات الصور، ومحوّلات المزوّدين، وتقدم كل خطوة أثناء تصيير الصورة.
- توليد المستنداتPostgreSQL
- تحويل الإجابات إلى PDF وDOCX وCSV وHTML وMarkdown وTXT وJSON.
- الفوترةPostgreSQL
- الخطط، والاشتراكات، والأسعار المرقمة بإصدارات، والفواتير، وفرض الرصيد.
- التدقيقMongoDB
- السجل الثابت لمن فعل ماذا، إضافة إلى دفتر الاستخدام الذي يُشتق منه كل رقم رصيد.
- التسجيلMongoDB
- سجلات منظمة من كل خدمة ومن المتصفح، تُحفظ ضمن نافذة زمنية متجددة.
تُسمّي كل خدمة قاعدة البيانات التي تملكها. لا شيء آخر يتصل بها — أي خدمة تحتاج بيانات خدمة أخرى تطلبها عبر HTTP أو تستجيب لحدث.
قاعدة بيانات واحدة لكل خدمة
تمتلك كل خدمة قاعدة بيانات واحدة بالضبط وهي الوحيدة التي تتصل بها. لا يوجد مخطط مشترك، ولا ربط بين خدمات، ولا قاعدة بيانات تقارير تقرأ جداول الجميع بصمت.
الثمن هو أن بعض الأسئلة تتطلب استدعاءين بدلًا من ربط واحد. والفائدة هي أن تغيير مخطط في الفوترة لا يمكن أن يُعطّل الدردشة، وأن استعلامًا متفلتًا في التسجيل لا يمكن أن يستنزف تجمع الاتصالات الذي تعتمد عليه محادثتك.
- لا استعلامات عبر قواعد البيانات
- تقرأ كل خدمة جداولها الخاصة وليس جداول أي خدمة أخرى. تصل البيانات من أماكن أخرى عبر استدعاء واجهة برمجة تطبيقات أو حدث.
- المخططات خاصة
- يمكن لخدمة تغيير جداولها الخاصة دون التنسيق مع أحد، لأنه لا يعتمد أي مستهلك خارجي على شكلها.
- الترحيلات تعمل لكل خدمة
- تُرحّل كل خدمة قاعدة بياناتها الخاصة عند بدء التشغيل. لا يوجد ترحيل عام على الجميع انتظاره.
- الأعطال تبقى محلية
- قاعدة بيانات بطيئة أو غير متاحة تُضعف قدرة واحدة بدلًا من المنتج بأكمله.
دورة حياة طلب واحد
ما يحدث بين ضغط زر الإرسال وقراءة الإجابة.
تتم مصادقة الطلب
يمرره الوكيل العكسي إلى الدردشة، التي تتحقق من رمز وصولك والصلاحيات المرتبطة بدورك.
يُتحقق من الرصيد
تؤكد الفوترة أن خطتك تسمح بالنموذج الذي طلبته وأن رصيدك اليومي والشهري ما يزال يتسع.
تُخزَّن الرسالة ويُعلَن عنها
تكتب الدردشة الرسالة إلى قاعدة بياناتها الخاصة وتنشر حدثًا. التوجيه ينصت له.
يختار التوجيه نموذجًا
تُصنَّف الرسالة، ويُطبَّق الوضع النشط والسياسات، ويُستشار وضع صحة الموصلات، ويُسجَّل قرار مع سلسلة بدائل احتياطية.
يُجمَّع السياق
تطلب الدردشة من الذاكرة السجلات وعناصر الحزم ذات الصلة، ومن الملفات المقاطع ذات الصلة، ثم تدمجها في المطالبة ضمن ميزانية رموز.
يُستدعى النموذج ويُبَث
تستدعي الدردشة المزوّد وتُرسل المراحل والنص والاستدلال والمقاييس إلى متصفحك عبر أحداث الخادم المرسلة (SSE) فور وصولها.
تُحفظ النتيجة
تُكتب الإجابة وقرار توجيهها وعدد رموزها وإيصال سياقها معًا.
يُسجَّل الاستخدام والتدقيق
تقيس الفوترة التكلفة مقابل رصيدك ويسجّل التدقيق الحدث. يعمل استخراج الذاكرة هنا أيضًا.
الخطوات من 1 إلى 7 متزامنة — تنتظرها. تحدث الخطوة 8 واستخراج الذاكرة بعد ظهور الإجابة على شاشتك بالفعل، لذا لا تضيف أي تأخير على ما تختبره.
ناقل الأحداث
يُنشر العمل الذي لا يحتاج إلى الانتهاء قبل رؤيتك الإجابة كحدث على تبادل موضوعي في RabbitMQ، وتتولاه أي خدمة معنية به. تعمل قياسات الاستخدام وسجلات التدقيق واستخراج الذاكرة جميعها بهذه الطريقة.
الأحداث هي السبب في أن الدردشة لا تحتاج لمعرفة وجود التدقيق. تعلن الدردشة ما حدث؛ وكل ما يحتاج إلى التفاعل يشترك. لا تتطلب إضافة مستهلك جديد أي تغيير في الناشر.
- التبادل الموضوعي
- يسمّي الناشرون ما حدث، وليس من يجب أن يسمعه. يرتبط المستهلكون بالأنماط التي تهمهم.
- إعادة المحاولة مع تأخير تصاعدي
- تُعاد محاولة المعالج الفاشل ثلاث مرات مع تأخير متزايد، ما يمتص الأعطال العابرة التي تشكّل معظمها.
- قائمة الرسائل الميتة
- تذهب الرسالة التي ما زالت تفشل بعد إعادة محاولاتها إلى قائمة رسائل ميتة بدلًا من إسقاطها أو حجب كل ما خلفها.
- معالجات متجانسة
- تتحمل المعالجات وصول الحدث نفسه مرتين، لأن ضمان التسليم مرة واحدة على الأقل يعني أن هذا سيحدث في نهاية المطاف.
- كل شيء قابل للتدقيق
- يشترك التدقيق في كل حدث نطاق، بحيث لا يعتمد سجل ما حدث على تذكر كل خدمة كتابته.
البث
تصل الإجابات عبر أحداث الخادم المرسلة (SSE)، لا عبر الاستطلاع الدوري. يُفتح الاتصال عند إرسالك رسالة ويحمل كل شيء حتى تنتهي الإجابة أو تُلغى.
التخزين المؤقت معطّل من طرف إلى طرف — عند الوكيل وفي كل خدمة على المسار — لأن البث المخزَّن مؤقتًا ليس سوى استجابة بطيئة بخطوات إضافية.
تحمل القناة نفسها توليد النص، وتقدم توليد الصور، والبحث طويل الأمد، بحيث تملك الواجهة طريقة واحدة لعرض العمل الجاري بدلًا من ثلاث.
- تغييرات المراحل
- قيد الانتظار، التوجيه، تجميع السياق، استدعاء النموذج، الإنهاء — بحيث يكون للتوقف دائمًا سبب مرئي.
- فروقات المحتوى
- نص الإجابة كما ينتجه النموذج، رمزًا برمز.
- فروقات الاستدلال
- بالنسبة للنماذج التي تعرض تفكيرها، يُسلَّم بث الاستدلال منفصلًا عن الإجابة ويُعرض منفصلًا أيضًا.
- نبضات المقاييس
- الرموز حتى الآن، والرموز في الثانية، والوقت حتى أول رمز، وأين ذهب الوقت فعليًا — تحميل النموذج، أو تقييم المطالبة، أو التوليد.
- الأحداث الختامية
- ملخص استخدام نهائي، أو خطأ صريح، أو إلغاء. لا يتوقف البث أبدًا من دون سبب.
ما الذي يُخزَّن وأين
أربعة أنواع من التخزين، يُستخدم كل منها فيما يجيده.
- PostgreSQL
- نظام السجل الرسمي للحسابات، والمحادثات، وقرارات التوجيه، والذاكرة، والملفات، والاتصالات، والفوترة — قاعدة بيانات واحدة لكل خدمة.
- pgvector
- بحث تشابه متجهي داخل PostgreSQL، يُستخدم لاسترجاع الذكريات وعناصر حزم السياق ذات الصلة دون تشغيل قاعدة بيانات متجهية منفصلة.
- MongoDB
- أحداث التدقيق، ودفتر الاستخدام، والسجلات المنظمة: بيانات عالية الحجم للإلحاق فقط ضمن نافذة احتفاظ متجددة.
- Redis
- التخزين المؤقت، وعدادات تحديد المعدل، وحالة تنسيق قصيرة الأجل. لا شيء مهم يُخزَّن هنا فقط.
آليات الأمان
ضوابط ملموسة موجودة في المنتج. لا ادعاءات شهادات — انظر الملاحظة في النهاية.
- رموز الوصول والتحديث
- رموز وصول قصيرة الأجل مع تدوير التحديث. إعادة استخدام رمز تم تدويره يُبطل الجلسة.
- تجزئة كلمات المرور
- Argon2 مع أملاح خاصة لكل مستخدم. لا تُخزَّن كلمات المرور ولا تُسجَّل أبدًا بأي صيغة قابلة للاسترجاع.
- التحكم بالوصول القائم على الأدوار
- تحمل الأدوار مجموعات صلاحيات صريحة، تفرضها حراس على كل نقطة نهاية في كل خدمة — وليس فقط في الواجهة.
- بيانات اعتماد مشفّرة
- تُشفَّر أسرار المزوّدين والموصلات أثناء التخزين بخوارزمية AES-256-GCM ولا تُعاد أبدًا عبر أي واجهة برمجة تطبيقات.
- التحقق من صحة المخططات
- يُتحقق من صحة كل نص طلب مقابل مخطط Zod بحدود صريحة للطول والحجم قبل وصوله إلى أي منطق.
- تحديد المعدل
- تقييد لكل حساب على كل خدمة، بحيث لا يستطيع عميل واحد استنزاف الطاقة الاستيعابية لبقية الجميع.
- ترويسات الأمان
- سياسة أمان محتوى صارمة مع قيم عشوائية لكل طلب، وHSTS، وترويسات التحصين القياسية على كل استجابة.
- TLS في كل مكان
- TLS من المتصفح إلى الحافة ومرة أخرى على كل قفزة داخلية، مع التحقق من الشهادات بين الخدمات.
- حجب السجلات
- تُزال الرموز، وكلمات المرور، ومفاتيح API، وترويسات التفويض قبل كتابة أي شيء في سجل.
لا يحمل ClawAI أي شهادات أمان من طرف ثالث اليوم — لا SOC 2، ولا ISO 27001، ولا HIPAA. نصف الآليات أعلاه بدلًا من الإيحاء بضمانات لم نحصل عليها. على المؤسسات ذات المتطلبات الرسمية إثارتها معنا حتى يمكن تحديد نطاقها كجزء من تعاقد.
قابلية الرصد
تصدر كل خدمة الإشارات نفسها بالشكل نفسه، وتصل جميعها إلى مكان قابل للاستعلام. لا ينبغي على المشغّل الذي يجيب عن سؤال «ماذا حدث لهذا الطلب» أن يفتح ثمانية عشر ملف سجل.
- السجلات المنظمة
- سجلات JSON من كل خدمة ومن المتصفح، تُنقل عبر ناقل الأحداث وتُحفظ ضمن نافذة زمنية متجددة.
- ربط الطلبات
- يُولَّد معرّف طلب في المتصفح ويُحمل عبر كل قفزة خدمة، بحيث يعيد معرّف واحد بناء المسار كاملًا.
- أحداث التدقيق
- سجل منفصل وثابت للإجراءات ذات الصلة بالأمان والأعمال، محفوظ بمعزل عن سجلات التشغيل.
- دفتر الاستخدام
- يُكتب كل استدعاء مقيس كقيد في الدفتر. تُشتق أرقام الرصيد من الدفتر، لا من عداد قد ينحرف.
- تجميع الصحة
- تستطلع خدمة مخصصة كل خدمة أخرى وتُبلغ عن رؤية موحدة لما يعمل.
عندما يفشل شيء ما
يتعرض مزوّدو النماذج لانقطاعات وحدود معدل وأيام بطيئة. بُنيت المنصة لامتصاص ذلك بدلًا من تمريره إليك كمؤشر تحميل لا ينتهي أبدًا.
- سلاسل البدائل الاحتياطية
- يحمل كل قرار توجيه قائمة مرتبة من البدائل. وإذا فشل النموذج المختار، تُجرَّب التالية تلقائيًا ويُسجَّل الاستبدال.
- التجنب القائم على الصحة
- تُفحص صحة الموصلات باستمرار، ويتخطى الموجّه المزوّد الذي يفشل حتى يتعافى.
- إعادة محاولة آمنة
- تتحمل معالجات الأحداث التسليم المكرر، بحيث تصحح إعادة المحاولة الفشل بدلًا من خصم رصيدك مرتين.
- الأخطاء مرئية
- عندما تفشل كل الخيارات، يُكتب خطأ صريح في المحادثة ويُدفع عبر البث. لا يوجد فشل صامت يترك الواجهة في الانتظار.
- نطاق التأثير
- العمليات المنفصلة وقواعد البيانات المنفصلة تعني أن الفشل يُضعف قدرة واحدة فقط. تعطل توليد الصور لا يوقفك عن الدردشة.
البنية نفسها، داخل شبكتك
كل ما في هذه الصفحة يصف الخدمة المستضافة، لكن البنية غير مرتبطة بها. يمكن نشر الخدمات الثماني عشرة نفسها، وناقل الأحداث نفسه، ونموذج البيانات نفسه داخل شبكة المؤسسة الخاصة.
في هذا التكوين، يُستبدل مزوّدو النماذج الخارجيون بنماذج مفتوحة الأوزان تُشغَّل على معالجات GPU الخاصة بك، بحيث لا تغادر أي مطالبة أو مستند أو محادثة بنيتك التحتية. إنه تعاقد محدد النطاق وليس خطة يمكنك شراؤها — نحدد حجمه مع فريقك.
شاهده يعمل
أسرع طريقة للحكم على بنية معمارية هي استخدام ما تنتجه. يستغرق إعداد الخطة المجانية دقيقة واحدة.