كتابة سياسة مخصصة
- لوحة التحكم
- 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.
نشر السياسات المخصصة
انشر نسخة، انشرها في وضع المراقبة، تحقق من القرارات، وانتقل إلى الفرض.

