تأليف سياسة مخصصة
- لوحة المعلومات
- CLI
- انتقل إلى Admin → محرر السياسة، واختر سياسة جديدة، واصف حالة الفشل التي تريد منعها.
- أضف مصدر السياسة، ثم اختبر المطابقات المتوقعة والمطابقات الآمنة غير المطابقة في المحرر. حل كل خطأ في التحقق.
- احفظ المسودة واختر نشر الإصدار لإنشاء نسخة ثابتة.
-
انتقل إلى Admin → الإنفاذ، ونشر الإصدار على جهاز اختبار في وضع المراقبة، والتحقق من قراراته ضمن المراقبة → السياسة قبل فرضه.

ابدأ بقاعدة ضيقة
تمنع هذه السياسة أوامر Kubernetes المدمرة فقط عندما يستهدف الأمر الإنتاج. كل شيء خارج نمط الفشل الدقيق هذا يعيدallow().
allow() بمجرد عدم انطباق القاعدة.
اختر قرار
اكتب السبب للوكيل الذي يجب أن يتعافى. اشرح ما تم الكشف عنه وما يجب أن يفعله بدلاً من ذلك.
كائن السياسة
صفف الأدوات داخل
fn. match.toolNames ليست جزءًا من نوع السياسة المخصصة العام.
سياق السياسة
تتلقى كل سياسةPolicyContext.
تعامل مع كل قيمة اختيارية على أنها اختيارية حقًا. لا توفر إصدارات الوكيل وأنواع الأحداث نفس الحقول.
إدخالات الأدوات الشائعة
يقوم Failproof AI بمعايرة الأدوات الشائعة عبر الأجهزة المدعومة بحيث يمكن للسياسة عادة استخدام شكل إدخال واحد.
استخدم تحويل دفاعي لأن قيم إدخال الأداة مكتوبة كـ
unknown:
اختر الحدث
توفر الحدث وسلوك الحظر يعتمد على جهاز الوكيل. اطلع على أجهزة الوكيل قبل الاعتماد على حدث عبر أسطول مختلط.
جميع أسماء أحداث السياسة
جميع أسماء أحداث السياسة
SessionStart, SessionEnd, UserPromptSubmit, PreToolUse, PermissionRequest, PermissionDenied, PostToolUse, PostToolUseFailure, Notification, SubagentStart, SubagentStop, TaskCreated, TaskCompleted, Stop, StopFailure, TeammateIdle, InstructionsLoaded, ConfigChange, CwdChanged, FileChanged, WorktreeCreate, WorktreeRemove, PreCompact, PostCompact, Elicitation, ElicitationResult, UserPromptExpansion, PostToolBatch, و Setup.تأليف أنماط السياسات الشائعة
حظر الكتابات إلى المسارات المحمية
توفير إرشادات غير إجبارية
بوابة إنهاء الجلسة
تحميل ملفات السياسة
ملفات الاتفاقية
تحميل ملفات الاتفاقية تلقائيًا:- يتم تحميل مجلدات السياسة على مستوى المشروع والمستخدم.
- يتم تحميل الملفات أبجديًا داخل كل مجلد.
- يجب أن ينتهي الملف بـ
policies.jsأوpolicies.mjsأوpolicies.ts. - يتم دعم استدعاءات
customPolicies.add()المتعددة في ملف واحد. - يتم دعم الواردات النسبية من الوحدات المحلية.
- يمكن إيداع سياسات المشروع بحيث تتبع نفس القواعد المستودع.
الملفات الصريحة
استخدم المسارات الصريحة عندما يجب أن يسمي التحقق أو التكوين ملف الإدخال مباشرة:التحقق والاختبار
يقوم التحقق بتنفيذ الوحدة عبر محمل الإنتاج والتأكد من أنها تسجل سياسة واحدة على الأقل.- إجراء واحد يجب أن يطابق وينتج عن سبب السياسة المقصود.
- إجراء واحد قريب لكن آمن يجب أن يعيد
allow(). - حقول الأداة المفقودة أو المشكلة.
- بناء جملة الأمر البديل والمسارات والاقتباسات والحالة والمسافات البيضاء.
- عملية فرعية غير متاحة أو اعتماد شبكة.
السلوك في وقت التشغيل
- تقيم السياسات المدمجة قبل السياسات المخصصة.
- أول
denyيوقف تقييم السياسة الإضافية. - يمكن دمج نتائج
instructالمتعددة عندما لا تمنع أي سياسة الحدث. - لدى دالة السياسة مهلة تنفيذ مدتها 10 ثوانٍ.
- يتم تسجيل استثناء مرفوع أو انتهاء المهلة الزمنية والتعامل معه كـ
allow(). - يتم تخطي ملف اتفاقية فشل التحميل؛ تستمر الملفات المخصصة الأخرى والسياسات المدمجة.
- تحميل الوحدة على مستوى أعلى له أيضًا مهلة زمنية مدتها 10 ثوانٍ.
- يقوم وضع المراقبة السحابي بتشغيل السياسة لكنه يسجل قرار عدم السماح دون فرضه.
fn، واقبض فشل الاعتماد، واختر عن قصد ما إذا كان هذا الفشل يجب أن يسمح أو ينكر العملية.
تصدرات API
تصدرات TypeScript
PolicyContext و PolicyResult و CustomHook و PolicyDecision و PolicyFunction.
نشر السياسات المخصصة
انشر إصدارًا، ونشره في وضع المراقبة، والتحقق من القرارات، والانتقال إلى الإنفاذ.

