انتقل إلى المحتوى
العودة إلى النظرة العامة

البنية

كيف تعمل خدمتك

لمهندسي الأنظمة والمطوّرين وفرق الأمن الذين يقيّمون خدمتك: أين تقع، وكيف تصل إلى أنظمتك، والضوابط التي تبقى قائمة حين ينفّذ الوكيل. كل ما هنا يصف المنتج كما هو اليوم.

أين تقع خدمتك

خدمتك خدمة واحدة لها قاعدة بيانات PostgreSQL خاصة بحالة المنصة. تقع بين الأشخاص والوكلاء الذين يسألون والأنظمة التي تجيب. وتبقى بيانات عملك في أنظمتك، ويُوصَل إليها مباشرة عبر المحوّلات.

الأشخاص

تطبيقات الذكاء الاصطناعي

الوكلاء

خدمتك
  • تشغيل الوكلاء
  • سجل الأدوات والسياسات
  • السياق والدلالات
  • الهوية والأدوار
  • المقترحات والموافقات
  • النشاط والتدقيق

محوّلات قواعد البيانات

عميل MCP

مزوّدو النماذج

أنظمتك

إدارة العملاء · تخطيط الموارد · المالية · قواعد البيانات الداخلية · تطبيقات الأعمال

النماذج اللغوية

كيف يمرّ الطلب

  1. يسأل شخص

    بكلماته، بالعربية أو الإنجليزية.

  2. تتعرّف خدمتك على السائل

    مساحة عمله، ودوره، والأدوات التي يسمح بها هذا الدور.

  3. يقرأ الوكيل

    عبر المحوّلات، للقراءة فقط، باستعلامات مُحلَّلة ومهلة زمنية وحدّ لعدد الصفوف.

  4. تتحوّل التغييرات إلى مقترحات

    تُحفظ ببصمة ومدة صلاحية بانتظار الموافقة. لم يتغيّر شيء بعد.

  5. يُنفَّذ الموافق عليه مرة واحدة

    يُعاد التحقق من الشروط، ويُطبَّق التغيير، ويُسجَّل كل شيء.

لماذا هذا صعب

ربط نموذج بقاعدة بيانات مسألة ساعات. أما هذه فهي المشكلات التي تظهر حين تعمل البرمجيات داخل أنظمة حقيقية، نيابةً عن أشخاص حقيقيين.

  1. الهوية

    بصلاحية مَن يعمل الوكيل؟ ينبغي أن تكون صلاحية الشخص نفسه في حدود دوره، لا حسابًا مشتركًا بصلاحيات مطلقة.

  2. الصلاحيات

    القراءة ليست كالكتابة. لكل أداة مستوى مخاطر وقواعد خاصة بها.

  3. السياق

    يحتاج النموذج إلى فهم معنى البيانات: أي الحقول حسّاسة، وأي الجداول مهمة، وماذا يعني «عميل نشط» في مؤسستك.

  4. الموافقات

    التغييرات المؤثرة تحتاج إلى شخص يرى بدقة ما سيحدث قبل أن يحدث.

  5. البروتوكولات

    PostgreSQL وواجهات REST وMCP ونظام تخطيط الموارد القديم. يحتاج الوكلاء إلى مدخل واحد محكوم.

  6. اكتشاف الأدوات

    تظهر أدوات جديدة باستمرار، ولا ينبغي أن تصبح أي أداة قابلة للاستدعاء لمجرد وجودها.

  7. قابلية المراقبة

    حين يحدث خطأ، تحتاج إلى كل خطوة: أي أداة، وأي مصدر، وأي مُدخلات.

  8. دورة الحياة

    تتغيّر المخططات والأدوات، ولا ينبغي أن تنتقل قرارات اتُّخذت على نسخة الأمس بصمت إلى اليوم.

ربط الأنظمة

يمكن لمساحة العمل أن تربط عدة أنظمة. يُوصَل إلى كلٍّ منها عبر محوّل قاعدة بيانات أو خادم MCP أو مزوّد نماذج، وتمر كل الاتصالات عبر الضوابط نفسها.

