DATAFOCUS · OT FLASH · R56

دليل مستخدم وكيل OT Flash ودليل تكامل MCP

البروتوكول، التفويض، عُقد الأدوات، ودورة الاستدعاء الكاملة

بناء تطبيقات بيانات ومعرفة قابلة للتتبع باستخدام Remote MCP العام لـ OT Flash r56. يقدّم هذا الدليل OAuth، ورسائل البروتوكول، ومرجع معلمات لجميع الأدوات المعلنة، وقواعد الأدلة، والقدرات الشرطية، وإجراءات الاستعادة، إضافة إلى عملاء قابلة للتشغيل وأمثلة بيانات اصطناعية.

مطوّرو الوكلاء، مهندسو التكامل، والمسؤولون

تحتفظ العينات المرفقة بأسماء الحقول المعروضة بالصينية. لا تؤدي ترجمات لغة الواجهة ونصوص الشرح إلى تغيير أسماء الجداول الفعلية أو أسماء الأعمدة أو قيم التعداد أو أسماء الأدوات أو حقول البروتوكول.

الفصول 1

نطاق تكامل الوكيل ومعايير الإنجاز

اختيار مدخل التفويض وإتمام الاستعلام أو جمع الأدلة أو الكتابة المُتحكَّم بها وفقًا لإيصالات الخادم.

يوفّر OT Flash r56 قدرات البيانات والمعرفة ضمن نطاق الأنطولوجيا للوكلاء الخارجيين عبر Remote MCP، مع مدخل مستقل لمساحة عمل الأعمال. يجب على الوكيل أن يحدد العمل القابل للتنفيذ بناءً على tools/list الفعلية وinputSchema ونطاق OAuth وصلاحيات الموارد الحالية، ولا يجوز استنتاج أن نشرًا ما مكّن جميع الميزات الاختيارية اعتمادًا على هذا الدليل الثابت.

الشكل A1: يستخدم الوكيل الخارجي قدرات الاستعلام والمعرفة والأعمال الأصلية عبر OAuth وMCP. رسم توضيحي للعلاقات بين الواجهات.
المدخلالغرضالحدود
/mcpالأنطولوجيا، جداول البيانات، معرفة المستندات، التحليل الأصلي Search، والنمذجة المفتوحة شرطيًاتقاطع صلاحيات المستخدم الحالي مع موارد التفويض الحالية
/mcp/businessاكتشاف أنظمة الأعمال، الاستعلام، خطط الإجراءات، الحالة والتنفيذتفويض أنظمة الأعمال المستقلة وعقد النشر
صفحة تضمين وكيل الأنطولوجيااستخدام محادثة الأنطولوجيا داخل الواجهة البشريةيعتمد على حالة تسجيل دخول حقيقية، وليس مدخل تبادل MCP Token بدون تسجيل دخول

تصنيف القدرات

  • القراءة الأساسية: الأنطولوجيا والموارد، تحديد المواقع في الرسم البياني، استرداد المعرفة والنص الأصلي الكامل، تفاصيل الجداول المفوَّضة، وDoris SQL.
  • التفويض المستقل: يتطلب dfc_search وجود search:operate، ويواصل استخدام صلاحيات المستخدم والنموذج الأصلية.
  • مفتوح شرطيًا: التحليل، التقارير الدائمة، مسودات المنتجات والتطبيقات، استعلامات نماذج الأنطولوجيا، ومهام الوكيل المفوَّضة.
  • قدرات غير متاحة: يقتصر dfc_etl الخاص بـ Flash على الإبلاغ عن capabilities دون توفير تنفيذ Heavy ETL. ولا يشكل AutoML ومدخل مساحة عمل FocusCode الداخلية جزءًا من Flash API العام في هذا الدليل.

معايير الإنجاز

قراءة الحقائق تتطلب إيصال استعلام فعلي قابل للاستخدام أو إيصال نص أصلي كامل؛ توليد المرشحين يجب أن يوضح أنهم لم يُطبَّقوا بعد؛ النشر يتطلب إيصال APPLIED حقيقي؛ الإلغاء يجب أن يميز بين الطلب والتأكيد. ولا يمكن لنص الرد أو HTTP 200 أو استلام الأداة أو وصف النموذج "الاكتمال" بمفرده أن يثبت نجاح العملية التجارية.

يعتبر reference/mcp-tool-catalog.json المرفق مرجعًا معلنًا غير متصل لـ r56، ويتضمن تعريفات الميزات الشرطية وليس tools/list فورية لأي مستخدم. الكتالوج الكامل يشمل 28 أداة أساسية للأنطولوجيا، و4 توسعات شرطية للمتحكمات، و8 أدوات على جانب الأعمال، ولا يعني فتحها جميعًا افتراضيًا.

الفصول 2

الاتصال السريع واكتشاف القدرات

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

  1. احصل من المسؤول على العنوان الجذر الرسمي لـ HTTPS والأنطولوجيا أو نظام الأعمال الذي تحتاج للوصول إليه. لا تستخدم النطاقات النموذجية الواردة في الوثائق لاستدعاء أعمال حقيقية.
  2. قم بتكوين عنوان خادم MCP كـ https://flash.example.com/mcp، وتستخدم مساحة عمل الأعمال المسار /mcp/business في نفس النطاق.
  3. فعّل تسجيل الدخول والتفويض لـ OAuth وفق دعم العميل، وتحقق من الموارد وscope؛ لا تُرسل اسم المستخدم وكلمة المرور إلى MCP.
  4. استخدم اكتشاف أو تهيئة البروتوكول المناسب لعصره، ثم اقرأ tools/list وأوصاف الموارد.
  5. نفّذ طلب قراءة صغيرًا للتحقق من النتائج المهيكلة والأخطاء قبل تنفيذ هدف المستخدم.

مقطع تكوين العميل

json
{
  "mcpServers": {
    "ot-flash": {
      "url": "https://flash.example.com/mcp"
    }
  }
}

يوضح هذا المقطع نية تكوين عنوان الخادم، بينما يعتمد هيكل ملف التكوين ودعم OAuth على العميل. لا تضع access_token أو refresh_token أو Cookie أو كلمات مرور المسؤول حقيقية في ملفات عامة.

اكتشاف البروتوكول الحديث

http
POST /mcp HTTP/1.1
Host: flash.example.com
Authorization: Bearer <ACCESS_TOKEN>
Content-Type: application/json
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
Mcp-Method: server/discover

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "server/discover",
  "params": {
    "_meta": {
      "io.modelcontextprotocol/protocolVersion": "2026-07-28",
      "io.modelcontextprotocol/clientInfo": {"name": "flash-client", "version": "1.0.0"},
      "io.modelcontextprotocol/clientCapabilities": {}
    }
  }
}

فحوصات قبل التكامل

  • تطابق عنوان جذر المورد مع OAuth issuer والعنوان الخارجي للوكيل العكسي.
  • يدعم العميل عصر البروتوكول المناسب، بدلاً من إرسال initialize دائمًا إلى مدخل البروتوكول الجديد.
  • يربط التفويض الحالي بالأنطولوجيا أو نظام الأعمال المطلوب.
  • Token ساري، وقد حصلت scope الاختيارية الجديدة على تفويض صريح.
الفصول 3

اكتشاف موارد OAuth للأنطولوجيا، التسجيل والتفويض

استخدم رمز التفويض وPKCE، ولا تكشف بيانات اعتماد تسجيل الدخول الخاصة بالمنتج للوكيل.

الشكل A2: تدفق رمز التفويض لـ OAuth وPKCE. رسم توضيحي زمني.
نقطة النهايةالطريقةالوظيفة
/.well-known/oauth-protected-resourceGETاكتشاف موارد MCP للأنطولوجيا
/.well-known/oauth-protected-resource/mcpGETاكتشاف متوافق لمسارات موارد الأنطولوجيا
/.well-known/oauth-protected-resource/mcp/businessGETاكتشاف موارد MCP للأعمال
/.well-known/oauth-authorization-serverGETبيانات وصفية لخادم التفويض
/oauth/registerPOST JSONتسجيل ديناميكي لعميل public
/oauth/authorizeنموذج GET أو POSTتسجيل الدخول، اختيار المورد وتأكيد التفويض
/oauth/tokenPOST formاستبدال رمز التفويض وتدوير التحديث
/oauth/revokePOST formإبطال Token
/oauth/grantsGETعرض اتصالات التفويض من قِبل المستخدم المسجَّل
/oauth/grants/revokePOST formإلغاء الاتصال وفق مسار الصفحة الأصلي

ترتيب التفويض

  1. اقرأ البيانات الوصفية للمورد المحمي وبيانات وصفية لخادم التفويض. إجابة 401 عند الطلب بدون Token وWWW-Authenticate ستشير إلى عنوان اكتشاف المورد.
  2. سجّل أو استخدم هوية العميل. التسجيل الديناميكي للعميل public في r56 يستخدم token_endpoint_auth_method=none؛ ولا يجوز استخدام سر العميل بدلاً من PKCE.
  3. أنشئ state وcode_verifier عشوائيين، واحسب S256 code_challenge.
  4. افتح عنوان authorize المحدد في البيانات الوصفية، مُمرِّرًا response_type=code وclient_id وredirect_uri الدقيق وscope وresource وstate وcode_challenge وcode_challenge_method=S256.
  5. يسجّل المستخدم الدخول في DataFocus ويختار الأنطولوجيا أو نظام الأعمال. لا يجوز للعميل اختيار مسبقًا موارد لا يملك المستخدم صلاحية الوصول إليها.
  6. استقبل رد ال,callback، وتحقق من state وissuer؛ استخدم code_verifier الأصلي لاستبدال رمز التفويض.
  7. استخدم access_token فقط لمصادقة MCP Bearer. استخدم التحديث عبر تدفق OAuth الأصلي، واحفظ refresh_token المُدار بأمان.

مثال التسجيل

json
{
  "client_name": "OT Flash Knowledge Client",
  "redirect_uris": ["http://127.0.0.1:8765/callback"],
  "application_type": "native",
  "token_endpoint_auth_method": "none",
  "grant_types": ["authorization_code", "refresh_token"],
  "response_types": ["code"]
}

يستخدم رد النداء لعملاء الويب HTTPS؛ ويمكن لعملاء native استخدام عناوين loopback المدعومة. يتطابق التفويض واستبدال Token بدقة مع رد النداء المسجل. Grant واحد موجّه لمورد محمي واحد، ولا تخلط scope الأنطولوجيا مع scope مساحة عمل الأعمال في نفس الاتصال.

دورة حياة Token

القيم الافتراضية على خادم r56: access token ‏3600 ثانية، refresh token ‏2592000 ثانية، رمز التفويض 300 ثانية، ويمكن للنشر تجاوز هذه القيم. يجب على العميل الاعتماد على expires_in في استجابة Token والأخطاء الفعلية، دون تثبيت القيم الافتراضية. حدّث Token بعد التحديث؛ وإبطال الدور أو صلاحية المورد أو Grant سيؤدي إلى رفض الاستدعاءات اللاحقة.

الفصول 4

نطاق Scope وحدود الموارد والصلاحيات الفورية

يفوّض نطاق التفويض الصلاحيات القائمة، ولا يمنح ترقية أدوار، ولا يشارك حالة الأعمال بين Grant متعددة.

Scopeقدرات نموذجيةقيود مهمة
ontology.metadata:readالأنطولوجيا، الموارد، بنية الجداوليجب أن تكون الأنطولوجيا والجداول ضمن نطاق التفويض والقراءة الحالي
ontology.graph:readالبحث في الرسم البياني والجيرانتعيد معلومات تحديد الموقع، وليست أدلة واقعية
ontology.knowledge:readتحديد موقع المعرفة والنص الأصلي الكاملتحافظ على صلاحيات قاعدة المعرفة والمستند الأصلية
ontology.table:queryاستعلام SQL لجداول الأنطولوجيا والنماذج المنشورةيتطلب استعلام الجدول أيضًا metadata scope؛ وتظل مصادر الأعمدة والصلاحيات الفعلية سارية
search:operateنماذج الكلمات المفتاحية الأصلية والمحادثاتتفويض مستقل وصريح، يُنفَّذ وفق صلاحيات النموذج الأصلي وأعمدة جدول المستخدم
etl:operatecapabilities الخاصة بـ Flash ETLلا يُفتح Heavy ETL
authoring.contract:readعقد النمذجة المفتوحة شرطيًاتتطلب أيضًا مفتاح الميزة والموارد ذات الصلة
authoring.artifact:readالقراءة الحالية المفوَّضة للمرشحين والخطط وغيرهامرتبطة بـ Grant الموضوع الأصلي والموارد
authoring.artifact:draftإرسال المرشحين والمعاينة وغيرهالا تفوّض التنفيذ أو النشر
authoring.artifact:applyالخطط المُتحكَّم بها والتطبيقتتطلب أيضًا دور الأعمال الأصلي والسياسات والموافقات
execution.script:draftمسودات برامج نصية محددةلا تفوّض التنفيذ الفعلي للبرامج النصية
datasource.http:read / draft / test / importقدرات HTTP الشرطية لمنتجات مصادر البياناتمفتاح مستقل لكل عنصر وصلاحيات أصلية
الشكل A3: تحدد صلاحيات المستخدم وGrant والموارد المختارة وتكوين الميزات معًا القدرات المتاحة. رسم توضيحي.

متطلبات تركيبات القراءة

يتطلب dfc_table detail وجود ontology.metadata:read؛ ويتطلب query أيضًا ontology.table:query. يتطلب dfc_ontology_query نطاقي القراءة graph وknowledge معًا. يتطلب dfc_knowledge_search/detail وجود knowledge. يسير published_model/published_query عبر table:query؛ ويتطلب candidate_query أيضًا authoring.artifact:read. وتتحقق أدوات التحليل أيضًا من نطاق الأدلة المسموح؛ وتتطلب التقارير الدائمة metadata مع table query.

لا تُثبِّت التفويض الافتراضي برمجيًا

تشمل مجموعة scope الافتراضية للأنطولوجيا في r56 قيمة table query؛ أما Search وETL فهيان تفويض صريح. والمرجع النهائي يبقى بيانات الاكتشاف الوصفية وصفحة التفويض وscope الفعلية للـ Token وtools/list. ولا يمكن اعتبار العبارات في الوثائق القديمة مثل "الأنطولوجيا الافتراضية لا تحتوي SQL إطلاقًا" أو "ست أدوات فقط" أساسًا للتنفيذ الحالي.

عزل الحالة

تمتلك الجلسات والتقارير والمرشحين وخطط الإجراءات مالكًا ونطاقًا لكل منها. تحديث access token لا ينقل عمل Grant الأصلي إلى Grant آخر. لا تدمج sessionId أو reportId أو planId أو رموز الموافقة أو رموز المصدر المرتجعة من اتصال آخر إلى الاتصال الحالي.

