Get started
봇 루프 방지
OpenClaw은 allowBots를 지원하는 채널에서 다른 봇이 작성한 메시지를 받을 수 있습니다. 이 경로가 활성화되면 쌍 루프 보호 기능이 두 봇 ID가 서로에게 무한히 응답하는 것을 방지합니다.
이 보호 기능은 코어 인바운드 응답 실행기에서 적용됩니다. 이를 지원하는 각 채널은 인바운드 이벤트를 계정 또는 범위, 대화 ID, 발신자 봇 ID, 수신자 봇 ID라는 일반 정보로 매핑합니다. 코어는 참여자 쌍을 양방향으로 추적하고(A에서 B로와 B에서 A로를 동일한 쌍으로 간주), 슬라이딩 윈도 예산을 적용하며, 예산을 초과하면 쿨다운 기간 동안 해당 쌍을 억제합니다.
기본값
채널이 봇 작성 메시지를 디스패치에 전달하도록 허용할 때마다 쌍 루프 보호가 활성화됩니다. 기본 제공 값은 다음과 같습니다.
| 키 | 기본값 | 의미 |
|---|---|---|
enabled |
true |
이를 지원하는 채널에서 보호 기능을 활성화합니다. |
maxEventsPerWindow |
20 |
봇 쌍이 윈도 내에서 교환할 수 있는 이벤트 수입니다. |
windowSeconds |
60 |
슬라이딩 윈도 길이입니다. |
cooldownSeconds |
60 |
쌍이 예산을 초과한 후 메시지를 억제하는 시간입니다. |
이 보호 기능은 사람이 작성한 메시지, 단일 봇 배포, 자체 메시지 필터링 또는 예산 이내의 봇 응답에는 영향을 주지 않습니다.
공유 기본값 구성
모든 지원 채널에 동일한 기준값을 적용하려면 channels.defaults.botLoopProtection을 한 번 설정합니다. 채널, 계정, 대화방별 재정의를 통해 개별 영역을 계속 조정할 수 있습니다.
{ channels: { defaults: { botLoopProtection: { maxEventsPerWindow: 20, windowSeconds: 60, cooldownSeconds: 60, }, }, },}채널 정책에서 자동 억제 없는 봇 간 대화를 의도적으로 허용하는 경우에만 enabled: false를 설정하십시오.
채널, 계정 또는 대화방별 재정의
지원 채널은 키별로 자체 구성을 공유 기본값 위에 계층적으로 적용합니다. 가장 구체적인 항목부터 우선순위는 다음과 같습니다.
- 채널이 대화별 재정의를 지원하는 경우
channels.<channel>.<room-or-space>.botLoopProtection - 채널이 계정을 지원하는 경우
channels.<channel>.accounts.<account>.botLoopProtection - 채널이 최상위 기본값을 지원하는 경우
channels.<channel>.botLoopProtection channels.defaults.botLoopProtection- 기본 제공 값
{ channels: { defaults: { botLoopProtection: { maxEventsPerWindow: 20, }, }, discord: { botLoopProtection: { maxEventsPerWindow: 8, }, accounts: { secondary: { allowBots: "mentions", 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 계정, 채널 및 봇 쌍을 키로 지정합니다. - Google Chat: 허용된 봇 작성 메시지에 네이티브
sender.type=BOT정보를 사용하며 계정, 스페이스 및 봇 쌍을 키로 지정합니다. - Matrix: 구성된 Matrix 봇 계정을 사용하며 Matrix 계정, 대화방 및 구성된 봇 쌍을 키로 지정합니다.
- Slack: 허용된 봇 작성 메시지에 네이티브
bot_id정보를 사용하며 Slack 계정, 채널 및 봇 쌍을 키로 지정합니다.
신뢰할 수 있는 인바운드 봇 ID를 노출하지 않는 채널은 기존의 자체 메시지 및 액세스 정책 필터를 계속 사용합니다. 봇 쌍의 두 참여자를 모두 식별할 수 있을 때까지 이 보호 기능을 사용해서는 안 됩니다.
Plugin 구현 세부 정보는 SDK 런타임을 참조하십시오.