محوّلات قواعد البيانات
PostgreSQL حاليًا، عبر محوّل يستخدم بيانات اعتماد منفصلة للقراءة وللكتابة بأدنى الصلاحيات. تُسجَّل المحوّلات حسب نوعها، فتنضم أنواع جديدة من الأنظمة خلف العقد نفسه.
استكشاف المخطط
تقرأ خدمتك بنية المصدر (الجداول والأعمدة والمفاتيح والعلاقات) في فهرس بإصدارات متتابعة وبصمة مميّزة. ولا تُنفَّذ التغييرات إلا على إصدار الفهرس الذي خُطِّطت عليه.
الطبقة الدلالية
تضيف الفرق تسميات وأوصافًا وأسماء بديلة للجداول والحقول، وتحدّد الحقول القابلة للكتابة.
تصنيف الحقول
يمكن تصنيف كل حقل: عام، أو داخلي، أو شخصي، أو حسّاس، أو سرّي، ويمكن إخفاؤه عن النموذج كليًا.
خوادم MCP
تُربط عبر حزمة MCP الرسمية. تأتي قوائم الأدوات من خطوة اكتشاف صريحة، لا من اتصال شبكي مع كل سؤال. وتبدأ الأدوات المكتشفة غير مصنّفة ومحظورة. ولا يُعتمد أبدًا على تلميحات الخادم مثل readOnlyHint، وأي تغيير في مخطط الأداة يُلغي تصنيفها.
مزوّدو النماذج
أي نموذج متوافق مع OpenAI: واجهة تجارية، أو مزوّد إقليمي، أو نموذج تستضيفه بنفسك. ويمر كل استدعاء عبر حارس الاتصالات الخارجية.

الأدوات والسياسات

لا يستدعي الوكيل أي نظام مباشرة. إنه يستدعي أدوات، ولكل أداة مستوى مخاطر معلن. وتُقيَّم السياسة على الخادم، مغلقةً افتراضيًا، في كل استدعاء على حدة.

مستوى المخاطرمثالما الذي يحدث
قراءةالبحث عن حسابات، أو وصف جدول، أو تنفيذ استعلاميُنفَّذ فورًا
كتابةإنشاء مهمة، أو تحديث مرحلة صفقةيصبح مقترحًا يجب أن يوافق عليه شخص
أثر خارجيأداة MCP ترسل شيئًا أو تطلق إجراءًيصبح مقترحًا يجب أن يوافق عليه شخص
إتلافيةحذف أي شيءغير متاحة للوكيل أبدًا
غير مصنّفةأداة MCP اكتُشفت حديثًامرفوضة حتى يصنّفها مسؤول
الأدوار الافتراضية
أدوات القراءة متاحة لكل الأدوار. أما الأدوات التي تغيّر البيانات فمتاحة للأعضاء فأعلى، ولا تُتاح للمشاهدين أبدًا. ويمكن لكل مساحة عمل تعطيل أداة أو تضييق أدوارها.
عائلات الأدوات
لكل مصدر مرتبط: الوصف، والاستعلام، واقتراح الإضافة، واقتراح التحديث. وأدوات مصمَّمة لنموذج إدارة العملاء (تسع للقراءة، وخمس لتغيير البيانات). وأدوات MCP المصنّفة. وأدوات مدمجة للحساب، وفروق التواريخ، وتحويل العملات.

قراءة البيانات

القراءة محمية بطبقات متعددة، فلا يستطيع خطأ واحد أن يحوّل القراءة إلى كتابة.

محلّل PostgreSQL حقيقي
يُحلَّل استعلام SQL الذي يكتبه النموذج بمكتبة libpg-query، وهي محلّل PostgreSQL نفسه مُصرَّفًا إلى WebAssembly، فيُفحص الاستعلام تمامًا كما ستفهمه قاعدة البيانات.
قواعد مغلقة افتراضيًا
أمر SELECT واحد بسيط فقط. لا تعابير CTE تعدّل البيانات، ولا SELECT … INTO، ولا أوامر قفل. يجب أن تكون الدوال ضمن قائمة مسموحة من الدوال المدمجة الخالية من الآثار الجانبية. ويجب أن ينتمي كل جدول إلى فهرس المصدر، وهذا يمنع أيضًا استكشاف pg_catalog وinformation_schema.
تنفيذ محدود
تُنفَّذ كل قراءة داخل معاملة REPEATABLE READ للقراءة فقط، بمهلة زمنية للاستعلام (10 ثوانٍ افتراضيًا) وحدّ لعدد الصفوف يفرضه مؤشر (500 صف افتراضيًا)، وتُلغى المعاملة دائمًا في النهاية.
بيانات اعتماد مستقلة للقراءة
للقراءة بيانات اعتماد خاصة بها. ونوصي، كما يفعل العرض التجريبي، بدور في قاعدة البيانات يقتصر على القراءة على مستوى قاعدة البيانات نفسها.