الفصول 5

رسائل HTTP وMCP الحديثة

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

المشروعسلوك r56
النقلStreamable HTTP عديم الحالة، POST JSON-RPC
معرّفات مدعومة2026-07-28 بالإضافة إلى 2025-11-25 2025-06-18 2025-03-26
الأساليب الحديثةserver/discover tools/list tools/call resources/list resources/read، وتُتاح وفق القدرات الفعلية
ترويسة الجلسةلا يتم تخصيص Mcp-Session-Id
GET وDELETEتُعيد /mcp و/mcp/business الرمز 405
إشعارات الخادم SSEهذان مدخلا MCP العامان غير متاحين
ذاكرة التخزين المؤقت للدليليرجع الاكتشاف والسرد الحديثان القيمتين ttlMs=60000 وcacheScope=private
نتيجة عاديةتتضمن النتيجة الحديثة القيمة resultType=complete وبيانات وصفية لهوية الخدمة

المحتوى الواجب مطابقته

  • يجب أن يتطابق MCP-Protocol-Version مع io.modelcontextprotocol/protocolVersion في params._meta.
  • يجب أن يتطابق Mcp-Method مع أسلوب JSON-RPC.
  • يجب أن يتطابق Mcp-Name في tools/call مع params.name؛ ويجب أن تتطابق ترويسة الاسم في resources/read مع URI.
  • يحمل كل طلب حديث كائن io.modelcontextprotocol/clientCapabilities؛ كما تُقدَّم clientInfo القياسية ليتمكن العميل من التعرف.

مثال استدعاء

json
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "dfc_ontologies",
    "arguments": {"page": 1, "pageSize": 20},
    "_meta": {
      "io.modelcontextprotocol/protocolVersion": "2026-07-28",
      "io.modelcontextprotocol/clientInfo": {"name": "flash-client", "version": "1.0.0"},
      "io.modelcontextprotocol/clientCapabilities": {}
    }
  }
}

الترويسات المقابلة هي HTTP بحيث تكون Mcp-Method: tools/call و Mcp-Name: dfc_ontologies. جميع قيم ACCESS_TOKEN في الأمثلة هي عناصر نائبة. لا تضع رمز Bearer في المعاملين URL وJSON ولا في مفاتيح التخزين المؤقت.

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

عالج حالة HTTP أولاً، ثم تحقق من الخطأ JSON-RPC؛ وعند وجود result تابع التحقق من isError. تقدم نتائج الأدوات الناجحة عادة structuredContent، إضافة إلى محتوى نصي يحتوي على قيمة JSON التجارية نفسها؛ اقرأ القناة المهيكلة أولاً وتجنب تلخيص النص وstructuredContent كحقيقتين مستقلتين بشكل مكرر. قد يحمل استجابة HTTP 200 فشلاً في الأداة.

الموارد العامة وواجهة المستخدم

موارد الشرح المدمجة لا تعتمد على MCP Apps. لا يمنح مدخل مساحة العمل التجارية موارد شرح الأنطولوجيا بسبب ذلك. ينبغي للعملاء الداعمون للعرض المرئي اكتشاف واجهة المستخدم المقابلة من خلال القدرات الفعلية و‎_meta‏ للأدوات، دون تخمين معرفات الموارد URI غير المُرجعة.

الفصول 6

توافق عملاء البروتوكول القديم

الحفاظ على جيل بروتوكول متناسق لدى العملاء الذين ما زالوا يستخدمون مصافحة التهيئة.

json
{
  "jsonrpc": "2.0", "id": 1, "method": "initialize",
  "params": {
    "protocolVersion": "2025-11-25",
    "capabilities": {},
    "clientInfo": {"name": "flash-legacy-client", "version": "1.0.0"}
  }
}
  1. أرسل initialize واقرأ إصدار البروتوكول والقدرات التي تفاوض عليها الخادم.
  2. أرسل إشعارات إتمام التهيئة اللازمة وفق بروتوكول العميل؛ ولا تُرجع الإشعارات نتائج أدوات عادية.
  3. استخدم tools/list لقراءة الأدوات المصرح بها حالياً، ثم أرسل tools/call.
  4. حافظ على اتساق ترويسات الجيل الحالي للطلب مع الرسائل، ولا ترسل مسار initialize أو ping القديم إلى رسائل 2026-07-28.

يستخدم البروتوكول القديم نفس رمز Bearer/OAuth والصلاحيات وعقود الأدوات نفسها. لا يعني ذلك أن الخادم يوفر بالضرورة اتصالاً طويلاً قديم النمط من نوع SSE أو Mcp-Session-Id؛ وتظل الخدمة العامة في r56 عديمة الحالة.

أخطاء البروتوكول

الحالةالنتيجة النموذجيةالمعالجة
عدم اتساق الترويسات الحديثة مع الرسالةHTTP 400 JSON-RPC -32020تصحيح الترويسات وبيانات الوصف وأسماء الأدوات
إصدار غير مدعوم-32022 مع قائمة الإصدارات المدعومةاختيار بروتوكول مدعوم فعلياً
أسلوب غير معروفJSON-RPC -32601، وقد يرجع الطلب الحديث الرمز HTTP 404التحقق من جيل البروتوكول والأسلوب
معاملات ناقصة أو غير صالحةJSON-RPC خطأ في المعاملات أو خطأ أداة isErrorالتصحيح وفق inputSchema الفعلي
الفصول 7

اختيار الأداة الصحيحة وقناة الأدلة

التوجيه بناءً على السؤال التجاري غير المحلول، دون تكرار جمع الأدلة عبر سلسلة استدعاء ثابتة.

الشكل A4: اختيار الجداول وفق المهمة: SQL وأدلة المعرفة وSearch أو التحليل أو الإجراءات التجارية. مخطط توجيه.
المهمةالأداة المفضلةالأدلة المطلوبة للإتمام
اكتشاف المواضيع والموارد المصرح بهاdfc_ontologies dfc_ontology_resourcesأنواع معرفات الموارد الفعلية ونطاق الظهور الحالي
إحصاءات الجداول وTopNdfc_table queryإيصال التنفيذ الناجح وevidenceRows الكاملة
البحث في اللوائح أو العقود أو التقاريرdfc_ontology_query أو knowledge search/detailالنص الأصلي الكامل المصرح به والقابل للاستخدام كحقيقة
تحديد كائنات الرسم البيانيdfc_ontology_graph search/neighborsالوصول إلى المصدر الفعلي أولاً ثم الحصول على الحقيقة المقابلة
التفاعل بالكلمات المفتاحية الأصليةdfc_manual ثم dfc_searchالنتائج الفعلية في النموذج الأصلي والإطار التجاري
التحليل والتقارير المدمجةdfc_analysis_* أو dfc_report_*الحالة الحقيقية لكل فرع مهيكل وأدلة المستندات
تعديل العرض أو نموذج الأنطولوجياdfc_authoring_* وأدوات artifactالتحقق المُنفصل من المرشح والخطة والموافقة والتطبيق الفعلي
تنفيذ أوامر تجاريةدوال dfb_* في /mcp/businessالعقود المنشورة وإيصال ActionPlan الأصلي

تجنب الاستدعاءات غير الضرورية

عند توفر بنية جدول حالية وكاملة ومصرح بها، لا يُشترط إعادة detail عند كل استعلام؛ وعند توفر تحديد موثوق وأدلة، لا تكرر البحث نفسه. وعند الحاجة إلى بُعد مفقود، أجرِ استعلاماً تكميلياً محدود النطاق. وعندما يكون الفشل غير قابل لإعادة المحاولة بوضوح، عالج الفجوة أولاً ولا تستبدل الحكم بـ"حاول مرة أخرى".

الاستثناءات في Flash

قد تُرجع قدرات dfc_etl القيمة available=false مع ETL_NOT_INCLUDED_IN_OT_FLASH. يُستخدم الوصف الثابت لدالة ETL المدمجة كمرجع عبر المنتجات، وهو لا يثبت أن Flash قد مثّبت ETL، ولا يُسمح للوكيل بالانتقال تلقائياً إلى Heavy أو مستأجر آخر للتنفيذ.

الفصول 8

موارد الأنطولوجيا وأنواع المعرفات

احصل أولاً على إحداثيات الموارد الفعلية لتجنب الخلط بين أسماء التخزين ومعرفات المستندات ومعرفات قاعدة المعرفة.

  1. استدعِ dfc_ontologies وتصفّح وفق page وpageSize في الأنطولوجيات المصرح بها لهذه الجلسة والقابلة للقراءة حالياً.
  2. استدعِ dfc_ontology_resources بمعرفات ontologyId حقيقية؛ واختر حسب الحاجة بين tables وanswers وpinboards وdocuments وknowledgeBindings.
  3. عالج الترقيم لكل نوع مورد على حدة. الحد الأقصى لـpageSize هو 100؛ ولا تستنتج نطاق المورد بأكمله من الصفحة الأولى.
  4. احفظ النوع المعلن للمورد ومعرفه الأصلي، واستخدمهما كما هما في الاستدعاءات اللاحقة.
json
{"name":"dfc_ontology_resources","arguments":{
  "ontologyId":"<ONTOLOGY_ID>",
  "resourceTypes":["tables","documents","knowledgeBindings"],
  "page":1,"pageSize":100
}}
الإحداثياتالمصدرلا تُغني عن
ontologyIdقائمة الأنطولوجيات المصرح بها أو السياق الفعلي الحاليمعرف من أنطولوجيا أخرى
معرف مورد الجدولقائمة tables أو سياق موثوقphysicalName أو اسم الجدول المعروض
tblDisplayName colDisplayNameبيانات وصف الجدول والأعمدة الحاليةمعرف فيزيائي مُخمَّن لـSQL
knowledgeIdknowledgeBindings أو إيصال استرجاع المعرفة الفعليمعرف مورد المستند
assetId documentId chunkId evidenceIdإيصال تحديد المصدر الفعلي نفسهحقول مجمّعة من نتائج تحديد مصدر مختلفة
rid revisionId releaseIdالنموذج المنشور أو سياق المرشح من الخادممعرف مُولَّد ذاتياً أو latest

اصطلاحات الدقة

تُفضَّل التمثيل بجميع معرفات الموارد 64-بت كسلاسل عشرية، دون تمريرها عبر Number في JavaScript. بعض المخططات التجارية تقبل string أو integer، وهذا لا يعني إمكانية التضحية بدقة الأعداد الصحيحة. احفظ أيضاً locator غير الشفاف وUUID والتجزئات والرموز أحادية الاستخدام كما وردت بالضبط.

الفصول 9

عقد استعلام الجدول والبنية في Doris

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

قراءة البنية

json
{"name":"dfc_table","arguments":{
  "action":"detail","ontologyId":"<ONTOLOGY_ID>","id":"<TABLE_RESOURCE_ID>"
}}

استخدم معرف مورد جدول حقيقي في detail. تحقق من schemaComplete وtblDisplayName وcolDisplayName في columns وsqlDataType المرجعي، وكذلك من queryContract المُرجعة. إن dataType مجرد مطابقة توافقية، واسم التخزين الفيزيائي ليس اسم الجدول المستخدماً لإرسال SQL.

تنفيذ الاستعلام

json
{
  "name": "dfc_table",
  "arguments": {
    "action": "query",
    "ontologyId": "<ONTOLOGY_ID>",
    "sql": "SELECT \"区域\", SUM(\"销售金额\") AS \"销售金额合计\" FROM \"电商销售数据\" WHERE \"订单状态\" = '已完成' GROUP BY \"区域\" ORDER BY \"销售金额合计\" DESC",
    "maxRows": 100
  }
}

قيود SQL

  • استخدم اسم الجدول المعروض وأسماء الأعمدة المعروضة، وأحط المعرفات بعلامتي اقتباس مزدوجتين. الطلب هو استعلام Doris واحد للقراءة فقط ضمن نطاق الأنطولوجيا.
  • أدرج المخرجات صراحةً، ويُمنع SELECT * وtable.*؛ إذ لا يمكن تجاوز أذونات الأعمدة المسجلة عبر الأعمدة الفيزيائية.
  • استخدم في الربط JOIN صريحاً ... ON؛ وسيُرفض NATURAL JOIN وJOIN USING.
  • يمكن استخدام تعبيرات للقراءة فقط صالحة مثل التجميع متعدد الأبعاد وCTE والنوافذ وCASE وCOUNT(DISTINCT ...)؛ وعدم تغطية التحقق الدلالي لتعبير معين لا يعني حظره من التنفيذ بشكل إجمالي.
  • أكمل التجميع والفرز والترتيب في SQL أولاً، ثم طبّق حداً أقصى على النتائج. الافتراضي لـmaxRows هو 100 والحد الأقصى 200.

التواريخ والمناطق الزمنية

النوع أو الهدفالصيغةملاحظة
DATECAST('2026-09-01' AS DATE) مع CURRENT_DATEلا تفترض نوع التاريخ من النص الحرفي مباشرةً
DATETIMECAST('2026-09-01 00:00:00' AS DATETIME) مع CURRENT_TIMESTAMPتحقق من المنطقة الزمنية للمصدر والمنطقة الزمنية للجلسة
الوقت النسبيDATE_SUB(CURRENT_DATE, INTERVAL 1 YEAR)استخدم الدوال الحالية المقابلة للتواريخ والطوابع الزمنية
تجميع الوقتYEAR(column) أو DATE_TRUNC(column, 'month')استخدم اسماً مستعاراً فريداً لكل مخرج؛ اعتمد queryContract كمرجع

دالة DATE('now', ...) في SQLite ليست عقد تواريخ Doris لهذا المدخل. لا تنقل طريقة التحقق دون الاتصال عبر SQLite من أمثلة الوثائق إلى بيئة SQL الفعلية.

قراءة إيصال استعلام v8

evidenceRows هي القناة الوحيدة المتاحة للوكيل (Agent) لبيانات الصفوف، وraw data غير متاحة للوكيل. تُرمَّز الأرقام في SQL كسلاسل عشرية دقيقة JSON؛ حدّد قيمتها العددية ونوعها في العمل من خلال resultColumnContracts، ولا تفسرها كـ VARCHAR لمجرد أن JSON سلسلة نصية. اقرأ executionReceipt ومعلومات الاكتمال والاقتطاع، واحتفظ بمعلومات المصدر مثل evidenceRowsSha256.

يمكن الاستشهاد بمخرجات الاستعلام التي تمتلك إيصال تنفيذ قابلاً للاستشهاد كما هي؛ فقط الدلالات التي تحقّق منها الخادم تُخوّل إعادة الحساب الحتمي اللاحقة. لا تخمّن "الرصيد التراكمي" أو "القيمة في نهاية الفترة" أو "币种" من اسم الحقل، ولا تضيف الوحدات من عندك. النتائج ذات الصفوف الصفرية أو الفاشلة أو المقتطعة لا يجوز وصفها بأنها إحصاءات كاملة.

