title: “السياسات المخصصة” description: “قم بتأليف واختبار ونشر سياسات JavaScript أو TypeScript لحالات الفشل الخاصة بوكلائك.” icon: “shield-plus”
تحول السياسات المخصصة نمط فشل من آثارك أو تدقيقاتك إلى قرار يعمل أثناء عمل الوكيل. يمكن للسياسة السماح بإجراء أو توجيه الوكيل أو رفض الإجراء قبل أن يسبب حادثة أخرى. استخدم سياسة مخصصة عندما يعتمد السلوك على أدواتك أو مساراتك أو أوامرك أو بيئاتك أو قواعد التشغيل. تحقق من فهرس السياسات المدمجة أولاً حتى لا تعيد إنشاء عنصر تحكم موجود.تأليف سياسة مخصصة
- لوحة التحكم
- CLI
- انتقل إلى Admin → policy editor، وحدد New policy، واشرح الفشل الذي تريد منعه.
- أضف مصدر السياسة، ثم اختبر المطابقات المتوقعة وعدم المطابقات الآمنة في المحرر. حل كل خطأ تحقق.
- احفظ المسودة وحدد Publish version لإنشاء نسخة ثابتة.
-
انتقل إلى Admin → enforcement، ثم نشر النسخة إلى جهاز اختبار في وضع observe، والتحقق من قراراتها ضمن Observe → policy قبل فرضها.

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