تغيير البيانات

الأدوات التي تغيّر البيانات لا تستطيع إلا الاقتراح. والتنفيذ خطوة منفصلة يطلقها شخص.

مقترحات، لا إجراءات
تصوغ الأداة ذات الأثر التغيير (العملية، والسجل، والحقول، والقيم)، وتحفظه خدمتك مع القيم الحالية للحقول التي يمسّها. والصياغة وحدها لا تغيّر شيئًا.
السلامة والصلاحية
يُختم كل مقترح ببصمة HMAC على محتواه المعياري، وتنتهي صلاحيته (بعد 15 دقيقة افتراضيًا). ويجب أن تقدّم الموافقة معرّف المقترح والبصمة التي عُرضت على الشخص.
من يوافق
يوافق الأعضاء على مقترحاتهم فقط، ويوافق المديرون فأعلى على مقترحات أي شخص. وليس للوكيل أي طريقة للموافقة.
مرة واحدة تمامًا
تحجز الموافقة المقترح بتحديث مشروط من «قيد الانتظار» إلى «قيد التنفيذ»، فلا يمكن للموافقات المتزامنة أو المكررة أن تنفّذه مرتين.
إعادة تحقق عند التنفيذ
داخل معاملة، يُقفل الصف المستهدف ويُقارَن بالقيم المسجّلة وقت الاقتراح. وإن تغيّر أي شيء، أو تغيّر مخطط المصدر، يتوقف التنفيذ. ويجب أن يمسّ كل تغيير صفًا واحدًا بالضبط.
دفعات ذرّية
يُنفَّذ المقترح متعدد السجلات (حتى 200 تغيير) في معاملة واحدة: إما كله أو لا شيء.
لا حذف
لا توجد عملية حذف في أي مكان من مسار الوكيل. تُحدَّث السجلات أو تُؤرشف، ولا تحتاج بيانات اعتماد الكتابة إلى صلاحية DELETE أو TRUNCATE.

ما يراه النموذج، وكم يكلّف

يعمل النموذج عبر الأدوات، فلا يرى إلا ما يحتاجه السؤال. والتصميم نفسه يُبقي الاستخدام صغيرًا ويمكن توقّعه.

لا بيانات في التعليمات
تحتوي تعليمات النظام على اسم مساحة العمل، والتاريخ، ودور المستخدم، وقائمة المصادر المرتبطة، والقواعد. ولا تحتوي على أي سجل من سجلات العملاء.
نتائج أدوات مُرشَّحة
قبل أن تصل النتيجة إلى النموذج، تُحذف الحقول المخفية والسرّية، وتُحجب الحقول الشخصية والحسّاسة ما لم تسمح بها مساحة العمل، ويُنقَّح كل ما يشبه بيانات الاعتماد. وتحمل النتائج مصدرها.
حدود صارمة لكل سؤال
ستة استدعاءات للنموذج كحد أقصى لكل سؤال، وكل نتيجة أداة محدودة بـ 12,000 حرف، وآخر 30 رسالة من المحادثة فقط كسياق. ولا يُعاد إرسال مخرجات الأدوات السابقة.
لا طبقة استرجاع، ولا وكلاء في الخلفية
ليس في خدمتك تضمينات ولا مخزن متجهات، ولا يعمل أي وكيل بين الأسئلة. وتُحسب تنبيهات مساحة العمل بقواعد، لا بنموذج.

الهوية والوصول

