تكامل مزود بوابة القرار + بنية سجل القدرات
Audience: Engineers implementing provider integration or capability الجمهور: المهندسون الذين يقومون بتنفيذ تكامل المزود أو التحقق من القدرات للتحقق من الشروط واستعلامات الأدلة.
جدول المحتويات
- نظرة عامة تنفيذية
- تكوين المزود
- سجل القدرات
- عقود مقدمي الخدمات الخارجيين
- اتحاد مزودي الأدلة
- تنفيذ على مستوى الأداة
- مرجع متقاطع ملف بملف
نظرة عامة تنفيذية
يدعم Decision Gate نوعين من مقدمي الخدمة:
- المزودون المدمجون (مترجمون إلى الثنائي)
- مزودو MCP الخارجيون (نقل stdio أو HTTP)
عقود قدرات المزود هي المخطط المعتمد لمعلمات التحقق، والنتائج، والمقارنات المسموح بها. يقوم سجل القدرات بالتحقق من مواصفات السيناريو واستعلامات الأدلة قبل التقييم. تقوم فيدرالية الأدلة بتوجيه الاستعلامات إلى المزودين وتطبيق سياسات الثقة. F:crates/decision-gate-config/src/config.rs L1883-L1990 F:crates/decision-gate-mcp/src/capabilities.rs L229-L379 F:crates/decision-gate-mcp/src/evidence.rs L138-L210
تكوين المزود
تم تعريف تكوين المزود في ProviderConfig:
type:builtinأوmcpcommand/url: اختيار النقل لمزودي MCPcapabilities_path: مسار JSON للعقد (مطلوب لمزودي MCP)auth.bearer_token: مصادقة موفر اختياريةtrust: تجاوز الثقة حسب المزودallow_raw: خيار الكشف عن الأدلة الخامtimeouts: مهلات الاتصال وطلبات HTTP
تُعرّف عناصر التحكم في الاكتشاف في provider_discovery:
allowlist/denylist: تقييد العقود المقدمة التي يتم الكشف عنهاmax_response_bytes: تحديد حجم استجابة الاكتشاف
تفرض التحقق:
- يجب على مزودي MCP تحديد
commandأوurlوcapabilities_path. allow_insecure_httpمطلوب لروابطhttp://.- أسماء المزودين فريدة ومختصرة.
- المعرفات المدمجة (
time,env,json,http) محجوزة؛ لا يمكن لمزودي MCP استخدامها. - Built-ins must use a reserved identifier and reject MCP-only fields (
command,url, يجب أن تستخدم العناصر المدمجة معرفًا محجوزًا وترفض الحقول الخاصة بـ MCP فقط (command,url,allow_insecure_http,auth,capabilities_path).
F:crates/decision-gate-config/src/config.rs L1883-L1990
سجل القدرات
سجل القدرات يقوم بتحميل عقود المزودين وتجميع مخططات JSON لبيانات التحقق من المعلمات والنتائج. يقوم بالتحقق من:
- مزود والتحقق من الوجود
- وجود المعلمات المطلوبة
- توافق مخطط المعلمات
- التوافق مع مخطط القيمة المتوقعة
- قوائم السماح للمقارنات
- Anchor types declared by provider contracts (e.g.,
file_path_rootedfor the أنواع المراسي المعلنة من قبل عقود المزودين (على سبيل المثال،file_path_rootedلمزودjsonالمدمج)
F:crates/decision-gate-mcp/src/capabilities.rs L313-L379 F:crates/decision-gate-mcp/src/capabilities.rs L598-L636
استعلامات سجل القدرات تُستخدم من قِبل أدوات تعريف السيناريو واستعلام الأدلة. F:crates/decision-gate-mcp/src/tools.rs L2029-L2050 F:crates/decision-gate-mcp/src/tools.rs L979-L1017
عقود مقدمي الخدمات الخارجيين
يجب على مقدمي الخدمات الخارجيين تقديم ملف JSON للعقد يتضمن ما يلي:
- يتطابق مع معرف المزود المكون
- يعلن
transport = "mcp" - يحدد الفحوصات مع قوائم المقارنات المسموح بها
العقود محدودة الحجم وتم التحقق من المسار؛ العقود غير الصالحة تفشل بشكل مغلق. F:crates/decision-gate-mcp/src/capabilities.rs L533-L591
اتحاد مزودي الأدلة
تجمع اتحاد الأدلة بين مقدمي الخدمات المدمجين ومقدمي خدمات MCP:
- يتم تسجيل المكونات المدمجة عبر سجل المزود.
- يتم إنشاء مزودي MCP باستخدام النقل عبر stdio أو HTTP.
- يرفض سجل المزودين التسجيلات المكررة لمنع التداخل الصامت.
- Stdio provider processes are terminated on drop to avoid orphaned provider يتم إنهاء عمليات مزود Stdio عند الانسحاب لتجنب أوقات تشغيل المزود اليتيمة أثناء الإغلاق أو تفكيك الاختبار.
- يتم تطبيق سياسات المزود (trust + allow_raw) لكل مزود.
- Evidence results may include structured error metadata (
code,message, قد تتضمن نتائج الأدلة بيانات وصفية للخطأ منظمة (code,message,details) لدعم حلقات الاسترداد الحتمية. - HTTP evidence providers enforce timeouts, disallow redirects, apply response تفرض مزودات الأدلة HTTP مهلات، وتمنع إعادة التوجيه، وتطبق حدود حجم الاستجابة، وتفشل بشكل مغلق عند وجود أجسام مقطوعة (عدم تطابق Content-Length).
F:crates/decision-gate-mcp/src/evidence.rs L138-L210 F:crates/decision-gate-mcp/src/evidence.rs L248-L266 F:crates/decision-gate-providers/src/http.rs L82-L239
تطبيق سياسة الثقة (التحقق من التوقيع) يتم وفقًا لاستجابة المزود. F:crates/decision-gate-mcp/src/evidence.rs L636-L677
فرض مستوى الأداة
سلوك الأداة يفرض سياسة القدرة والإفصاح:
scenario_defineيتحقق من المواصفات مقابل القدرات قبل التسجيل.evidence_queryيتحقق من صحة الاستعلامات ويطبق سياسة حذف الأدلة الخام.evidence_queryexecution is offloaded to a blocking task to isolateevidence_queryيتم تنفيذها في مهمة محجوزة لعزل مقدمي الخدمات المحجوزين (HTTP) عن وقت تشغيل MCP غير المتزامن.provider_contract_get/provider_check_schema_getapply disclosure policy andprovider_contract_get/provider_check_schema_getتطبق سياسة الإفصاح وتعيد عقود المزودين القياسية أو مخططات التحقق.- Comparator allow-lists are enforced from provider contracts;
json.pathيتم تطبيق قوائم السماح للمقارنات من عقود المزود؛json.pathيكشف عن كامل مساحة سطح المقارنة لأدلة JSON الحتمية.
F:crates/decision-gate-mcp/src/tools.rs L2029-L2050 F:crates/decision-gate-mcp/src/tools.rs L979-L1037 F:crates/decision-gate-mcp/src/tools.rs L1110-L1150 F:crates/decision-gate-mcp/src/tools.rs L2294-L2334
مرجع متقاطع لكل ملف
| المنطقة | الملف | الملاحظات |
|---|---|---|
| تكوين المزود + التحقق | crates/decision-gate-config/src/config.rs | نوع المزود، النقل، مسار العقد، أوقات الانتظار، السماح/الرفض في الاكتشاف. |
| سجل القدرات | crates/decision-gate-mcp/src/capabilities.rs | تحميل العقد، تجميع المخطط، التحقق. |
| اتحاد الأدلة | crates/decision-gate-mcp/src/evidence.rs | سجل المزود + تنفيذ الثقة. |
| تكامل الأدوات | crates/decision-gate-mcp/src/tools.rs | التحقق من المواصفات/الاستعلام وسياسة الإفصاح. |