الفصول 10

أفضل 3 متعدد الأبعاد والتعامل مع الاقتطاع

أجب عن الترتيبات باستخدام تجميع الخادم ودوال النوافذ، ولا تعيد الحساب على نتائج غير مكتملة.

استخدم مع examples/top3.sql جدول الأمثلة المرفق؛ جمّع أولاً حسب 区域 و类别 و产品، ثم نفّذ ROW_NUMBER داخل كل 区域 و类别، واستخدم اسم 产品 كترتيب ثابت عند تعادل المبالغ. طلب maxRows=100 يكفي لاستيعاب 36 صفاً في المثال؛ أما بيانات العمل الأخرى فيلغي تقديرها حسب عدد المجموعات الفعلي.

  1. احصل على الهيكل الحقيقي والمعيار الحالي، وحدّد 币种 والفترة و订单状态 وقواعد التعادل.
  2. قدّم SQL للتجميع والترتيب على الخادم. لا تستعلم أولاً عن إجمالي 区域 وحدها ثم تعامل معها كترتيب 类别产品.
  3. تحقق من عقد أعمدة المخرجات وevidenceRows الفعلية، وتأكد من أن النتائج المرجعة تغطي جميع المجموعات المطلوبة.
  4. عند اكتشاف اقتطاع، نفّذ استعلامات مجزأة محدودة الحدود وفق الحدود التي يدعمها الخادم، مثل الحصول على أفضل 3 كاملة لكل 区域 على حدة؛ مع الحفاظ على المعيار في العمل نفسه في كل مرة.
  5. إذا تغيّرت فترة المصدر، أعد الاستعلام ووضّح الإصدار الجديد، ولا تخلط بين إصدارات بيانات مختلفة أو مؤشرات (cursor) منتهية الصلاحية.
الشكل A5: ترتيب تصفية التفاصيل والتجميع حسب المجموعات والترتيب داخل المجموعة والعودة النهائية. رسم توضيحي.

استعادة الأخطاء

TABLE_SCHEMA_INCOMPLETE ينبغي تصحيحها أو الحصول على الهيكل الكامل؛ أما حالات الفشل مثل ONTOLOGY_SQL_FAILURE_CONTRACT_INVALID فتُعالج وفق errorCode وretryable وremediation المرجعة. لا تدّعِ أن "جميع عبارات GROUP BY متعددة الأبعاد أو دوال النوافذ محظورة"، ولا تختلق ترتيبات دون نتائج استعلام.

الفصول 11

استرجاع المعرفة: النص الأصلي الكامل وأهلية الدليل

افصل بين تحديد الموقع والقراءة والاستشهاد بالحقائق، واحفظ المصدر والاكتمال.

مساران شائعان

المسارالغرضالنقاط الأساسية
dfc_ontology_queryالبحث ضمن المعرفة المرتبطة بالأنطولوجيا مع إمكانية الجمع بينها وبين توجيه الرسم البيانيفحص canonical answerContextItems الكامل وأهلية الدليل
dfc_knowledge_search → dfc_knowledge_detail chunkتحديد الموقع عبر بحث صريح، ثم قراءة الأجزاء المختارةمعاينة البحث لا تُعد حقيقة؛ اقرأ النص الأصلي الكامل لنفس الموقع
json
{"name":"dfc_knowledge_search","arguments":{
  "ontologyId":"<ONTOLOGY_ID>","query":"销售金额是否排除退货", "topK":5
}}

{"name":"dfc_knowledge_detail","arguments":{
  "action":"chunk","ontologyId":"<ONTOLOGY_ID>",
  "evidenceId":"<EVIDENCE_ID_FROM_THE_SAME_SEARCH_RESULT>"
}}

شروط قابلية الاستخدام كحقيقة

  • افحص ACL الحالي واكتمال المحتوى وcanonicalFactEligible أو citationEligible من الخادم أو عقد التنفيذ المقابل.
  • المحتوى الكامل مرتبط بـ contentSha256. تُعالج حالات الاقتطاع أو الإغفال بسبب الميزانية أو المحتوى منخفض الجودة وفق الحقول الفعلية.
  • بيانات تعريف الوثيقة وpage_context وموقع الرسم البياني وملخصات الاسترجاع والمعاينات لا يمكنها أن تحل محل النص الأصلي canonical.
  • انسخ evidenceId أولاً؛ وعند الحاجة إلى chunkId وdocumentId يجب أن يأتيها من نتيجة تحديد الموقع نفسها، دون دمج أو اختلاق.

توجيه الرسم البياني

نتائج search/neighbors هي معلومات تحديد موقع. مرّر إلى استعلام الأنطولوجيا كائن routeLocator فقط كما أعاده الخادم كاملاً، بما في ذلك الربط والإصدار وحقول الإثبات. لا تغلّف assetId أو knowledgeId بنفسك كـ locator صادر من الخادم، ولا تعيد إثبات مصدر ادّعاه النموذج.

استعادة الوثائق المهيكلة

structuredPlan في dfc_ontology_query مخصص للاستعادة المقيدة والتحقق الحتمي لجداول الوثائق غير المنتظمة. استخدم الخطة المعلنة من الخادم فقط بعد إرجاع executionContractSha256 وtableIndex والأعمدة والجدول الكامل الحاليين. جداول العمل المستوردة العادية يجب أن تمر عبر dfc_table SQL؛ ولا تعامل استعادة جداول Markdown كقناة لتجاوز تخويل استعلام الجداول.

الشكل A6: سلسلة الدليل بين نتيجة تحديد الموقع والنص الأصلي القابل للاستشهاد. رسم توضيحي.

استراتيجية الاسترجاع

عادةً تُهمَل knowledgeIds لتغطية الارتباطات المفعّلة حالياً؛ وعند تمريرها استخدم فقط معرفات قاعدة المعرفة الحقيقية من knowledgeBindings. لا تعامل معرف مورد الوثيقة كمعرف قاعدة معرفة. أجرِ بحثاً جديداً محدد الحدود لكل مسألة لم تُحل بعد، وتجنّب عمليات استرجاع مكررة تماماً دون دليل جديد.

الفصول 13

اصطلاحات اللغة والمنطقة

حافظ على الحدود بين locale واجهة المستخدم، وقاموس الاستعلام، ولغة العائد، وأسماء الحقول الأصلية.

أولوية التحديد هي: اللغة المطلوبة صراحةً، ثم لغة نظام التطبيق، ثم locale عقدة التنفيذ الفعلية. القيم الافتراضية وnull والسلاسل الفارغة والفراغات لا تتراجع تلقائيًا إلى الصينية. يجب الحفاظ على دقة قيم المنطقة في languageRegistry، ولا يجوز طيّ en-GB أو fr-CA أو pt-BR أو es-US أو ar-AE إلى منطقة أخرى بشكل اعتباطي.

اللغة أو المنطقةlocale الاستعلامالوصف
الصينية المبسطة والصينية التقليديةzh-CN zh-Hantقواعد الصينية الأصلية ودليل التقليدية مختلفان
الإنجليزية الأمريكية والبريطانية والأسترالية والكنديةen-US en-GB en-AU en-CAيمكن لحزمة UI/الكلمات المفتاحية أن تُشترك، وتُحفظ بيانات تعريف المنطقة
الألمانية والإيطالية والروسيةde-DE it-IT ru-RUتُستخدم وفق اقتراحات الجلسة الحالية
الإسبانية والإسبانية اللاتينيةes-ES es-USمعرّف المنطقة للمنتج هو es-US
الفرنسية والفرنسية الكنديةfr-FR fr-CAلا يُدمج معرف المنطقة
البرتغالية والبرتغالية البرازيليةpt-PT pt-BRيُحفظ الدليل واصطلاحات المنطقة كل على حدة
الهولندية والدنماركية والنرويجية والفنلندية والسويديةnl-NL da-DK nb-NO fi-FI sv-SEالنرويجية هي Bokmål
اليابانية والكوريةja-JP ko-KRلا تُجرّأ الكلمات ذاتياً وفق قواعد المسافات الإنجليزية
العربية السعودية والإماراتيةar-SA ar-AEأوصاف الواجهة تدعم RTL، ولا تُعكس معرّفات البروتوكول

استخدام دليل الكلمات المفتاحية

json
{"name":"dfc_manual","arguments":{
  "action":"keywords","locale":"de-DE","names":["<ACTUAL_KEYWORD_ID>"]
}}

الدليل الثابت للكلمات المفتاحية في dfc_manual يتضمن فقط الـ locale المدرجة صراحةً؛ وعند الإغفال يُستخدم المرجع الإنجليزي؛ وهو افتراضي مرجعي وليس قاعدة لتحليل لغة الاستعلام. عندما لا يوفر متغير المنطقة دليلاً ثابتاً، احصل على الاقتراحات الفعلية عبر assist للجلسة الحالية، ولا تختلق أسماء بديلة أو نتائج تراجع. الحد الأقصى لعناصر names في الطلب الواحد 32 عنصراً.

ما لا يُترجم

  • الجداول والأعمدة وقيم التعداد وأسماء العملاء وأسماء الصيغ وسلاسل النماذج الحقيقية الأخرى.
  • أسماء الأدوات وaction وscope وحقول Schema وأكواد الأخطاء وقيم الحالة.
  • معرفات الموارد والتجزئات (hash) وopaque locator والمراجع الصادرة من الخادم.

على سبيل المثال يمكن لسؤال بالألمانية الاستعلام عن عمود العرض الصيني "销售金额". تغييره إلى اسم عمود ألماني يجعله معرّفاً آخر، وليس ترجمة واجهة. بعد تغيير اللغة أعد تهيئة الجلسة أو حدّثها وفق البروتوكول الأصلي، وأعد الحصول على الاقتراحات ومرشحات التوضيح.

الفصول 14

التحليل المدمج والنتائج التفاعلية

في أدوات التحليل ذات الشروط المفتوحة، حافظ على حالة التخويل والإصدار والفرع والدليل.

dfc_analysis_* يتحكم فيها datafocus.mcp.analysis.tools.enabled. يستمر الجزء المهيكل عبر الاستعلامات الموثوقة Search واستراتيجية الصفوف الحالية؛ بينما يعيد جزء الوثائق الحصول على النص الأصلي الكامل في ظل ACL الحالي. وهي ليست مداخل مفتوحة لـ SQL أو حقن تعليمات أو مرشحات عشوائية.

الأداةالغرضالإحداثيات المطلوبة
dfc_analysis_askطرح سؤال تحليل باللغة الطبيعيةontologyId question، مع language اختياري sessionId
dfc_analysis_result_getقراءة نتيجة أعيدت سابقاًontologyId sessionId resultId
dfc_analysis_refineطرح أسئلة متابعة أو إجراء تغييرات بناءً على أحدث نتيجة كاملةالنتيجة الأصلية expectedRevision ومفتاح idempotency المستقر
dfc_analysis_pageالحصول على صفحة من الفرع من جهة الخادمالفرع الأصلي وإصدار النتيجة pageNo pageSize
dfc_analysis_cancelإلغاء النتائج التي ما زالت قيد العملالجلسة الأصلية والنتيجة
dfc_analysis_closeتحرير الجلسات غير العاملةالجلسة الأصلية

بدء التحليل

json
{"name":"dfc_analysis_ask","arguments":{
  "ontologyId":"<ONTOLOGY_ID>",
  "question":"按区域分析已完成订单销售金额,并引用退货统计口径",
  "language":"zh-CN"
}}
  1. قراءة sessionId وresultId والحالة والrevision المعادة؛ واستئناف قراءة النتيجة الأصلية عند الحاجة.
  2. فحص حالة واكتمال كل فرع منظّم على حدة، إلى جانب سياسة الصفوف والمصادر، دون اعتبار اكتمال فرع واحد دليلاً على اكتمال التحليل بأكمله.
  3. فحص أدلة المستندات ودفتر الحقائق وأهلية الاقتباسات والقيود. السرد المُولَّد من النموذج لا يرقّي أهلية الدليل من تلقاء نفسه.
  4. عند الحاجة إلى متابعة سؤال، اعتمد على أحدث نتيجة كاملة ومرّر expectedRevision؛ وأعد المحاولة على التغيير نفسه باستخدام مفتاح idempotency نفسه.
  5. قبل الإغلاق، تأكد من أن الجلسة لم تعد قيد العمل؛ فالإلغاء والإغلاق إجراءان مختلفان.

التصفية وترقيم الصفحات المتحكم بهما

يستخدم filter_patch الـbranchId والـfieldRef والـvalueRef وعوامل التشغيل المسموحة التي يوفرها الخادم؛ والتصفية الحالية المكتوبة بالأنواع تعلن EQ فقط. يُحظر استبدال مراجع opaque بالـSQL أو tableId أو columnId الخام أو شجرة تصفية مُختلقة من العميل. يبدأ ترقيم الصفحات pageNo من 1 وبحد أقصى 10000؛ والحد الأقصى لـpageSize هو 100.

الشكل A7 ربط الفروع والإصدارات وترقيم الصفحات؛ وبعد تغيّر المصدر أو الإصدار يجب إعادة الاستعلام للحصول على تحديد جديد. رسم توضيحي.

تلميحات القدرات والسلوك

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

الفصول 15

التقارير المرئية الدائمة وMCP Apps

إنشاء تقارير قابلة للاستئناف، وقراءة نتائجها وواجهاتها التفاعلية وفق الصلاحيات الحالية.

يخضع dfc_report_* للتحكم عبر datafocus.mcp.analysis.report-tools.enabled ويتطلب metadata وtable query scope. وهو يختلف عن جلسات Search داخل العملية؛ فالتقارير تستخدم reportId دائمًا، والدوام لا يعني توقّف التحقق من الصلاحيات.

json
{"name":"dfc_report_create","arguments":{
  "ontologyId":"<ONTOLOGY_ID>","goal":"比较区域与类别销售表现并核对口径",
  "title":"零售经营分析","language":"zh-CN",
  "idempotencyKey":"retail-report-20261019-01"
}}
{"name":"dfc_report_status","arguments":{
  "ontologyId":"<ONTOLOGY_ID>","reportId":"<REPORT_ID>"
}}

