Get started
Bot-Loop-Schutz
Schutz vor Bot-Schleifen
OpenClaw kann Nachrichten akzeptieren, die von anderen Bots in Kanälen geschrieben wurden, die allowBots unterstützen.
Wenn dieser Pfad aktiviert ist, verhindert der Schutz vor Schleifen zwischen Paaren, dass zwei Bot-Identitäten
unbegrenzt aufeinander antworten.
Der Schutzmechanismus wird vom zentralen Runner für eingehende Antworten durchgesetzt. Jeder unterstützende Kanal ordnet sein eigenes eingehendes Ereignis generischen Fakten zu: Konto oder Geltungsbereich, Konversations-ID, Absender-Bot-ID und Empfänger-Bot-ID. Core verfolgt dann das Teilnehmerpaar in beide Richtungen, wendet ein Budget mit gleitendem Zeitfenster an und unterdrückt das Paar während einer Abkühlphase, nachdem das Budget überschritten wurde.
Standardwerte
Der Schutz vor Schleifen zwischen Paaren ist aktiv, wenn ein Kanal botverfasste Nachrichten bis zum Dispatch gelangen lässt. Die integrierten Standardwerte sind:
maxEventsPerWindow: 20- ein Bot-Paar kann innerhalb des Fensters 20 Ereignisse austauschenwindowSeconds: 60- Länge des gleitenden FensterscooldownSeconds: 60- Unterdrückungszeit, nachdem das Paar das Budget überschritten hat
Der Schutzmechanismus betrifft keine normalen von Menschen verfassten Nachrichten, Einzel-Bot-Bereitstellungen, Filterung eigener Nachrichten oder einmalige Bot-Antworten, die unter dem Budget bleiben.
Gemeinsame Standardwerte konfigurieren
Setzen Sie channels.defaults.botLoopProtection einmal, um jedem unterstützenden Kanal
dieselbe Basis zu geben. Überschreibungen für Kanal und Konto können einzelne
Oberflächen weiterhin anpassen.
{ channels: { defaults: { botLoopProtection: { maxEventsPerWindow: 20, windowSeconds: 60, cooldownSeconds: 60, }, }, },}Setzen Sie enabled: false nur, wenn Ihre Kanalrichtlinie Bot-zu-Bot-Konversationen
ohne automatische Unterdrückung absichtlich erlaubt.
Pro Kanal oder Konto überschreiben
Unterstützende Kanäle legen ihre eigene Konfiguration über den gemeinsamen Standard. Die Priorität ist:
channels.<channel>.<room-or-space>.botLoopProtection, wenn der Kanal Überschreibungen pro Konversation unterstütztchannels.<channel>.accounts.<account>.botLoopProtection, wenn der Kanal Konten unterstütztchannels.<channel>.botLoopProtection, wenn der Kanal Standardwerte auf oberster Ebene unterstütztchannels.defaults.botLoopProtection- integrierte Standardwerte
{ channels: { defaults: { botLoopProtection: { maxEventsPerWindow: 20, }, }, discord: { botLoopProtection: { maxEventsPerWindow: 8, }, accounts: { molty: { allowBots: "mentions", botLoopProtection: { maxEventsPerWindow: 5, cooldownSeconds: 90, }, }, }, }, slack: { allowBots: "mentions", botLoopProtection: { maxEventsPerWindow: 8, }, }, matrix: { allowBots: "mentions", groups: { "!roomid:example.org": { botLoopProtection: { maxEventsPerWindow: 5, }, }, }, }, googlechat: { allowBots: true, groups: { "spaces/AAAA": { botLoopProtection: { maxEventsPerWindow: 5, }, }, }, }, },}Kanalunterstützung
- Discord: native
author.bot-Fakten, nach Discord-Konto, Kanal und Bot-Paar verschlüsselt. - Slack: native
bot_id-Fakten für akzeptierte botverfasste Nachrichten, nach Slack-Konto, Kanal und Bot-Paar verschlüsselt. - Matrix: konfigurierte Matrix-Bot-Konten, nach Matrix-Konto, Raum und konfiguriertem Bot-Paar verschlüsselt.
- Google Chat: native
sender.type=BOT-Fakten für akzeptierte botverfasste Nachrichten, nach Konto, Space und Bot-Paar verschlüsselt.
Kanäle, die keine zuverlässige eingehende Bot-Identität offenlegen, verwenden weiterhin ihre normalen Filter für eigene Nachrichten und Zugriffsrichtlinien. Sie sollten diesen Schutzmechanismus erst aktivieren, wenn sie beide Teilnehmer im Bot-Paar identifizieren können.
Siehe SDK-Laufzeit für Details zur Plugin-Implementierung.