Protección de bucles de bot
Protección de bucles de bot
Sección titulada «Protección de bucles de bot»OpenClaw puede aceptar mensajes escritos por otros bots en canales que soportan allowBots.
Cuando esa ruta está habilitada, la protección de bucles por par evita que dos identidades de bot
se respondan indefinidamente.
El guardia se impone mediante el núcleo de turnos de canal (core channel-turn kernel). Cada canal compatible asigna su propio evento entrante a hechos genéricos: cuenta o ámbito, ID de conversación, ID del bot emisor y ID del bot receptor. Core luego rastrea el par de participantes en ambas direcciones, aplica un presupuesto de ventana deslizante y suprime el par durante un período de enfriamiento después de que se excede el presupuesto.
Valores predeterminados
Sección titulada «Valores predeterminados»La protección de bucles por par está activa cuando un canal permite que los mensajes creados por bots lleguen despatch (despacho). Los valores predeterminados integrados son:
maxEventsPerWindow: 20- un par de bots puede intercambiar 20 eventos dentro de la ventanawindowSeconds: 60- longitud de la ventana deslizantecooldownSeconds: 60- tiempo de supresión después de que el par excede el presupuesto
El guardia no afecta los mensajes normales escritos por humanos, despliegues de un solo bot, filtros de mensajes propios, o respuestas de bot de una sola vez que permanecen por debajo del presupuesto.
Configurar valores predeterminados compartidos
Sección titulada «Configurar valores predeterminados compartidos»Establezca channels.defaults.botLoopProtection una vez para dar a cada canal compatible
la misma línea base. Las anulaciones de canal y cuenta aún pueden ajustar
superficies individuales.
{ channels: { defaults: { botLoopProtection: { maxEventsPerWindow: 20, windowSeconds: 60, cooldownSeconds: 60, }, }, },}Establezca enabled: false solo cuando su política de canal permite intencionalmente
conversaciones de bot a bot sin supresión automática.
Anular por canal o cuenta
Sección titulada «Anular por canal o cuenta»Los canales compatibles superponen su propia configuración sobre el valor predeterminado compartido. El orden de precedencia es:
channels.<channel>.<room-or-space>.botLoopProtection, cuando el canal soporta anulaciones por conversaciónchannels.<channel>.accounts.<account>.botLoopProtection, cuando el canal soporta cuentaschannels.<channel>.botLoopProtection, cuando el canal soporta valores predeterminados de nivel superiorchannels.defaults.botLoopProtection- valores predeterminados integrados
{ 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, }, }, }, }, },}Soporte de canal
Sección titulada «Soporte de canal»- Discord: hechos nativos
author.bot, claveados por cuenta de Discord, canal y par de bots. - Slack: hechos
bot_idnativos para mensajes aceptados escritos por bots, clave por cuenta de Slack, canal y par de bots. - Matrix: cuentas de bots de Matrix configuradas, clave por cuenta de Matrix, sala y par de bots configurados.
- Google Chat: hechos
sender.type=BOTnativos para mensajes aceptados escritos por bots, clave por cuenta, espacio y par de bots.
Los canales que no exponen una identidad de bot entrante fiable siguen utilizando sus filtros normales de mensajes propios y de políticas de acceso. No deben optar por esta protección hasta que puedan identificar a ambos participantes en el par de bots.
Consulte SDK runtime para obtener detalles de la implementación del complemento.