سير العمل

  1. عند الإنشاء، استخدم idempotencyKey مستقرًا بطول 8 إلى 128 حرفًا من الأحرف المدعومة.
  2. احفظ reportId، واستطلع status، وتحقق من الحالة الفعلية: مكتملة أو فاشلة أو مكتملة جزئيًا أو ملغاة.
  3. عند قراءة النتائج، راجع الفروع المنظّمة والمرئيات ومصادر الحقائق واقتباسات المستندات والاكتمال.
  4. لإلغاء تقرير غير مكتمل، استخدم reportId الأصلية؛ ولا تنشئ تقريرًا آخر بديلاً عن الإلغاء.
  5. بعد انتهاء مهلة الشبكة، اقرأ حالة التقرير الأصلي أولًا؛ فإعادة الإرسال بمفتاح idempotency الأصلي يجب أن تحافظ على النية التجارية نفسها.

MCP Apps

العملاء الداعمون لامتدادات واجهة المستخدم يقرؤون صفحات التقارير عبر tool _meta واكتشاف الموارد الفعلي. صفحة التقرير الدائم المقابلة لـr56 هي ui://datafocus/analysis-report/v16/index.html، ويستخدم التحليل التفاعلي مراجع موارد الخادم المناسبة؛ ولا ينبغي للعميل ترميز قيم مُرجعة من الأدوات بشكل ثابت. وعند غياب امتداد واجهة المستخدم يظل بالإمكان قراءة النتائج المنظّمة.

ربط المصدر

عند قراءة التقرير يُعاد التحقق من Grant وربط الأنطولوجيا وأصل الطلب (Origin) وصلاحيات الجدول الحالية. تتطلب التكاملات عبر المصادر في المتصفح استخدام مصادر فعلية معتمدة؛ ولا يتجاوز العميل الربط عبر تزييف Origin. إن reportId القديمة ليست رابطًا عامًا دائمًا وليست بيانات اعتماد للوصول عبر المستخدمين.

الفصول 16

مسودات المُنتجات، المعاينة، الخطة والتطبيق

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

تتطلب أدوات المُنتجات تفعيل ميزة authoring وartifact type فعليًا والـscope ذات الصلة وصلاحية كتابة المسؤول الأصلية. الأنواع المُهيأة افتراضيًا هي CONTROL_PANEL_SPEC وVIEW_SPEC؛ أما النماذج الأخرى ومصادر HTTP وأنواع السكربتات فتخضع أيضًا لتكوين مستقل. لا يمتلك Flash أي AutoML، ولذلك لا تُدرج الأنواع ذات الصلة كمُنتجات متاحة في هذا الإصدار.

الشكل A8 الترتيب المتحكم به: السياق، المرشح، المعاينة، الخطة، الاعتماد والتطبيق. رسم توضيحي.
  1. dfc_authoring_capabilities تقرأ العقود والإجراءات المتاحة وفق Grant الحالية.
  2. dfc_artifact_context تحصل على السياق المحدود وcontractVersion وcontextHash وbaseArtifactHash وbaseArtifactVersion.
  3. إنشاء المرشحين في العميل وفق العقود الحقيقية، دون تنفيذ أي كود ضمنها.
  4. dfc_artifact_submit تُرسل السياق الأصلي والمرشح، مع الحفاظ على instruction نفسها، واستخدام clientRequestId مستقر.
  5. قراءة proposalId وcandidateHash والتحقق والمعاينة؛ وعند وجود أخطاء فعلية تُراجع المرشحات، دون تزييف حالة موافقة من الخادم.
  6. عند الحاجة إلى إعادة المعاينة، استخدم dfc_artifact_preview ونفس تجزئة المرشح.
  7. dfc_artifact_plan تُنشئ خطة غير قابلة للتغيير باستخدام مرشح حقيقي وإصدار هدف ومفتاح idempotency.
  8. اعتمد الموافقات وفق التفاعل الأصلي أو السياسات المُصرَّح بها مسبقًا، ثم dfc_artifact_apply؛ وإيصال APPLIED وحده هو ما يمثّل التطبيق الفعلي.

طلبات السياق الدنيا

json
{"name":"dfc_artifact_context","arguments":{
  "artifactType":"CONTROL_PANEL_SPEC",
  "ontologyId":"<ONTOLOGY_ID>",
  "instruction":"为当前授权销售指标建立区域比较面板"
}}

تستخدم VIEW_SPEC projectId المُصرَّح بها حاليًا؛ وعند تحرير مُنتج موجود استخدم artifactId الفعلية. تُقدَّم حقول مثل variables وpreviewInput وviewport وفق العقد المُعاد، دون تخمين البنية الداخلية للمرشح.

التزامن وإعادة المحاولة

تربط الخطة إصدار الهدف وتجزئة المرشح ومفتاح idempotency. بعد تغيّر الهدف، لا يمكن تطبيق الخطة القديمة؛ ويُعاد قراءة السياق وتُعالج التعارضات الفعلية. انتهاء مهلة النقل لا يثبت الفشل؛ استخدم dfc_artifact_status أولًا للاستعلام عن proposalId أو planId الأصلية. لا تعني READY APPLIED.

الاعتماد والسياسات التلقائية

تتطلب خطط المُنتجات العامة اعتمادًا بشريًا أصليًا. تُعالَج الخطط المطابقة لسياسة النشر التلقائي للأنطولوجيا وفق approvalMode، ولا يُطلب من المستخدم توقيع موافقة يخترعها الوكيل. إن approvalToken مادة موقَّعة من الخادم ولا يمكن للـAgent استبدالها بكتابة سلسلة نصية؛ والحقول الإلزامية تتحدد بالـinputSchema الفعلية وإيصال الخطة.

الفصول 17

عقد إنشاء مرشحات الأنطولوجيا ونشرها

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

إنشاء مرشح

يجب أن تكون حاوية الأنطولوجيا موجودة مسبقًا وضمن Grant. استخدم dfc_ontology_table_schema للتحقق من حقول المصادر المنظّمة الحالية وبصمة v4 Binding؛ ويمكن تقديم الحقول بـsourceField فقط لاكتشاف النوع تلقائيًا. تتطلب إعلانات DECIMAL الصريحة الدقة الحالية وعدد المنازل العشرية، أما الأنواع الأخرى فلا تحمل هذين الحقلين.

json
{"name":"dfc_ontology_table_schema","arguments":{
  "ontologyId":"<ONTOLOGY_ID>","sourceAssetRef":"table:<ACTUAL_TABLE_ID>",
  "fields":[{"sourceField":"区域"},{"sourceField":"销售金额"}]
}}

المرشح وتكوين النشر

العقدالغرضالحدود الرئيسية
ontology-workspace-create-mcp-submit-v1إنشاء مرشح من إعلانات محليةمصادر مُصرَّح بها حقيقية؛ التجميع يتم على الخادم ولا يُقبل إثبات الإكمال
ontology-workspace-create-mcp-submit-v2مزج المراجع المحلية والمراجع المنشورة الدقيقةتوفير releaseSelections الدقيقة والتبعيات المغلقة
ontology-publication-mcp-submit-v1 إلى v3ربط مرشح موجود بطلب خطة النشرإحداثيات صريحة؛ الهدف والمصدر والاعتماد والتحقق تُستعاد من الخادم
ontology-publication-mcp-submit-v4 إلى v6تكوينات النشر التلقائي ذات الصلة مُفعَّلة بشكل مستقلتُستخدم فقط عند وجود capabilities وإعلان schema فعلي
ontology-initial-activation-retirement-submit-v1عمليات التفعيل الأولي والإحلال المتحكم بهاخطة مستقلة، اعتماد بشري جديد ونطاق دقيق

ترتيب النشر

  1. الحصول على workspaceId وworkspaceRevision وcandidateHash الحالية للمرشح والمصادر الفعلية.
  2. اختيار إصدار العقد وفق قدرات الخادم؛ وإرسال الإحداثيات مثل releases وselection، دون إرفاق حقول تدّعي أنها "معتمدة" أو "مقبولة".
  3. الاحتفاظ بـproposalId المُعادة من submit والـidempotencyKey الأصلية. إن submit وMODEL_PLAN مرحلتان من الطلب نفسه.
  4. استدعاء dfc_artifact_plan باستخدام المرشح الأصلي والإصدار الهدف ومفتاح idempotency نفسه.
  5. لا تعني PLANNING_INCOMPLETE سوى أن الخطة الصالحة لم تتشكل بعد؛ وتعني VALIDATION_UNSATISFIED أن التحقق الحالي ما زال به فجوات، وتُعالَج وفق nextAction.
  6. بعد نجاح الخطة، تابع وفق HUMAN_REQUIRED أو POLICY_AUTO باستخدام الاعتماد الأصلي وقدرات النشر.
  7. أكِّد النتيجة عبر إيصال APPLIED ثم القراءة الفعلية اللاحقة للنموذج المنشور واستعلامات التفويض.

انتهاء المهلة والاسترداد

بعد انتهاء مهلة PLAN، اقرأ proposalId الأصلية. إن MODEL_PLAN_SUBMITTED طلب غير مكتمل؛ وMODEL_PLAN_COMPLETED تعني وجوب استرداد الإيصال الأصلي بالإحداثيات والمفتاح الأصليين، وليس جعل العميل ينشئ طلبًا جديدًا. لا يمكن تحويل فجوات التحقق في الحالة النهائية إلى موافقة نشر عبر تغيير المفتاح أو إعادة الإرسال.

الصلاحيات التجارية البشرية

إن instruction والإعلانات المقدَّمة من الـAgent مُدخلات من الـAgent وليست توقيع سياسة بشريًا. تظل MODEL_AUTHOR وMODEL_PUBLISH والتفويض بالنشر التلقائي والتأكيد التجاري وثقة المفتاح العام والميزانية وACL المصدر محدَّدة عبر الآليات الأصلية. ولا يجوز استبدال هذه الحقائق بحقول العميل.

الفصول 18

نشر النموذج، استعلام المرشحات وغلق المراجع

استخدام المعرفة التجارية المنشورة بالإصدار الدقيق، والحفاظ على الطابع المؤقت للمرشحات غير المنشورة.

إن published_model وpublished_query وcandidate_query في dfc_ontology_graph تكوينات منظّمة مشروطة الفتح، وليست مرادفات لـsearch/neighbors العادية. وهي تُصرَّح وفق table query وصلاحيات قراءة النمذجة اللازمة، ولا يجوز استبدال صلاحيات الجداول برؤية Graph.

قراءة النموذج المنشور

  1. عندما يشمل تعداد action للأداة published_model فعليًا، أرسل releaseId المُلتزمة الحقيقية.
  2. يُعيد v1 قوالب الاستعلام المُصرَّح بها؛ ويضيف v2 مراجع PERSISTED الدقيقة وreleaseSelections؛ ويضيف v3 مراجع التبعيات وdomainRef الدقيقة وقوالب الربط المضغوطة.
  3. اختر الكائنات والخصائص والـBinding والـscope والإصدارات من القيم المُعادة الفعلية، ولا تُنشئ RIDs ولا تستخدم latest.
  4. أرسل استعلامات مكتوبة بالأنواع وثابتة عبر published_query؛ وما زالت النتائج تخضع لتصريح المصدر والحقل الحاليين.

استعلام المرشحات

تستخدم candidate_query الـworkspaceId الفعلية والrevision وcandidateHash وإعلانات المرشح. وعند مزج مراجع منشورة، استخدم إحداثيات LOCAL/PERSISTED المكتوبة بالأنواع المقابلة لـv2 مع تحديد دقيق. تبقى نتائج المرشح غير منشورة ومؤقتة دائمًا، ولا تُعامل كمعرفة مؤسسية مؤكدة.

الصيانة الجزئية والغلق

اختر التبعيات الانتقالية اللازمة لجذر المرشح فقط، وضمان امتلاك كل مرجع منشور لـreleaseSelections دقيقة. لا يُغني نسخ متن النشر أو إرسال مجموعة IDs واحدة أو التوسع لجميع الموارد التاريخية عن التحقق الحالي من التبعيات والمصادر.

الشكل A9 جذر المرشح، والتبعيات المنشورة الدقيقة وتصريح المصادر. رسم توضيحي لغلق المراجع.

استعلامات هذه الـaction كائنات مكتوبة بالأنواع ومُصدَّرة بالنسخ، ولا تقبل SQL أو معرّفات الجداول الفيزيائية أو أسماء جداول المصدر بديلاً عن مراجعها التجارية. قوالب البيانات الوصفية ونتائج Graph بذاتها لا تمتلك أهلية مرجع للحقائق.

الفصول 19

تفويض مهام وكيل الأنطولوجيا

استخدام المهام الدائمة وGrant الأصلية لاستئناف العمل، دون اعتبار تعليمات الـAgent موافقة بشرية.

لا يظهر dfc_ontology_agent إلا عند توفر Pi Runtime الفعلي والصلاحيات ذات الصلة. تستخدم QUERY قدرات القراءة؛ وتتطلب AUTHORING كذلك دور النمذجة والـscope المقابلة authoring. وهو لا يفتح محرك تنفيذ آخر غير مقيَّد.

json
{"name":"dfc_ontology_agent","arguments":{
  "contractVersion":"ontology-agent-task-v1","action":"start",
  "ontologyId":"<ONTOLOGY_ID>","mode":"QUERY",
  "instruction":"列出当前可查询的表,并说明各表用途",
  "idempotencyKey":"retail-discovery-01"
}}
{"name":"dfc_ontology_agent","arguments":{
  "contractVersion":"ontology-agent-task-v1","action":"status",
  "ontologyId":"<ONTOLOGY_ID>","runId":"<RUN_ID>"
}}

مجموعة المعلمات الصارمة

تستخدم start الـcontractVersion وaction وontologyId وmode وinstruction وidempotencyKey؛ وتستخدم status/cancel الـcontractVersion وaction وontologyId وrunId. يتحقق الخادم من مجموعة الحقول الدقيقة وفق action. الحد الأقصى لـinstruction هو 16000 حرف؛ والمفتاح من 1 إلى 128 حرفًا مدعومًا ويبدأ بحرف أو رقم.

الاسترداد والإلغاء

  1. الاحتفاظ بالـrunId وGrant وmode ومفتاح idempotency الأصلية.
  2. المفتاح نفسه وinstruction نفسها يستردّان الـrun نفسه، دون إرسال مهمة أخرى؛ وتغيير التعليمات بالمفتاح نفسه يُرفض.
  3. يستعلم status عن حالة المهمة الأصلية. وبعد الاكتمال ما زال يلزم التحقق من استعلامات الجداول أو الأدلة أو إيصالات النشر الخاصة بها.
  4. يستخدم الإلغاء runId الأصلية؛ ويُؤكَّد النتيجة عبر حالة المهمة الفعلية.

اكتمال الـrun ليس إيصال نشر نموذج. ما زال تأكيد مهمة النشر يتم عبر حالة artifact الأصلية وفحوصات المصادر؛ ولا يمنح QUERY أي صلاحية كتابة أو نشر ضمنية.

الفصول 20

مساحة العمل التجارية MCP