تسجيل الدخول
بالبريد الإلكتروني وكلمة المرور (12 حرفًا على الأقل) عبر Better Auth. تدوم الجلسات سبعة أيام، ويسري إلغاؤها فورًا.
جلسات المتصفح
ملفات تعريف ارتباط HttpOnly وSecure وSameSite=Lax. ولا رموز مخزّنة في المتصفح.
أدوار لكل مساحة عمل
مالك ومسؤول ومدير وعضو ومشاهد، يُتحقَّق منها على الخادم في كل طلب. لا دور عام، ولا ترقية تلقائية.
عزل مساحات العمل
كل استعلام على بيانات مساحة العمل مُرشَّح بحسب مساحة العمل. ولا يمكن تمييز سجلات مساحة عمل أخرى عن السجلات غير الموجودة.
تزوير الطلبات
يجب أن تأتي الطلبات التي تغيّر الحالة من مصدر موثوق وأن تحمل جسمًا بصيغة JSON.
حدود المعدل
محاولات تسجيل الدخول والنماذج العامة محدودة لكل عنوان IP، ورسائل المحادثة والموافقات لكل مستخدم.

بيانات الاعتماد والاتصالات الخارجية

بيانات اعتماد مشفّرة
كلمات مرور قواعد البيانات ومفاتيح الواجهات ورموز MCP مشفّرة بـ AES-256-GCM. ولا تحمل صفوف الإعدادات إلا مرجعًا إليها.
تُكتب ولا تُقرأ
يمكن تعيين بيانات الاعتماد عبر الواجهة البرمجية ولا يمكن قراءتها منها أبدًا، ولا تصل إلى أي نموذج أو سجل أو سجل تدقيق.
حارس الاتصالات الخارجية
يُفحص كل اتصال بعنوان قابل للتهيئة (مزوّد نماذج أو خادم MCP أو مضيف قاعدة بيانات): HTTPS فقط لنقاط الويب، ويُرفض أي مضيف يشير إلى عنوان خاص أو محلي أو عنوان بيانات السحابة الوصفية، ما لم يُدرجه مشغّل صراحةً في قائمة السماح.
لا إعادة ربط عبر DNS
العنوان الذي جرى التحقق منه هو نفسه الذي يُتصل به فعلًا. ويُعاد التحقق من كل إعادة توجيه (ثلاث كحد أقصى)، وتُحدّ الاستجابات بـ 2 ميغابايت و30 ثانية.
قائمة سماح للاتصالات الخارجية
يمكن اختياريًا قصر الاتصالات الخارجية على قائمة صريحة من المضيفين.

التدقيق وقابلية المراقبة

سجل تدقيق للإضافة فقط
تُسجَّل المقترحات والموافقات والتنفيذات والرفض وتغييرات العضوية والإعدادات في جدول تدقيق يُبقيه مشغّل في قاعدة البيانات للإضافة فقط. وتحمل القيود معرّفات وأسماء حقول، ولا تحمل سجلات كاملة ولا أسرارًا أبدًا.
مسار تشغيل الوكيل
تُسجّل كل إجابة خطواتها: الأداة، وقرار السياسة، والمدة، والمُدخلات، والمصدر الذي جاءت منه البيانات.
سجل النشاط
خط زمني واحد للتعديلات البشرية وتشغيلات الوكلاء والموافقات وأحداث النظام.
صحة المصادر
تسجّل اختبارات الاتصال حالة كل مصدر وآخر خطأ فيه.

النشر

مستويان منفصلان
تعيش حالة خدمتك نفسها (مساحات العمل والمستخدمون والسياسات والمقترحات والتدقيق) في قاعدة بيانات PostgreSQL الخاصة بها. أما بيانات عملك فتبقى في أنظمتك ويُستعلم عنها في مكانها، ولا تُنسخ بالجملة أبدًا. ويحتفظ سجل المحادثات بالإجابات التي عُرضت.
حاوية قياسية
حاوية واحدة للواجهة البرمجية مع PostgreSQL، دون ارتباط بمزوّد سحابي بعينه، فيمكن تشغيلها حيث تقتضي سياساتك.
ترحيلات صريحة
ترحيلات المخطط خطوة من خطوات الإصدار، ولا تُشغَّل أبدًا عند بدء التشغيل.
نموذجك أنت
وجّهها إلى مزوّد النماذج الذي تختاره، بما في ذلك نموذج تستضيفه بنفسك.