Get started

बॉट लूप सुरक्षा

OpenClaw उन चैनलों पर अन्य बॉट द्वारा लिखे गए संदेश स्वीकार कर सकता है जो allowBots का समर्थन करते हैं। जब यह पथ सक्षम होता है, तो युग्म लूप सुरक्षा दो बॉट पहचानों को अनिश्चित काल तक एक-दूसरे को उत्तर देते रहने से रोकती है।

यह सुरक्षा कोर इनबाउंड उत्तर रनर द्वारा लागू की जाती है। प्रत्येक समर्थित चैनल अपने इनबाउंड इवेंट को सामान्य तथ्यों में मैप करता है: खाता या दायरा, वार्तालाप आईडी, प्रेषक बॉट आईडी और प्राप्तकर्ता बॉट आईडी। कोर प्रतिभागी युग्म को दोनों दिशाओं में ट्रैक करता है (A से B और B से A को समान युग्म माना जाता है), स्लाइडिंग-विंडो बजट लागू करता है और बजट पार हो जाने के बाद कूलडाउन के दौरान उस युग्म को दबा देता है।

डिफ़ॉल्ट

जब भी कोई चैनल बॉट द्वारा लिखे गए संदेशों को डिस्पैच तक पहुँचने देता है, युग्म लूप सुरक्षा सक्रिय रहती है। अंतर्निहित डिफ़ॉल्ट:

कुंजी डिफ़ॉल्ट अर्थ
enabled true इसका समर्थन करने वाले चैनलों के लिए सुरक्षा सक्रिय है।
maxEventsPerWindow 20 विंडो के भीतर बॉट युग्म द्वारा आदान-प्रदान किए जा सकने वाले इवेंट।
windowSeconds 60 स्लाइडिंग विंडो की अवधि।
cooldownSeconds 60 युग्म द्वारा बजट पार करने के बाद दमन की अवधि।

यह सुरक्षा मानव द्वारा लिखे गए संदेशों, एकल-बॉट परिनियोजनों, स्वयं-संदेश फ़िल्टरिंग या बजट के भीतर रहने वाले बॉट उत्तरों को प्रभावित नहीं करती।

साझा डिफ़ॉल्ट कॉन्फ़िगर करें

प्रत्येक समर्थित चैनल को समान आधाररेखा देने के लिए channels.defaults.botLoopProtection को एक बार सेट करें। चैनल अधिक सीमित ओवरराइड भी उपलब्ध करा सकते हैं; Feishu जानबूझकर केवल इस साझा आधाररेखा का उपयोग करता है।

json5
{  channels: {    defaults: {      botLoopProtection: {        maxEventsPerWindow: 20,        windowSeconds: 60,        cooldownSeconds: 60,      },    },  },}

enabled: false को केवल तब सेट करें, जब आपकी चैनल नीति स्वचालित दमन के बिना बॉट-से-बॉट वार्तालापों की जानबूझकर अनुमति देती हो।

प्रति चैनल, खाते या रूम के अनुसार ओवरराइड करें

समर्थित चैनल कुंजी-दर-कुंजी अपना कॉन्फ़िगरेशन साझा डिफ़ॉल्ट के ऊपर लागू करते हैं। प्राथमिकता, सबसे सीमित पहले:

  1. channels.<channel>.<room-or-space>.botLoopProtection, जब चैनल प्रति-वार्तालाप ओवरराइड का समर्थन करता है
  2. channels.<channel>.accounts.<account>.botLoopProtection, जब चैनल खातों का समर्थन करता है
  3. channels.<channel>.botLoopProtection, जब चैनल शीर्ष-स्तरीय डिफ़ॉल्ट का समर्थन करता है
  4. channels.defaults.botLoopProtection
  5. अंतर्निहित डिफ़ॉल्ट
json5
{  channels: {    defaults: {      botLoopProtection: {        maxEventsPerWindow: 20,      },    },    discord: {      botLoopProtection: {        maxEventsPerWindow: 8,      },      accounts: {        secondary: {          allowBots: true,          botLoopProtection: {            maxEventsPerWindow: 5,            cooldownSeconds: 90,          },        },      },    },    googlechat: {      allowBots: true,      groups: {        "spaces/AAAA": {          botLoopProtection: {            maxEventsPerWindow: 5,          },        },      },    },    matrix: {      allowBots: "mentions",      groups: {        "!roomid:example.org": {          botLoopProtection: {            maxEventsPerWindow: 5,          },        },      },    },    slack: {      allowBots: "mentions",      botLoopProtection: {        maxEventsPerWindow: 8,      },    },  },}

चैनल समर्थन

  • Discord: नेटिव author.bot तथ्य, जिन्हें Discord खाते, चैनल और बॉट युग्म के आधार पर कुंजीबद्ध किया जाता है।
  • Feishu: स्वीकार किए गए बॉट द्वारा लिखित समूह संदेशों के लिए नेटिव sender_type=bot तथ्य, जिन्हें Feishu खाते, चैट और बॉट युग्म के आधार पर कुंजीबद्ध किया जाता है। Feishu केवल channels.defaults.botLoopProtection का उपयोग करता है।
  • Google Chat: स्वीकार किए गए बॉट द्वारा लिखित संदेशों के लिए नेटिव sender.type=BOT तथ्य, जिन्हें खाते, स्पेस और बॉट युग्म के आधार पर कुंजीबद्ध किया जाता है।
  • Matrix: कॉन्फ़िगर किए गए Matrix बॉट खाते, जिन्हें Matrix खाते, रूम और कॉन्फ़िगर किए गए बॉट युग्म के आधार पर कुंजीबद्ध किया जाता है।
  • Slack: स्वीकार किए गए बॉट द्वारा लिखित संदेशों के लिए नेटिव bot_id तथ्य, जिन्हें Slack खाते, चैनल और बॉट युग्म के आधार पर कुंजीबद्ध किया जाता है।

जो चैनल विश्वसनीय इनबाउंड बॉट पहचान उपलब्ध नहीं कराते, वे अपने सामान्य स्वयं-संदेश और पहुँच-नीति फ़िल्टर का उपयोग जारी रखते हैं। उन्हें इस सुरक्षा को तब तक नहीं अपनाना चाहिए, जब तक वे बॉट युग्म के दोनों प्रतिभागियों की पहचान न कर सकें।

Plugin कार्यान्वयन के विवरण के लिए SDK रनटाइम देखें।

Was this useful?
On this page

On this page