الاستعلام عن السجلات وفق عقود العمل المنشورة، وتنفيذ الأوامر عبر ActionPlan الأصلية.

تستخدم /mcp/business موارد محمية مستقلة واختيار نظام عمل، ولا يمكنها إعادة استخدام Grant الأنطولوجيا بديلاً عن التصريح التجاري. يجب أن يكون نظام العمل منشورًا وقابلًا لاستدعاء الـAgent ومطابقًا لسياسات الأمان الأصلية، وأن يملك المستخدم الحالي أدوارًا وقدرات وقت تشغيل فعلية.

Scopeالأداةالحدود
business-system:discoverdfb_systems dfb_system_describeاكتشاف الأنظمة المُصرَّح بها والقابلة للاستدعاء حاليًا فقط
business-system:readdfb_query dfb_record dfb_work_items dfb_action_statusالسجلات القابلة للقراءة من قبل المستخدم الحالي وخططه الخاصة
business-system:plandfb_action_planإنشاء خطط غير قابلة للتغيير فقط، دون تنفيذ
business-system:executedfb_action_executeتصريح مستقل صريح، والتنفيذ وفق المخاطر والاعتماد
  1. dfb_systems تكتشف الأنظمة المُصرَّح بها.
  2. تقرأ dfb_system_describe عقد النشر الحالي وreleaseId وجميع التجزئات والاستعلامات والأوامر.
  3. تستخدم dfb_query الـqueryKey المنشورة، مع تحديد objectKey وstate وpage وpageSize حسب الحاجة. وهي ليست SQL عشوائية.
  4. تقرأ dfb_record وdfb_work_items السجلات وعناصر العمل المسموحة حاليًا.
  5. قبل التنفيذ، تقدِّم dfb_action_plan الـreleaseId وreleaseHash وcanonicalIrHash وagentManifestHash وcommandType وplanIdempotencyKey الفعلية وحِمل العقد (payload).
  6. راجع riskClass وrequiresApproval وstatus؛ وعند إشراك سجلات هدف احتفظ بـexpectedRecordVersion.
  7. تنفِّذ dfb_action_execute الخطط المملوكة للاتصال الحالي والجاهزة فقط، وتصدر DataFocus رموز الاعتماد المطلوبة بشريًا.
  8. بعد الفشل أو انتهاء المهلة، يسترد dfb_action_status الخطة الأصلية؛ وتحافظ إعادة المحاولة على دلالات idempotency الأصلية.
الشكل A10 العقود المنشورة والخطط والموافقات وتنفيذ الإجراءات. رسم توضيحي.

ربط الاتصال والنسخة

ربط ثابت بين الخطة ومعرّف التحقق (Grant) الحالي عبر معرّف عزل مستقر. بعد تحديث Access Token تظل معالجة الخطة لنفس الاتصال ممكنة، ولا يمكن لاتصال OAuth آخر الاستيلاء عليها. عند التنفيذ يُعاد التحقق من نسخة النشر، وهاش IR/manifest، وإصدار السجل الهدف، وانتهاء الخطة، وidempotency، والموافقة. لا يمكن لقائمة السماح OAuth تجاوز الحوكمة البسيطة.

الفصول 21

إدخال المعرفة البسيطة والأسئلة في انتظار التأكيد

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

الأدوات الأربعة التالية يضيفها المتحكم العام MCP وفقًا للمعالِجات المثبتة وشروط النطاق (scope) الحالي. لا تظهر دائمًا في الكتالوج الأساسي. وجود Schema معلَن لا يعني أن المثيل مزوَّد بالمعالِجات والميزانيات والصلاحيات كاملة؛ يجب التحقق من tools/list أولًا.

الأداةالغرضالتفويضات أو التأثيرات غير الناتجة
dfc_ontology_knowledge_input_proposeتسجيل مدخلات بسيطة لمساحة عمل قائمةلا يولّد أسئلة تأكيد ولا يوافق ولا ينشر
dfc_ontology_knowledge_input_previewمعاينة مؤقتة لمسودات الأسئلة من المدخل الأصليلا يُخزِّن ولا يؤكد ولا يُنشئ إيصالًا إنتاجيًا
dfc_ontology_knowledge_question_submitحفظ الأسئلة authored غير المؤكدةلا يدمج الإجابات تلقائيًا ولا يحصل على صلاحية مسؤولية أو صلاحية نشر
dfc_ontology_business_scope_initializeتهيئة صريحة لنطاق مستهلك لنظام بسيطلا ينشر ولا يفعّل ولا يمنح وصولًا للمصادر

الإدخال والمعاينة

  1. احصل على workspaceId وworkspaceRevision وlocalRef وpreparationDigest من أعمال التحضير الفعلية.
  2. تستخدم propose عقد input الأصلي وidempotencyKey المستقر لتسجيل المدخل البسيط؛ ولا يمكن للمفتاح نفسه أن يقابل إلا المدخل نفسه.
  3. تستخدم preview مفتاح idempotency وontologyId الخاصين بالمدخل الأصلي؛ وهي تُعيد في كل مرة revision من الخادم ونافذة 60 ثانية، وليست إيصال إتمام إنتاجي idempotent.
  4. عند الحاجة إلى تخزين السؤال، تستخدم question_submit مفتاح أمرًا جديدًا وoriginalInputKey الأصلي وquestionRevision وvalidFrom وvalidUntil وexpectedRevision الصريحة؛ ويكون expectedRevision = null عند الإنشاء.

مدخل التأكيد البشري

knowledgeConfirmationPage الذي تُعيده question_submit هو مجرد تموضع نسبي لصفحة تسجيل الدخول الأصلية مع تعبئة مسبقة لسؤال معيّن. لا يحمل Bearer، ولا يفتح الصفحة تلقائيًا، ولا يؤكد المعرفة. يشير QUESTION_STORED_UNCONFIRMED صراحةً إلى أن التأكيد لم يتم بعد، ولا يجوز كتابة "تم نشر المعرفة" في الإجابة.

تهيئة نطاق المستهلك

تتطلب business scope initialize كلاً من صلاحية نشر الأنطولوجيا وصلاحية المنشئ لنظام الأعمال المحدد أو صلاحية إدارة SourceManager. تستخدم الإحداثيات الحقيقية لـ domainRid وdomainRevisionId وbusinessSystemId، ولا يجوز للعميل تعبئة أي consumerScope أو إثبات اكتمال. تُعيد INITIALIZED وCOMPLETED مع published=false وactivationAuthorized=false صراحةً.

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

الفصول 22

الاستجابة والأخطاء وإعادة المحاولة الآمنة

تفسير الأخطاء بطبقي، مع الحفاظ على إحداثيات المهمة ودلالات idempotency.

الطبقةمحتوى التحققمبدأ المعالجة
الشبكة وHTTPأخطاء الاتصال TLS مثل 401 و403 و400 و404 و405لا تتعامل مع الاستجابة الفاشلة كنتيجة استعلام عادية
JSON-RPCerror.code message dataالتمييز بين مشكلات البروتوكول والطريقة والمعاملات والتفويض
أدوات MCPresult.isError وstructuredContentرمز 200 من HTTP لا يعني عدم الفشل
نتيجة العملالحالة الحقيقية والاكتمال وأسباب الفشل وnextActionالاستلام أو جهوزية لا يساويان الاكتمال
أهلية الحقائقexecutionReceipt citationEligible contentCompleteالمحتوى غير المؤهَّل يُستخدم فقط لتحديد الموقع أو تفسير الفجوات

حالات HTTP الشائعة

  • 401: Bearer مفقود أو منتهي؛ حدِّث أو أعد التفويض وفق تدفق OAuth الحالي.
  • 403: التحقق (Grant) أو الدور أو الموارد المختارة أو صلاحيات المصدر أو Origin أو الإعداد غير مستوفى؛ لا تتجاوزه بإعادة الإرسال.
  • 400: الرسالة أو العقد المُنسَّخ بالنسخ غير صالح، بما في ذلك تعارض الترويسات الحديثة مع البيانات الوصفية.
  • 404: تحقَّق من مسار الخدمة الدقيق وطريقة البروتوكول وقدرات بيئة التشغيل؛ لا تبدِّل معرّف الأنطولوجيا عشوائيًا.
  • 405: الـ GET وDELETE الخاصين بـ /mcp العام غير مفتوحين أصلًا؛ استخدم POST الصحيح بدلًا من إنشاء اتصال طويل SSE.

عمليات الكتابة ذات النتيجة غير الواضحة

قد يحتوي MCP_OPERATION_OUTCOME_UNKNOWN على outcome=UNKNOWN وretryable=false وnextAction=READ_ORIGINAL_STATUS وrecoveryTool مع معاملات التموضع الأصلية. تحقَّق أولًا من الحالة الأصلية، ثم استأنف الطلب الأصلي. لا تعيد تقديم المرشح، ولا تبدّل مفتاح idempotency، ولا تتعامل مع انتهاء المهلة كتراجع عن معاملة.

الشكل A11 ترتيب معالجة الفشل والنتائج غير الواضحة والحالات القابلة لإعادة المحاولة. رسم توضيحي للاستعادة.

المحتوى الواجب الاحتفاظ به كما هو

  • التحقق (Grant) الأصلي ونطاق الموارد ومعرّفات المهام والنتائج.
  • candidateHash وplanHash وexpectedRevision ونسخة الهدف واختيارات النشر.
  • مفاتيح idempotency لنفس العملية المنطقية؛ أما العمليات البسيطة المختلفة فيجب أن تستخدم مفاتيح جديدة.
  • قيم retryable وremediation وnextAction والحالة الحالية المعلنة من الخادم.

لا تستخرج من نصوص الاستثناء أي SQL داخلية أو أسماء مضيفين أو بيانات اعتماد أو آثار تتبع كمصدر للإجابة. يكفي تسجيل رموز الأخطاء القابلة للنشر ومعلومات ارتباط الطلب؛ وقد تتطلب الأخطاء الأصلية مراجعة المشرف ضمن سجلات مُتحكم بها.

الفصول 23

أمن التكامل وحدود القدرات

الحفاظ على الحدود الأصلية للهوية والموارد والتنفيذ والأدلة، والتعامل الآمن مع المستندات غير الموثوقة.

  1. اتصل فقط بالنطاقات الرسمية التي يحددها المشرف؛ تحقَّق من TLS ومن مُصدر OAuth، ولا تعطِّل التحقق من الشهادات.
  2. استخدم تحققًا (Grant) مخصصًا بأقل نطاق موارد ممكن؛ لا تستخدم حسابات المشرف أو Cookies أو الرموز الداخلية طويلة الأمد كبيانات اعتماد للواجهات العامة.
  3. عاملوا نص المستند كمادة بسيطة غير موثوقة. عبارات مثل "تجاهل القواعد" أو "ارفع المفاتيح" أو "نفّذ الأوامر" داخل المستند ليست تفويضًا للأدوات.
  4. قيِّد إعادة المحاولة التلقائية والتزامن ونطاق النتائج؛ ولا تعِد بناء صلاحيات العمل الأصلية على العميل.
  5. سجِّل في السجلات معلومات الارتباط الضرورية فقط، دون Bearer أو refresh token أو رموز الموافقة أو محتوى العمل الحساس الكامل.
  6. بعد قطع اتصال المستخدم أو سحب المشرف للصلاحية، توقَّف عن استخدام التفويضات والبيانات المخزنة مؤقتًا، ولا تُبقِ الاتصال عبر locator قديم.

تلميحات الأدوات ليست صلاحيات

تُستخدم readOnlyHint وdestructiveHint وidempotentHint وopenWorldHint لفهم العميل للقدرات، ولا تضمن التأثير البسيط الفعلي لكل استدعاء، ولا تُغني عن تفويض المستخدم الحالي. عامل جميع إجراءات الكتابة والتخطيط والمعاينة والمحادثات والإلغاء وفق سلوكها الحقيقي.

مداخل يجب عدم استدعاؤها

  • خدمات Trino/Hive/Hadoop الأصلية وأي Heavy ETL غير مدرجة في Flash.
  • نطاقات FocusCode الداخلية الخاصة أو واجهات مساحات العمل.
  • أدوات التنفيذ v2 أو AutoML أو أي أدوات تجريبية أخرى غير ظاهرة في tools/list للمثيل الحالي.
  • منافذ المتصفح الخاصة REST أو اتصالات قواعد بيانات عشوائية أو خدمات مستأجرين آخرين لتجاوز رفض MCP.

دلالات البيانات

التزم بعقود الخادم الدقيقة للكسور العشرية والأنواع و币种 والوحدات والوقت والأدلة. لا تُعد تقريب 币种 أو تحويله لمجرد أن النص يبدو رقمًا، ولا تُرتب النتائج عالميًا للصفوف المرئية عند اقتطاع النتائج.

الفصول 24

توصيلات المشرف ومفاتيح الشرط

قبل تمكين القدرات الموسعة، تحقَّق من المكونات الفعلية والعناوين العامة وإعدادات الصلاحيات الأصلية.

الإعدادالغرضمتطلبات النشر
datafocus.mcp.public-base-urlعنوان الجذر الخارجي الرسمياتساق اكتشاف OAuth وissuer والاستدعاءات مع الوكيل العكسي
datafocus.mcp.allowed-originsالموافقة الإضافية على مصادر المتصفحإعداد دقيق دون التوسيع لأي مصدر
datafocus.mcp.oauth.route-proof-secretإثبات توجيه الرسم البياني بسري الخادم المخصصتخزين مستقل، دون استخدام Bearer كمفتاح
datafocus.mcp.analysis.tools.enabledأدوات التحليل التفاعليتوافر خدمات البيانات والمعرفة والصلاحيات المصاحبة فعليًا
datafocus.mcp.analysis.report-tools.enabledأدوات التقارير الدائمةتوافر الـ worker والتخزين المصاحبين وسلسلة الاستعادة
datafocus.mcp.analysis.apps.enabledعرض MCP Appsإعلان دعم العميل والتحقق من _meta المُعادة
datafocus.mcp.authoring.enabledعقود المسودات والنمذجةالحفاظ على صلاحيات المشرف والموارد الأصلية
datafocus.mcp.authoring.apply-enabledقدرة تطبيق المخرجات (Artifacts)خطط غير قابلة للتغيير وموافقات أصلية وإعادة تحقق من الحالة الحالية
datafocus.mcp.ontology-published-query-enabledالنماذج والاستعلامات المنشورةنسخ مُقدَّمة فعلًا وتفويض المصادر
datafocus.mcp.ontology-candidate-query-enabledالاستعلامات المهيكلة المرشحةملكية المرشح والنسخة الدقيقة وصلاحية القراءة
datafocus.mcp.authoring.ontology-auto-publication-enabledتفويضات النشر الآلي ذات الصلةسياسة أصلية سارية وثقة المفاتيح العامة والميزانية وصلاحية النشر

