Skip to main content
OpenClaw може приймати повідомлення, написані іншими ботами, у каналах, які підтримують allowBots. Коли цей шлях увімкнено, захист від циклічної взаємодії пар не дає двом ідентичностям ботів нескінченно відповідати одна одній. Захист забезпечує основний обробник вхідних відповідей. Кожен канал, що підтримує цю функцію, перетворює свою вхідну подію на загальні дані: обліковий запис або область дії, ідентифікатор розмови, ідентифікатор бота-відправника та ідентифікатор бота-одержувача. Ядро відстежує пару учасників в обох напрямках (A до B і B до A вважаються тією самою парою), застосовує ліміт у ковзному часовому вікні та блокує пару на період очікування після перевищення ліміту.

Значення за замовчуванням

Захист від циклічної взаємодії пар активний щоразу, коли канал дозволяє повідомленням від ботів надходити до диспетчеризації. Вбудовані значення за замовчуванням: Захист не впливає на повідомлення від людей, розгортання з одним ботом, фільтрування власних повідомлень або відповіді ботів, які не перевищують ліміт.

Налаштування спільних значень за замовчуванням

Задайте channels.defaults.botLoopProtection один раз, щоб надати всім каналам, які підтримують цю функцію, однакову базову конфігурацію. Перевизначення на рівні каналу, облікового запису та кімнати все одно дають змогу окремо налаштовувати відповідні середовища.
Задавайте enabled: false лише тоді, коли політика вашого каналу навмисно дозволяє розмови між ботами без автоматичного блокування.

Перевизначення для каналу, облікового запису або кімнати

Канали, які підтримують цю функцію, накладають власну конфігурацію на спільні значення за замовчуванням окремо для кожного ключа. Порядок пріоритету, від найвужчої області:
  1. channels.<channel>.<room-or-space>.botLoopProtection, коли канал підтримує перевизначення для окремих розмов
  2. channels.<channel>.accounts.<account>.botLoopProtection, коли канал підтримує облікові записи
  3. channels.<channel>.botLoopProtection, коли канал підтримує значення за замовчуванням верхнього рівня
  4. channels.defaults.botLoopProtection
  5. вбудовані значення за замовчуванням

Підтримка каналами

  • Discord: нативні дані author.bot, згруповані за обліковим записом Discord, каналом і парою ботів.
  • Google Chat: нативні дані sender.type=BOT для прийнятих повідомлень від ботів, згруповані за обліковим записом, простором і парою ботів.
  • Matrix: налаштовані облікові записи ботів Matrix, згруповані за обліковим записом Matrix, кімнатою та налаштованою парою ботів.
  • Slack: нативні дані bot_id для прийнятих повідомлень від ботів, згруповані за обліковим записом Slack, каналом і парою ботів.
Канали, які не надають надійної ідентичності вхідного бота, продовжують використовувати звичайні фільтри власних повідомлень і політик доступу. Їм не слід вмикати цей захист, доки вони не зможуть ідентифікувати обох учасників пари ботів. Докладніше про реалізацію plugin див. у розділі середовище виконання SDK.