Benutzerdefinierte Richtlinie erstellen
- Dashboard
- CLI
- Gehen Sie zu Admin → Policy-Editor, wählen Sie Neue Richtlinie und beschreiben Sie den Fehler, den Sie verhindern möchten.
- Fügen Sie den Richtlinienquellcode hinzu und testen Sie im Editor erwartete Treffer sowie sichere Nicht-Treffer. Beheben Sie jeden Validierungsfehler.
- Speichern Sie den Entwurf und wählen Sie Version veröffentlichen, um eine unveränderliche Version zu erstellen.
-
Gehen Sie zu Admin → Durchsetzung, stellen Sie die Version auf einem Testrechner im Beobachtungs-Modus bereit, und überprüfen Sie die Entscheidungen unter Beobachten → Richtlinie, bevor Sie sie durchsetzen.

Mit einer engen Regel beginnen
Diese Richtlinie blockiert destruktive Kubernetes-Befehle nur dann, wenn der Befehl auf die Produktionsumgebung abzielt. Alles außerhalb dieses genauen Fehlermusters gibtallow() zurück.
allow() zurück, sobald die Regel nicht zutrifft.
Eine Entscheidung auswählen
Schreiben Sie die Begründung für den Agenten, der sich erholen muss. Erklären Sie, was erkannt wurde und was stattdessen getan werden sollte.
Policy-Objekt
Tools innerhalb von
fn filtern. match.toolNames ist nicht Teil des öffentlichen benutzerdefinierten Richtlinientyps.
Richtlinienkontext
Jede Richtlinie empfängt einenPolicyContext.
Jeden optionalen Wert als tatsächlich optional behandeln. Agent-Versionen und Ereignistypen stellen nicht alle dieselben Felder bereit.
Häufige Tool-Eingaben
Failproof AI normalisiert gängige Tools über unterstützte Harnesses hinweg, sodass eine Richtlinie in der Regel eine einheitliche Eingabeform verwenden kann.
Defensive Typumwandlung verwenden, da Tool-Eingabewerte als
unknown typisiert sind:
Ereignis auswählen
Die Verfügbarkeit von Ereignissen und das Blockierverhalten hängen vom Agent-Harness ab. Lesen Sie Agent-Harnesses, bevor Sie sich auf ein Ereignis über eine gemischte Flotte hinweg verlassen.
Alle Richtlinienereignisnamen
Alle Richtlinienereignisnamen
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 und Setup.Häufige Richtlinienmuster erstellen
Schreibvorgänge auf geschützte Pfade blockieren
Nicht-blockierende Hinweise geben
Sitzungsabschluss prüfen
Richtliniendateien laden
Konventionsdateien
Konventionsdateien werden automatisch geladen:- Projekt- und Benutzer-Richtlinienverzeichnisse werden beide geladen.
- Dateien werden alphabetisch innerhalb jedes Verzeichnisses geladen.
- Eine Datei muss auf
policies.js,policies.mjsoderpolicies.tsenden. - Mehrere
customPolicies.add()-Aufrufe in einer Datei werden unterstützt. - Relative Importe aus lokalen Modulen werden unterstützt.
- Projektrichtlinien können eingecheckt werden, sodass dieselben Regeln dem Repository folgen.
Explizite Dateien
Verwenden Sie explizite Pfade, wenn Validierung oder Konfiguration die Einstiegsdatei direkt benennen soll:Validieren und testen
Die Validierung führt das Modul durch den Produktionslader aus und bestätigt, dass es mindestens eine Richtlinie registriert.- Eine Aktion, die treffen muss und den vorgesehenen Richtliniengrund erzeugt.
- Eine ähnliche, aber sichere Aktion, die
allow()zurückgeben muss. - Fehlende oder fehlerhafte Tool-Felder.
- Alternative Befehlssyntax, Pfade, Anführungszeichen, Groß-/Kleinschreibung und Leerzeichen.
- Ein nicht verfügbarer Unterprozess oder eine Netzwerkabhängigkeit.
Laufzeitverhalten
- Eingebaute Richtlinien werden vor benutzerdefinierten Richtlinien ausgewertet.
- Das erste
denystoppt die weitere Richtlinienauswertung. - Mehrere
instruct-Ergebnisse können kombiniert werden, wenn keine Richtlinie das Ereignis ablehnt. - Eine Richtlinienfunktion hat eine Ausführungsfrist von 10 Sekunden.
- Eine ausgelöste Ausnahme oder ein Timeout wird protokolliert und als
allow()behandelt. - Eine Konventionsdatei, die nicht geladen werden kann, wird übersprungen; andere benutzerdefinierte Dateien und eingebaute Richtlinien werden weiter ausgeführt.
- Das Top-Level-Modulladen hat ebenfalls eine Frist von 10 Sekunden.
- Der Cloud-Beobachtungsmodus führt die Richtlinie aus, zeichnet aber eine Nicht-allow-Entscheidung auf, ohne sie durchzusetzen.
fn begrenzen, Abhängigkeitsfehler abfangen und bewusst entscheiden, ob dieser Fehler die Operation erlauben oder blockieren soll.
API-Exporte
TypeScript exportiert
PolicyContext, PolicyResult, CustomHook, PolicyDecision und PolicyFunction.
Benutzerdefinierte Richtlinien bereitstellen
Eine Version veröffentlichen, im Beobachtungsmodus bereitstellen, Entscheidungen überprüfen und zur Durchsetzung übergehen.