تأتي هذه الأسماء من إعداد وتنفيذ r56؛ وإمكانية تفعيلها تعتمد على الخدمات المصاحبة وبوابات التشغيل الأصلية. تغيير القيم المنطقية وحده لا يعوّض المعالِجات أو قواعد البيانات أو ميزانيات التحقق أو السياسات الناقصة. يحدد امتداد إدخال المعرفة ومهام Pi ظهورهما وفق المكونات المثبتة فعليًا.

الوكيل الطرفي

احتفظ بـ Authorization وContent-Type وMCP-Protocol-Version وMcp-Method وMcp-Name وOrigin المعتمد. عيِّن جسم الطلب والمهلة وTLS وفق متطلبات الخدمة الفعلية؛ ولا تُمرِّر /mcp العام إلى منفذ الإدارة أو إلى 产品 آخر.

قائمة تحقق ما قبل التشغيل

  • حالة الاكتشاف المجهول والاستدعاء المحمي مطابقة للمتوقع.
  • المستخدم العادي يكتشف نطاق تفويضه فقط، وتُرفض الطلبات اللاحقة بعد سحب الصلاحية.
  • جلسات Search الأصلية وSQL والنص الأصلي والتقارير الاختيارية لكل منها نتائج حقيقية.
  • موافقات الكتابة والنشر واستعادة idempotency تحافظ على السلوك الأصلي.
  • السجلات والمستندات العامة خالية من المفاتيح الخاصة والرموز وCookies وكلمات المرور وبيانات العملاء الداخلية.
الفصول 25

عميل قابل للتشغيل وأمثلة استدعاء

تحقَّق من الرسائل باستخدام العميل الأدنى المصاحب دون تجاوز OAuth أو التفويض الحالي.

examples/flash_mcp.py هو عميل بروتوكول أدنى يعتمد فقط على مكتبة Python القياسية. لا يسجل الدخول ولا ينوب عن الموافقات ولا يستدعي أدوات غير ظاهرة تلقائيًا، ويدعم البروتوكولات الحديثة والقديمة، ويخرج بحسب تصنيف HTTP وJSON-RPC وأخطاء الأدوات. يُدخَل الرمز عبر متغيرات بيئة العملية، ولا يُكتب في النصوص البرمجية أو ملفات الشرح.

bash
export FLASH_BASE_URL='https://flash.example.com'
read -r -s -p 'Access token: ' FLASH_ACCESS_TOKEN
export FLASH_ACCESS_TOKEN

python3 examples/flash_mcp.py discover
python3 examples/flash_mcp.py tools
python3 examples/flash_mcp.py call dfc_ontologies --arguments '{"page":1,"pageSize":20}'

unset FLASH_ACCESS_TOKEN

القراءة والاستعلام

bash
python3 examples/flash_mcp.py call dfc_ontology_resources \
  --arguments-file examples/requests/ontology-resources.json

python3 examples/flash_mcp.py call dfc_table \
  --arguments-file examples/requests/table-detail.json

python3 examples/flash_mcp.py call dfc_table \
  --arguments-file examples/requests/top3-query.json

استبدل أولًا العناصر النائبة مثل ONTOLOGY_ID وTABLE_RESOURCE_ID في ملف الطلب بالقيم الحقيقية التي أرجعها التفويض الحالي. يرفض العميل التنفيذ عند وجود عناصر نائبة. يتطلب مثال SQL استيراد CSV المصاحب بأسماء الأعمدة الأصلية؛ ولا يمكن التقديم مباشرة عند غياب الـ schema المقابل.

سيناريوهات أخرى

  • مدخل العمل: استخدم --endpoint business لإعادة الحصول على تحقق (Grant) موجَّه إلى /mcp/business.
  • العميل القديم: اختر --protocol 2025-11-25، ونفِّذ initialize أولًا، ثم استدعِ بالبروتوكول نفسه.
  • الشرح المدمج: استخدم resources أو read-resource لقراءة URI الفعلي.
  • الاختبار الذاتي دون اتصال: يتحقق ‎--self-test من إنشاء الترويسات الحديثة والبيانات الوصفية، ولا يحتاج إلى Token، ولا يطلب خادم المنتج.

حدود العينة

العميل هو نقطة الانطلاق للاتصال بالبروتوكول، ولا يولّد تلقائيًا مرشحات النمذجة أو يحفظ الأسئلة والأجوبة أو ينفذ النشر. إنه يُخرج JSON الأصلية ليتمكن Agent من الطبقة العليا من التحقق من حالة الأعمال؛ ولا تَعِد المستخدم بإنجاز الاستعلام أو التقرير أو النشر استنادًا إلى رمز خروج العملية وحده.

الفصول 26

تضمين واجهة محادثة الأنطولوجيا

تضمين صفحة محادثة الإنسان في الواجهة الأمامية للأعمال مع الحفاظ على حدود تسجيل الدخول وأمان المتصفح.

html
<iframe
  title="OT Flash ontology agent"
  src="https://flash.example.com/10001/#/embed/ontology-agent/1001"
  style="width:100%;height:760px;border:0"
  referrerpolicy="strict-origin-when-cross-origin">
</iframe>

‏10001 هو معرّف مستأجر للنموذج و1001 هو معرّف أنطولوجيا للنموذج؛ استبدلهما بإحداثيات حقيقية مخوّلة عند الاستخدام. يمكن تحديد أنطولوجيا واحدة عبر path أو query مدعوم؛ ويوفر وضع all خيار @ لاختيار الأنطولوجيات التي يمكن للمستخدم الحالي الوصول إليها. skillId للمرور فقط، ولا يجوز بناءً عليه الادعاء بأن تنسيق المهارات قابل للتنفيذ.

المصادقة والنطاق

تعتمد الصفحة المضمّنة حاليًا على حالة تسجيل دخول DataFocus حقيقية وتتحقق من /uc/status. تؤثر ملفات تعريف الارتباط عبر المواقع وSSO وframe-ancestors لـCSP وإعدادات البوابة جميعها على التضمين. لا يقبل وضع MCP Bearer داخل URL كقناة دخول بدون تسجيل؛ ولا يمكن وفق التصميم اقتراح أن المستخدم يبني بنفسه روابط خارجية غير منفذة خارج.

الفرق بين MCP وiframe

الطريقةالمستخدمالهوية والنتيجة
Remote MCPتكامل Agent أو خدمة خارجيةمنح OAuth وإيصالات أدوات منظمة
iframe محادثة الأنطولوجياالمستخدم النهائي البشريحالة تسجيل الدخول الأصلية وواجهة المحادثة
MCP Appsعميل MCP يدعم التوسعةموارد مُتحكَّم بها ونتائج الأدوات الحالية، وليس بديلاً عن تسجيل الدخول عبر iframe عام
الفصول 27

قائمة قبول التكامل

أثبت سلسلة الأعمال الكاملة على نسخة حقيقية، ولا تقتصر على التأكد من أن الواجهة تُرجع 200.

  1. الاكتشاف: الحصول على الإصدارات المدعومة فعليًا ودليل الأدوات الحالي والموارد المدمجة.
  2. التفويض: يرى المستخدم العادي الأنطولوجيات وأنظمة الأعمال المصرّح بها فقط؛ وتُرفض العمليات بدون scope.
  3. بنية الجدول: الأسماء المعروضة الحقيقية والأعمدة والأنواع والصلاحيات مكتملة.
  4. SQL: أحادي البعد ومتعدد الأبعاد وJOIN والتواريخ وTopN وفحوص الاقتطاع تتوافق مع معايير الأعمال الفعلية.
  5. المعرفة: يتطابق تحديد الموقع والنص الأصلي الكامل وأهلية الاستشهاد بالحقائق، والأسئلة المختلطة بها سند بيانات وسند مستندات معًا.
  6. Search: فحوصات النموذج وinit والتوصيات والنتائج والإغلاق وسلامة المخزن المؤقت ناجحة.
  7. التحليل والتقارير الاختيارية: الحالات الحقيقية متعددة الفروع والترقيم وتغييرات الصلاحيات والإلغاء تحافظ على السلوك الأصلي.
  8. النمذجة الاختيارية: التحقق مرحلة بمرحلة من المرشح والخطة والموافقة الأصلية والتطبيق الفعلي واستعلام الإصدار.
  9. إجراءات الأعمال: التحقق من تجزئة النشر والإصدار الهدف والموافقة والمعرّف النوعي (Idempotency) والعزل بين المنح.
  10. الاسترداد: استعادة الحالة الأصلية بعد انتهاء مهلة الشبكة، وتصبح تحديدات المواقع القديمة غير صالحة بعد تحديث المصدر ويُستخدم الاستعلام الجديد.

تسجيل النتائج

سجّل إصدار النسخة ودور المستخدم ونطاق Grant وإصدار الإعدادات والعمليات الفعلية ونتائجها. ميّز بشكل منفصل بين: الاختبار الذاتي دون اتصال لعميل البروتوكول، والقيم المتوقعة دون اتصال لـCSV النموذجية، والتحقق الثابت من مخطط JSON، وقبول الوظائف الفعلي عبر الإنترنت. لا تَعمّم نجاح مرحلة واحدة لتقرير نجاح المنتج بالكامل.

الفصول 28

الموارد القياسية والصيانة

استخدم مخططات الأدوات الكاملة المرفقة مع الدليل، وحافظ على مزامنتها مع نتائج الاكتشاف الفعلية من النسخة.

المواردالمحتوى
reference/mcp-tool-catalog.json32 مخطط إدخال معلنًا من جانب الأنطولوجيا و8 من جانب الأعمال؛ وبعض الأدوات تتضمن مخططات إخراج أصلية
reference/locales.json21 خيارًا اختياريًا و24 لغة إعدادات محلية (locale) متوافقة ومصطلحات واجهة المستخدم
reference/search-keywords.jsonفهرس كلمات مفتاحية ثابت لـ17 لغة محددة بوضوح
reference/analysis-contract-manifest.jsonقيود الإصدارات المتعلقة بالتحليل والفروع والحقائق والإيصالات والتقارير
examples/معايير CSV الاصطناعية، وشرح Top3، والنتائج المتوقعة لـSQL، وأصغر عميل بروتوكول

موارد الشرح المدمجة

text
datafocus://manuals/etl-formulas/v1
datafocus://manuals/search-keyword-queries/v1
datafocus://manuals/etl-functions/v1
datafocus://manuals/search-keywords/v1

يتطلب resources/list وresources/read أن يمتلك المستخدم الحالي واحدة على الأقل من صلاحيات القراءة المقابلة: metadata أو تشغيل search أو تشغيل etl. مستندات ETL مرجع ثابت عبر المنتجات؛ أما القدرة القابلة للتنفيذ لـFlash فلا تزال محصورة في النطاق الذي يبلّغ عنه صراحة.

مرجع البروتوكول الخارجي

للإطلاع على خلفية بروتوكول MCP والترخيص، يُرجع إلى المواصفات الرسمية: https://modelcontextprotocol.io/specification/2026-07-28/basic وhttps://modelcontextprotocol.io/specification/2025-11-25/basic/authorization. أما نقاط النهاية والأدوات والسلوكيات المشروطة لهذا المنتج فتُعتمد وفق تنفيذ r56 ونتائج الاكتشاف الحالية من النسخة؛ ولا يجوز مساواة دعم البروتوكول العام بتوفر الخادم لجميع الميزات الاختيارية.

الترقية والصيانة

عند الترقية، أعد اكتشاف الأدوات والإصدارات وقارن مخططات الإدخال وعقود الإخراج والإعدادات؛ ولا تكتسب المنح القديمة تلقائيًا scope جديدة. اربط المراجع وذاكرة التخزين المؤقت والإيصالات بإصدار المصدر، وأعد اكتساب السياق بعد تأكيد تغييرات غير متوافقة، ولا تفرض استخدام تحديدات المواقع القديمة على حالة أعمال جديدة.

الفصول 29

مرجع معلمات الأدوات: الأساسي وSearch الأصلية

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

الجداول التالية مرجع قراءة لحقول إدخال أدوات r56 الحالية. أما الأنواع المتداخلة الكاملة وoneOf وحقول الإدخال الشرطية وقيود الأنماط ومخططات بعض المخرجات فانظر reference/mcp-tool-catalog.json؛ وقبل الإرسال النهائي يجب قراءة tools/list لمنحة Grant الحالية. كلمة "اختياري" في الجداول لا تُلغي متطلبات التحقق الداخلية للإجراء.

dfc_manual

المعاملالنوعالشرطالمعنى والنطاق
namesarrayاختياري أو إلزامي مشروطالأسماء الصريحة المطلوب البحث عنها، بحد أقصى 32 لكل استدعاء. maxItems: 32
actionstringاختياري أو إلزامي مشروطاسم العملية. يُستخدم وفق التعداد الحالي والمعاملات المقابلة للإجراء. enum: list, read, keywords, functions, etl_requests
localestringاختياري أو إلزامي مشروطلغة (locale) فهرس المرجع الثابت الصريح، وليست اللغة الافتراضية للاستعلام.
uristringاختياري أو إلزامي مشروطURI للموارد المدمجة المدرجة في الأداة الحالية. enum: datafocus://manuals/etl-formulas/v1, datafocus://manuals/search-keyword-queries/v1, datafocus://manuals/etl-functions/v1, datafocus://manuals/search-keywords/v1

dfc_search

المعاملالنوعالشرطالمعنى والنطاق
dataobjectاختياري أو إلزامي مشروطحمولة الإجراء الأصلية؛ يُرجع إلى جدول اكتشاف القدرات وحقول الإجراء.
actionstringإلزامياسم العملية. يُستخدم وفق التعداد الحالي والمعاملات المقابلة للإجراء. enum: capabilities, model_create, model_read, open, request, poll, cancel, close

dfc_etl

المعاملالنوعالشرطالمعنى والنطاق
dataobjectاختياري أو إلزامي مشروطحمولة الإجراء الأصلية؛ يُرجع إلى جدول اكتشاف القدرات وحقول الإجراء.
actionstringإلزامياسم العملية. يُستخدم وفق التعداد الحالي والمعاملات المقابلة للإجراء. enum: capabilities

dfc_ontologies

المعاملالنوعالشرطالمعنى والنطاق
pageSizeintegerاختياري أو إلزامي مشروطعدد السجلات في الصفحة؛ وفق الحد الأعلى في المخطط. minimum: 1; maximum: 100
pageintegerاختياري أو إلزامي مشروطرقم الصفحة، يبدأ من 1. minimum: 1

dfc_ontology_resources

