Skip to main content
OpenClaw dapat menerima pesan yang ditulis oleh bot lain pada kanal yang mendukung allowBots. Saat jalur tersebut diaktifkan, perlindungan loop pasangan mencegah dua identitas bot saling membalas tanpa batas. Pengaman diterapkan oleh runner balasan masuk inti. Setiap kanal yang mendukung memetakan peristiwa masuknya menjadi fakta generik: akun atau cakupan, id percakapan, id bot pengirim, dan id bot penerima. Inti melacak pasangan peserta dalam kedua arah (A ke B dan B ke A dihitung sebagai pasangan yang sama), menerapkan batas anggaran jendela bergeser, dan menekan pasangan tersebut selama periode jeda setelah anggaran terlampaui.

Nilai default

Perlindungan loop pasangan aktif setiap kali sebuah kanal mengizinkan pesan yang ditulis bot mencapai dispatch. Nilai default bawaan: Pengaman tidak memengaruhi pesan yang ditulis manusia, deployment bot tunggal, pemfilteran pesan sendiri, atau balasan bot yang tetap di bawah anggaran.

Mengonfigurasi nilai default bersama

Tetapkan channels.defaults.botLoopProtection sekali agar setiap kanal yang mendukung memiliki acuan dasar yang sama. Kanal juga dapat menyediakan penggantian yang lebih spesifik; Feishu sengaja hanya menggunakan acuan dasar bersama ini.
Tetapkan enabled: false hanya jika kebijakan kanal Anda secara sengaja mengizinkan percakapan antarbots tanpa penekanan otomatis.

Mengganti per kanal, akun, atau ruang

Kanal yang mendukung melapiskan konfigurasinya sendiri di atas nilai default bersama, kunci demi kunci. Urutan prioritas, dari yang paling spesifik:
  1. channels.<channel>.<room-or-space>.botLoopProtection, jika kanal mendukung penggantian per percakapan
  2. channels.<channel>.accounts.<account>.botLoopProtection, jika kanal mendukung akun
  3. channels.<channel>.botLoopProtection, jika kanal mendukung nilai default tingkat atas
  4. channels.defaults.botLoopProtection
  5. nilai default bawaan

Dukungan kanal

  • Discord: fakta author.bot native, dikunci berdasarkan akun Discord, kanal, dan pasangan bot.
  • Feishu: fakta sender_type=bot native untuk pesan grup yang ditulis bot dan diterima, dikunci berdasarkan akun Feishu, obrolan, dan pasangan bot. Feishu hanya menggunakan channels.defaults.botLoopProtection.
  • Google Chat: fakta sender.type=BOT native untuk pesan yang ditulis bot dan diterima, dikunci berdasarkan akun, ruang, dan pasangan bot.
  • Matrix: akun bot Matrix yang dikonfigurasi, dikunci berdasarkan akun Matrix, ruang, dan pasangan bot yang dikonfigurasi.
  • Slack: fakta bot_id native untuk pesan yang ditulis bot dan diterima, dikunci berdasarkan akun Slack, kanal, dan pasangan bot.
Kanal yang tidak menyediakan identitas bot masuk yang andal tetap menggunakan filter pesan sendiri dan kebijakan akses normalnya. Kanal tersebut tidak boleh mengaktifkan pengaman ini hingga dapat mengidentifikasi kedua peserta dalam pasangan bot. Lihat runtime SDK untuk detail implementasi plugin.