Skip to main content
OpenClaw może przyjmować wiadomości napisane przez inne boty w kanałach obsługujących allowBots. Gdy ta ścieżka jest włączona, ochrona przed pętlą między parami zapobiega bezterminowemu odpowiadaniu sobie przez dwie tożsamości botów. Mechanizm ochronny jest egzekwowany przez główny moduł obsługi odpowiedzi przychodzących. Każdy obsługiwany kanał przekształca zdarzenie przychodzące w ogólne dane: konto lub zakres, identyfikator konwersacji, identyfikator bota nadawcy i identyfikator bota odbiorcy. Rdzeń śledzi parę uczestników w obu kierunkach (A do B i B do A są traktowane jako ta sama para), stosuje limit w przesuwanym oknie i blokuje parę na czas karencji po przekroczeniu limitu.

Wartości domyślne

Ochrona przed pętlą między parami jest aktywna zawsze, gdy kanał dopuszcza wiadomości utworzone przez boty do przekazania dalej. Wbudowane wartości domyślne: Mechanizm ochronny nie wpływa na wiadomości napisane przez ludzi, wdrożenia z jednym botem, filtrowanie własnych wiadomości ani odpowiedzi botów mieszczące się w limicie.

Konfigurowanie wspólnych wartości domyślnych

Ustaw channels.defaults.botLoopProtection jednokrotnie, aby zapewnić wszystkim obsługiwanym kanałom tę samą konfigurację bazową. Nadpisania na poziomie kanału, konta i pokoju nadal mogą dostosowywać poszczególne obszary.
Ustaw enabled: false tylko wtedy, gdy zasady kanału celowo zezwalają na konwersacje między botami bez automatycznej blokady.

Nadpisywanie dla kanału, konta lub pokoju

Obsługiwane kanały nakładają własną konfigurację na wspólne wartości domyślne, klucz po kluczu. Kolejność pierwszeństwa, od najbardziej szczegółowej:
  1. channels.<channel>.<room-or-space>.botLoopProtection, gdy kanał obsługuje nadpisania dla poszczególnych konwersacji
  2. channels.<channel>.accounts.<account>.botLoopProtection, gdy kanał obsługuje konta
  3. channels.<channel>.botLoopProtection, gdy kanał obsługuje wartości domyślne najwyższego poziomu
  4. channels.defaults.botLoopProtection
  5. wbudowane wartości domyślne

Obsługa kanałów

  • Discord: natywne dane author.bot, indeksowane według konta Discord, kanału i pary botów.
  • Google Chat: natywne dane sender.type=BOT dla zaakceptowanych wiadomości napisanych przez boty, indeksowane według konta, przestrzeni i pary botów.
  • Matrix: skonfigurowane konta botów Matrix, indeksowane według konta Matrix, pokoju i skonfigurowanej pary botów.
  • Slack: natywne dane bot_id dla zaakceptowanych wiadomości napisanych przez boty, indeksowane według konta Slack, kanału i pary botów.
Kanały, które nie udostępniają wiarygodnej tożsamości przychodzącego bota, nadal korzystają ze standardowych filtrów własnych wiadomości i zasad dostępu. Nie powinny korzystać z tego mechanizmu ochronnego, dopóki nie będą w stanie zidentyfikować obu uczestników pary botów. Szczegóły implementacji Pluginów zawiera sekcja środowisko wykonawcze SDK.