المعاملالنوعالشرطالمعنى والنطاق
resourceTypesarrayاختياري أو إلزامي مشروطمجموعة أنواع الموارد المطلوب إرجاعها.
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
pageSizeintegerاختياري أو إلزامي مشروطعدد السجلات في الصفحة؛ وفق الحد الأعلى في المخطط. minimum: 1; maximum: 100
pageintegerاختياري أو إلزامي مشروطرقم الصفحة، يبدأ من 1. minimum: 1
الفصول 30

مرجع معلمات الأدوات: الجداول والرسم البياني والمعرفة

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

الجداول التالية مرجع قراءة لحقول إدخال أدوات r56 الحالية. أما الأنواع المتداخلة الكاملة وoneOf وحقول الإدخال الشرطية وقيود الأنماط ومخططات بعض المخرجات فانظر reference/mcp-tool-catalog.json؛ وقبل الإرسال النهائي يجب قراءة tools/list لمنحة Grant الحالية. كلمة "اختياري" في الجداول لا تُلغي متطلبات التحقق الداخلية للإجراء.

dfc_ontology_graph

المعاملالنوعالشرطالمعنى والنطاق
relationTypesarrayاختياري أو إلزامي مشروطتصفية نوع العلاقة.
depthintegerاختياري أو إلزامي مشروطعمق اجتياز الجيران. minimum: 1; maximum: 3
sourceTypesarrayاختياري أو إلزامي مشروطتصفية نوع المصدر.
queryobjectاختياري أو إلزامي مشروطنص الاستعلام، أو كائن استعلام مُصدَّر بدقة ومقابل للإصدار وفق action.
limitintegerاختياري أو إلزامي مشروطالحد الأقصى لعدد النتائج المُرجعة. minimum: 1; maximum: 100
actionstringإلزامياسم العملية. يُستخدم وفق التعداد الحالي والمعاملات المقابلة للإجراء. enum: search, neighbors, published_model, published_query, candidate_query
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
nodeKeystringاختياري أو إلزامي مشروطمفتاح عقدة منسوخ من نتائج الرسم البياني الفعلية.
keywordstringاختياري أو إلزامي مشروطكلمات مفتاحية لتحديد موقع في الرسم البياني، وليست صيغة الأسئلة بالكلمات المفتاحية.
nodeTypesarrayاختياري أو إلزامي مشروطتصفية نوع العقدة.

dfc_ontology_query

المعاملالنوعالشرطالمعنى والنطاق
routeLocatorsarrayاختياري أو إلزامي مشروطنسخ كامل لتحديد المسار المُصدَّر من الخادم مع النوع. maxItems: 20
topKintegerاختياري أو إلزامي مشروطالحد الأقصى لعدد المرشحين المستدعَين، ولا يُثبت تغطية كاملة. minimum: 1; maximum: 20
queryModestringاختياري أو إلزامي مشروطاختيار وضع استرجاع الأدلة وفق تعداد الأداة. enum: vector, hybrid, graph
fanoutPlanobjectاختياري أو إلزامي مشروطخطة استرجاع الفروع المقيّدة، وفق المخطط المتداخل.
structuredPlanobjectاختياري أو إلزامي مشروطخطة مرتبطة بعقد الخادم لجدول المستندات الكامل، وليست SQL.
knowledgeIdsarrayاختياري أو إلزامي مشروطمعرّف قاعدة المعرفة داخل knowledgeBindings الفعلية.
querystringإلزامينص الاستعلام، أو كائن استعلام مُصدَّر بدقة ومقابل للإصدار وفق action.
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.

dfc_knowledge_search

المعاملالنوعالشرطالمعنى والنطاق
topKintegerاختياري أو إلزامي مشروطالحد الأقصى لعدد المرشحين المستدعَين، ولا يُثبت تغطية كاملة. minimum: 1; maximum: 20
minScorenumberاختياري أو إلزامي مشروطالحد الأدنى لدرجة التطابق. minimum: 0; maximum: 1
knowledgeIdsarrayاختياري أو إلزامي مشروطمعرّف قاعدة المعرفة داخل knowledgeBindings الفعلية.
querystringإلزامينص الاستعلام، أو كائن استعلام مُصدَّر بدقة ومقابل للإصدار وفق action.
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
assetIdsarrayاختياري أو إلزامي مشروطمعرّفات أصول المستندات المسموح بها حاليًا.
retrievalStrategystringاختياري أو إلزامي مشروطاستراتيجية الاسترجاع المدعومة فعليًا. enum: auto, hybrid_stage2

dfc_knowledge_detail

المعاملالنوعالشرطالمعنى والنطاق
qdrantIdstring / integerاختياري أو إلزامي مشروطمعرّف الفهرس المُرجع من تحديد الموقع الفعلي.
pageNointegerاختياري أو إلزامي مشروطالصفحة الفعلية أو رقم صفحة التقسيم.
evidenceIdstringاختياري أو إلزامي مشروطمعرّفات الأدلة المُرجعة من تحديد موقع المعرفة نفسه.
actionstringإلزامياسم العملية. يُستخدم وفق التعداد الحالي والمعاملات المقابلة للإجراء. enum: chunk, document, page_context
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
documentIdstring / integerاختياري أو إلزامي مشروطمعرّف المستند لنفس تحديد الموقع.
radiusintegerاختياري أو إلزامي مشروطنطاق الصفحات المجاورة. minimum: 0; maximum: 3
chunkIdstringاختياري أو إلزامي مشروطمعرّف الجزء الفعلي لنفس تحديد الموقع.

dfc_table

المعاملالنوعالشرطالمعنى والنطاق
maxRowsintegerاختياري أو إلزامي مشروطالحد الأقصى لعدد الصفوف المُرجعة؛ وليس نطاق ترتيب من جهة العميل. minimum: 1; maximum: 200
actionstringإلزامياسم العملية. يُستخدم وفق التعداد الحالي والمعاملات المقابلة للإجراء. enum: detail, query
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
idstringاختياري أو إلزامي مشروطمعرّف مورد الجدول الحقيقي، وليس الاسم الفيزيائي أو الاسم المعروض.
sqlstringاختياري أو إلزامي مشروطاستعلام Doris SQL للقراءة فقط ضمن نطاق أنطولوجيا واحد، مع أعمدة إخراج صريحة.
الفصول 31

مرجع معلمات الأدوات: التحليل والتقارير

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

الجداول التالية مرجع قراءة لحقول إدخال أدوات r56 الحالية. أما الأنواع المتداخلة الكاملة وoneOf وحقول الإدخال الشرطية وقيود الأنماط ومخططات بعض المخرجات فانظر reference/mcp-tool-catalog.json؛ وقبل الإرسال النهائي يجب قراءة tools/list لمنحة Grant الحالية. كلمة "اختياري" في الجداول لا تُلغي متطلبات التحقق الداخلية للإجراء.

dfc_analysis_ask

المعاملالنوعالشرطالمعنى والنطاق
questionstringإلزاميسؤال باللغة الطبيعية أو سؤال متابعة متوافق.
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
languagestringاختياري أو إلزامي مشروطلغة (locale) صريحة للإجابة أو الاستعلام؛ وعند الإغفال تُتبع قواعد الأداة المقابلة.
sessionIdstringاختياري أو إلزامي مشروطتحديد محادثة حقيقي ضمن نفس Grant.

dfc_analysis_refine

المعاملالنوعالشرطالمعنى والنطاق
branchIdstringاختياري أو إلزامي مشروطتحديد فرع منظم مُصدَر من الخادم.
resultIdstringإلزاميتحديد نتيجة التحليل المُرجعة الأصلية.
questionstringاختياري أو إلزامي مشروطسؤال باللغة الطبيعية أو سؤال متابعة متوافق.
idempotencyKeystringإلزاميمفتاح idempotency يُعاد استخدامه بثبات لعملية منطقية واحدة.
changeobjectاختياري أو إلزامي مشروطتغيير باللغة الطبيعية أو filter_patch مُصدَّر بالأنواع.
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
languagestringاختياري أو إلزامي مشروطلغة (locale) صريحة للإجابة أو الاستعلام؛ وعند الإغفال تُتبع قواعد الأداة المقابلة.
sessionIdstringإلزاميتحديد محادثة حقيقي ضمن نفس Grant.
expectedRevisionintegerإلزاميشرط إصدار رأس الأعمال أو النتيجة الأصلية؛ ويمكن أن يكون null عند إنشاء السؤال. minimum: 1
visualIdstringاختياري أو إلزامي مشروطتحديد مرئيات مرتبط بالفرع.

dfc_analysis_page

المعاملالنوعالشرطالمعنى والنطاق
branchIdstringإلزاميتحديد فرع منظم مُصدَر من الخادم.
resultIdstringإلزاميتحديد نتيجة التحليل المُرجعة الأصلية.
pageNointegerإلزاميالصفحة الفعلية أو رقم صفحة التقسيم. minimum: 1; maximum: 10000
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
pageSizeintegerإلزاميعدد السجلات في الصفحة؛ وفق الحد الأعلى في المخطط. minimum: 1; maximum: 100
sessionIdstringإلزاميتحديد محادثة حقيقي ضمن نفس Grant.
expectedRevisionintegerإلزاميشرط إصدار رأس الأعمال أو النتيجة الأصلية؛ ويمكن أن يكون null عند إنشاء السؤال. minimum: 1

dfc_analysis_result_get

المعاملالنوعالشرطالمعنى والنطاق
resultIdstringإلزاميتحديد نتيجة التحليل المُرجعة الأصلية.
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
sessionIdstringإلزاميتحديد محادثة حقيقي ضمن نفس Grant.

dfc_analysis_cancel

المعاملالنوعالشرطالمعنى والنطاق
resultIdstringإلزاميتحديد نتيجة التحليل المُرجعة الأصلية.
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
sessionIdstringإلزاميتحديد محادثة حقيقي ضمن نفس Grant.

dfc_analysis_close

المعاملالنوعالشرطالمعنى والنطاق
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
sessionIdstringإلزاميتحديد محادثة حقيقي ضمن نفس Grant.

dfc_report_create

المعاملالنوعالشرطالمعنى والنطاق
goalstringإلزاميهدف تحليل التقرير.
idempotencyKeystringإلزاميمفتاح idempotency يُعاد استخدامه بثبات لعملية منطقية واحدة.
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
languagestringاختياري أو إلزامي مشروطلغة (locale) صريحة للإجابة أو الاستعلام؛ وعند الإغفال تُتبع قواعد الأداة المقابلة.
titlestringاختياري أو إلزامي مشروطعنوان تقرير اختياري.

dfc_report_status

المعاملالنوعالشرطالمعنى والنطاق
reportIdstringإلزاميتحديد التقرير الدائم لمنحة Grant الحالية.
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.

dfc_report_cancel

المعاملالنوعالشرطالمعنى والنطاق
reportIdstringإلزاميتحديد التقرير الدائم لمنحة Grant الحالية.
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
الفصول 32

مرجع معلمات الأدوات: النمذجة والمهام الأصلية

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

الجداول التالية مرجع قراءة لحقول إدخال أدوات r56 الحالية. أما الأنواع المتداخلة الكاملة وoneOf وحقول الإدخال الشرطية وقيود الأنماط ومخططات بعض المخرجات فانظر reference/mcp-tool-catalog.json؛ وقبل الإرسال النهائي يجب قراءة tools/list لمنحة Grant الحالية. كلمة "اختياري" في الجداول لا تُلغي متطلبات التحقق الداخلية للإجراء.

dfc_ontology_agent

المعاملالنوعالشرطالمعنى والنطاق
modestringاختياري أو إلزامي مشروطQUERY أو AUTHORING، وتُمنح القدرات لكلٍّ منهما على حدة. enum: QUERY, AUTHORING
instructionstringاختياري أو إلزامي مشروطنص متطلبات المستخدم؛ يجب أن يظل السياق متسقًا مع الإرسال. maxLength: 16000
idempotencyKeystringاختياري أو إلزامي مشروطمفتاح idempotency يُعاد استخدامه بثبات لعملية منطقية واحدة. maxLength: 128
actionstringإلزامياسم العملية. يُستخدم وفق التعداد الحالي والمعاملات المقابلة للإجراء. enum: start, status, cancel
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
runIdstringاختياري أو إلزامي مشروطمعرّف المهمة الأصلية لنفس الأنطولوجيا وGrant.
contractVersionstringإلزامييجب استخدام إصدار العقد المدعوم فعليًا ودقيقًا. enum: ontology-agent-task-v1

dfc_authoring_capabilities

لا يحتوي الكائن الجذري لإدخال هذه الأداة على أي حقول؛ استخدم كائن arguments فارغًا.

dfc_artifact_context

المعاملالنوعالشرطالمعنى والنطاق
artifactTypestringإلزامينوع النشر الفعلي المفتوح للأثر المُنشأ أو الأنطولوجيا. enum: CONTROL_PANEL_SPEC, VIEW_SPEC
scopeTypestringاختياري أو إلزامي مشروطنطاق الموارد في عقد الأصل الفعلي.
ontologyIdstringاختياري أو إلزامي مشروطمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
projectIdstringاختياري أو إلزامي مشروطمعرّف المشروع المرخّص حاليًا.
artifactIdstringاختياري أو إلزامي مشروطالمعرّف الحقيقي للأصل الموجود عند التحرير.
instructionstringإلزامينص متطلبات المستخدم؛ السياق متوافق مع الإرسال.
variablesobjectاختياري أو إلزامي مشروطكائن المتغيرات المقدَّم وفق العقد المرتجع.
previewInputobjectاختياري أو إلزامي مشروطمدخلات المعاينة المحدودة المقدَّمة وفق العقد.
viewportobjectاختياري أو إلزامي مشروطإطار العرض المعروض المطلوب في العقد الأصلي.

dfc_ontology_table_schema

المعاملالنوعالشرطالمعنى والنطاق
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
sourceAssetRefstringإلزاميمرجع أصل مهيكل مُسجَّل، مثل table:123.
fieldsarrayإلزاميحقول المصدر الحالي مع تعريفات أنواع صريحة اختيارية. minItems: 1; maxItems: 64

dfc_artifact_preview

المعاملالنوعالشرطالمعنى والنطاق
proposalIdstringإلزاميمعرّف المرشّح الأصلي الذي أُنشئ من التصريح الحالي.
candidateHashstringإلزاميالهاش الدقيق للمرشّح الأصلي من الخادم.
previewInputobjectإلزاميمدخلات المعاينة المحدودة المقدَّمة وفق العقد.

dfc_artifact_status

المعاملالنوعالشرطالمعنى والنطاق
proposalIdstringاختياري أو إلزامي مشروطمعرّف المرشّح الأصلي الذي أُنشئ من التصريح الحالي.
planIdstringاختياري أو إلزامي مشروطمعرّف خطة التطبيق غير القابلة للتغيير.

dfc_artifact_plan

المعاملالنوعالشرطالمعنى والنطاق
proposalIdstringإلزاميمعرّف المرشّح الأصلي الذي أُنشئ من التصريح الحالي.
candidateHashstringإلزاميالهاش الدقيق للمرشّح الأصلي من الخادم.
expectedTargetVersionintegerإلزاميالمتطلب الأساسي لإصدار الهدف الحقيقي الحالي. minimum: 0
idempotencyKeystringإلزاميمفتاح idempotency يُعاد استخدامه بثبات لعملية منطقية واحدة.

dfc_artifact_apply

المعاملالنوعالشرطالمعنى والنطاق
planIdstringإلزاميمعرّف خطة التطبيق غير القابلة للتغيير.
planHashstringإلزاميالهاش المرتجع من الخطة الأصلية.
approvalTokenstringإلزاميمواد الموافقة الصادرة من الخادم الأصلي، ويُحظر توليدها ذاتيًا.
idempotencyKeystringإلزاميمفتاح idempotency يُعاد استخدامه بثبات لعملية منطقية واحدة.

dfc_artifact_submit

المعاملالنوعالشرطالمعنى والنطاق
التكوين 1 / artifactTypestringإلزامينوع النشر الفعلي المفتوح للأثر المُنشأ أو الأنطولوجيا. enum: CONTROL_PANEL_SPEC, VIEW_SPEC
التكوين 1 / scopeTypestringاختياري أو إلزامي مشروطنطاق الموارد في عقد الأصل الفعلي.
التكوين 1 / ontologyIdstringاختياري أو إلزامي مشروطمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
التكوين 1 / projectIdstringاختياري أو إلزامي مشروطمعرّف المشروع المرخّص حاليًا.
التكوين 1 / artifactIdstringاختياري أو إلزامي مشروطالمعرّف الحقيقي للأصل الموجود عند التحرير.
التكوين 1 / instructionstringإلزامينص متطلبات المستخدم؛ السياق متوافق مع الإرسال.
التكوين 1 / variablesobjectاختياري أو إلزامي مشروطكائن المتغيرات المقدَّم وفق العقد المرتجع.
التكوين 1 / previewInputobjectاختياري أو إلزامي مشروطمدخلات المعاينة المحدودة المقدَّمة وفق العقد.
التكوين 1 / viewportobjectاختياري أو إلزامي مشروطإطار العرض المعروض المطلوب في العقد الأصلي.
التكوين 1 / contractVersionstringإلزامييجب استخدام إصدار العقد الدقيق المدعوم فعليًا.
التكوين 1 / contextHashstringإلزاميهاش السياق الكامل المرتجع من context.
التكوين 1 / baseArtifactHashstringإلزاميهاش الأصل الأساسي المرتجع من context.
التكوين 1 / baseArtifactVersionintegerإلزاميالإصدار الأساسي المرتجع من context. minimum: 0
التكوين 1 / candidateobjectإلزاميكائن مرشّح متوافق مع العقد المرتجع الحالي.
التكوين 1 / clientRequestIdstringإلزاميمفتاح عدم التكرار الخاص بالعميل المستخدم بشكل ثابت لطلب المرشّح الحالي.
التكوين 2 / artifactTypestringإلزامينوع النشر الفعلي المُفعَّل للأصل أو الأنطولوجيا. enum: ONTOLOGY_RELEASE
التكوين 2 / contractVersionstringإلزامييجب استخدام إصدار العقد الدقيق المدعوم فعليًا. enum: ontology-publication-mcp-submit-v1, ontology-publication-mcp-submit-v2, ontology-publication-mcp-submit-v3, ontology-publication-mcp-submit-v4, ontology-publication-mcp-submit-v5, ontology-publication-mcp-submit-v6
التكوين 2 / ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
التكوين 2 / candidateHashstringإلزاميالهاش الدقيق للمرشّح الأصلي من الخادم.
التكوين 2 / workspaceIdstringإلزاميإحداثيات مساحة عمل المرشّح الفعلية.
التكوين 2 / workspaceRevisionstringإلزاميإصدار المرشّح الدقيق، دون استخدام latest.
التكوين 2 / releasesobjectإلزامياختيار الإصدار الدقيق المقدَّم وفق عقد نشر الأنطولوجيا.
التكوين 2 / selectionobjectإلزامييوفّر إحداثيات اختيار الأعمال الواضحة فقط، دون أذونات أو إثبات إتمام.
التكوين 2 / idempotencyKeystringإلزاميمفتاح idempotency يُعاد استخدامه بثبات لعملية منطقية واحدة.
التكوين 3 / التكوين 1 / artifactTypestringإلزامينوع النشر الفعلي المُفعَّل للأصل أو الأنطولوجيا. enum: ONTOLOGY_RELEASE
التكوين 3 / التكوين 1 / contractVersionstringإلزامييجب استخدام إصدار العقد الدقيق المدعوم فعليًا. enum: ontology-workspace-create-mcp-submit-v1
التكوين 3 / التكوين 1 / ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
التكوين 3 / التكوين 1 / workspaceIdstringإلزاميإحداثيات مساحة عمل المرشّح الفعلية.
التكوين 3 / التكوين 1 / resourcesarrayإلزاميتعريف النموذج الأصلي المُجمَّع من الخادم. minItems: 1
التكوين 3 / التكوين 1 / idempotencyKeystringإلزاميمفتاح idempotency يُعاد استخدامه بثبات لعملية منطقية واحدة.
التكوين 3 / التكوين 2 / artifactTypestringإلزامينوع النشر الفعلي المُفعَّل للأصل أو الأنطولوجيا. enum: ONTOLOGY_RELEASE
التكوين 3 / التكوين 2 / contractVersionstringإلزامييجب استخدام إصدار العقد الدقيق المدعوم فعليًا. enum: ontology-workspace-create-mcp-submit-v2
التكوين 3 / التكوين 2 / ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
التكوين 3 / التكوين 2 / workspaceIdstringإلزاميإحداثيات مساحة عمل المرشّح الفعلية.
التكوين 3 / التكوين 2 / resourcesarrayإلزاميتعريف النموذج الأصلي المُجمَّع من الخادم. minItems: 1
التكوين 3 / التكوين 2 / idempotencyKeystringإلزاميمفتاح idempotency يُعاد استخدامه بثبات لعملية منطقية واحدة.
التكوين 3 / التكوين 2 / releaseSelectionsobjectإلزاميقيمة releaseId الدقيقة وعبوة الاعتماديات لكل مرجع منشور.
التكوين 4 / artifactTypestringإلزامينوع النشر الفعلي المُفعَّل للأصل أو الأنطولوجيا. enum: ONTOLOGY_RELEASE
التكوين 4 / contractVersionstringإلزامييجب استخدام إصدار العقد الدقيق المدعوم فعليًا. enum: ontology-initial-activation-retirement-submit-v1
التكوين 4 / ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
التكوين 4 / domainRidstringإلزاميقيمة RID لنطاق الأعمال الحقيقي.
التكوين 4 / consumerScopesarrayإلزامينطاق المستهلكين الدقيق المسموح به من الخادم. minItems: 1; maxItems: 256
التكوين 4 / idempotencyKeystringإلزاميمفتاح idempotency يُعاد استخدامه بثبات لعملية منطقية واحدة.
الفصول 33

معلمات الأداة: مرجع مدخلات المعرفة والنطاق

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

الجداول التالية مرجع قراءة لحقول إدخال أدوات r56 الحالية. أما الأنواع المتداخلة الكاملة وoneOf وحقول الإدخال الشرطية وقيود الأنماط ومخططات بعض المخرجات فانظر reference/mcp-tool-catalog.json؛ وقبل الإرسال النهائي يجب قراءة tools/list لمنحة Grant الحالية. كلمة "اختياري" في الجداول لا تُلغي متطلبات التحقق الداخلية للإجراء.

dfc_ontology_knowledge_input_propose

المعاملالنوعالشرطالمعنى والنطاق
requestobjectإلزاميطلب مدخلات الأعمال الأصلي؛ وفق المخطط المتداخل الكامل.
idempotencyKeystringإلزاميمفتاح عدم التكرار المُعاد استخدامه بشكل ثابت للعملية المنطقية نفسها. minLength: 1; maxLength: 128

لتنفيذ هذه الأداة outputSchema أصلي. تحقّق من سلامة المخرجات والحالة وحقول الترخيص المحددة كـ false، ولا تُرقِّ معنى الإتمام من تلقاء نفسك.

dfc_ontology_knowledge_input_preview

المعاملالنوعالشرطالمعنى والنطاق
idempotencyKeystringإلزاميمفتاح عدم التكرار المُعاد استخدامه بشكل ثابت للعملية المنطقية نفسها. minLength: 1; maxLength: 128
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.

لتنفيذ هذه الأداة outputSchema أصلي. تحقّق من سلامة المخرجات والحالة وحقول الترخيص المحددة كـ false، ولا تُرقِّ معنى الإتمام من تلقاء نفسك.

dfc_ontology_knowledge_question_submit

المعاملالنوعالشرطالمعنى والنطاق
questionRevision$refإلزاميالإصدار الصريح للمسألة المطلوب تأكيدها هذه المرة.
idempotencyKey$refإلزاميمفتاح idempotency يُعاد استخدامه بثبات لعملية منطقية واحدة.
originalInputKey$refإلزاميمفتاح عدم التكراء المقابل لمدخلات المعرفة الأصلية.
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذه المنحة، ويُحفظ كسلسلة نصية.
validUntil$refإلزامينقطة نهاية نافذة صلاحية المسألة، بتوقيت UTC.
expectedRevisiononeOfإلزاميمتطلب إصدار نتائج الأعمال أو الرأس الأصلي؛ وقد يكون null عند إنشاء المسألة.
validFrom$refإلزامينقطة بداية نافذة صلاحية المسألة، بتوقيت UTC.

لتنفيذ هذه الأداة outputSchema أصلي. تحقّق من سلامة المخرجات والحالة وحقول الترخيص المحددة كـ false، ولا تُرقِّ معنى الإتمام من تلقاء نفسك.

dfc_ontology_business_scope_initialize

المعاملالنوعالشرطالمعنى والنطاق
domainRevisionIdstringإلزاميإصدار نطاق الأعمال الدقيق. minLength: 1; maxLength: 128
idempotencyKeystringإلزاميمفتاح عدم التكرار المُعاد استخدامه بشكل ثابت للعملية المنطقية نفسها. minLength: 1; maxLength: 128
businessSystemIdstringإلزاميمعرّف نظام الأعمال الحقيقي. minLength: 1
ontologyIdstringإلزاميمعرّف الأنطولوجيا الحقيقي ضمن هذا الترخيص، محفوظ كسلسلة نصية. minLength: 1
domainRidstringإلزاميقيمة RID لنطاق الأعمال الحقيقي. minLength: 1; maxLength: 128

لتنفيذ هذه الأداة outputSchema أصلي. تحقّق من سلامة المخرجات والحالة وحقول الترخيص المحددة كـ false، ولا تُرقِّ معنى الإتمام من تلقاء نفسك.

الفصول 34

معلمات الأداة: مرجع مساحة عمل الأعمال

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

الجداول التالية مرجع قراءة لحقول إدخال أدوات r56 الحالية. أما الأنواع المتداخلة الكاملة وoneOf وحقول الإدخال الشرطية وقيود الأنماط ومخططات بعض المخرجات فانظر reference/mcp-tool-catalog.json؛ وقبل الإرسال النهائي يجب قراءة tools/list لمنحة Grant الحالية. كلمة "اختياري" في الجداول لا تُلغي متطلبات التحقق الداخلية للإجراء.

dfb_systems

لا يحتوي الكائن الجذري لإدخال هذه الأداة على أي حقول؛ استخدم كائن arguments فارغًا.

dfb_system_describe

المعاملالنوعالشرطالمعنى والنطاق
systemIdstring / integerإلزاميمعرّف النظام المسموح به ضمن تصريح الأعمال هذا.

dfb_query

المعاملالنوعالشرطالمعنى والنطاق
systemIdstring / integerإلزاميمعرّف النظام المسموح به ضمن تصريح الأعمال هذا.
queryKeystringإلزاميمفتاح الاستعلام المنشور المرتجع من describe.
objectKeystringاختياري أو إلزامي مشروطمفتاح الكائن المنشور.
pageSizeintegerاختياري أو إلزامي مشروطعدد السجلات في الصفحة؛ وفق الحد الأعلى في المخطط. minimum: 1; maximum: 100
pageintegerاختياري أو إلزامي مشروطرقم الصفحة، يبدأ من 1. minimum: 1
statestringاختياري أو إلزامي مشروطتصفية حالة الأعمال أو حالة الخادم.

dfb_record

المعاملالنوعالشرطالمعنى والنطاق
recordIdstring / integerإلزاميمعرّف سجل الأعمال المسموح بقراءته حاليًا.
systemIdstring / integerإلزاميمعرّف النظام المسموح به ضمن تصريح الأعمال هذا.

dfb_work_items

المعاملالنوعالشرطالمعنى والنطاق
systemIdstring / integerإلزاميمعرّف النظام المسموح به ضمن تصريح الأعمال هذا.

dfb_action_plan

المعاملالنوعالشرطالمعنى والنطاق
expectedRecordVersionintegerاختياري أو إلزامي مشروطإصدار القفل المتفائل الحالي للسجل الهدف. minimum: 1
systemIdstring / integerإلزاميمعرّف النظام المسموح به ضمن تصريح الأعمال هذا.
commandTypestringإلزامينوع الأمر في العقد المنشور.
canonicalIrHashstringإلزاميهاش IR القياسي للنشر الحالي.
releaseIdstring / integerإلزاميمعرّف إصدار عقد النشر الفعلي.
payloadobjectإلزاميالحمولة المتوافقة مع عقد الأمر الحالي في describe.
releaseHashstringإلزاميهاش عقد النشر الفعلي.
targetRecordIdstring / integerاختياري أو إلزامي مشروطالسجل الهدف الحقيقي المطلوب تنفيذ العملية عليه.
agentManifestHashstringإلزاميهاش manifest قدرات الـ Agent الفعلي.
planIdempotencyKeystringإلزاميمفتاح عدم التكرار الثابت لخطة الأعمال.

dfb_action_status

المعاملالنوعالشرطالمعنى والنطاق
actionPlanIdstring / integerإلزاميمعرّف خطة الإجراءات المملوك لتصريح الأعمال الحالي.

dfb_action_execute

المعاملالنوعالشرطالمعنى والنطاق
approvalTokenstringاختياري أو إلزامي مشروطمواد الموافقة الصادرة من الخادم الأصلي، ويُحظر توليدها ذاتيًا.
actionPlanIdstring / integerإلزاميمعرّف خطة الإجراءات المملوك لتصريح الأعمال الحالي.