메시지
이 페이지는 OpenClaw가 수신 메시지, 세션, 대기열, 스트리밍, 추론 가시성을 어떻게 처리하는지 묶어 설명합니다.메시지 흐름 (고수준)
- 접두사, 대기열, 그룹 동작을 위한
messages.*. - 블록 스트리밍과 청킹의 기본값을 위한
agents.defaults.*. - 최대값과 스트리밍 전환을 위한 채널 재정의 (
channels.whatsapp.*,channels.telegram.*등).
수신 중복 제거 (Inbound dedupe)
채널은 재연결 후 동일한 메시지를 다시 전달할 수 있습니다. OpenClaw는 채널/계정/피어/세션/메시지 ID로 키를 지정한 단기 캐시를 유지하여 중복 전달이 또 다른 에이전트 실행을 트리거하지 않도록 합니다.수신 디바운스 (Inbound debouncing)
동일한 발신자로부터 연속적으로 빠르게 오는 메시지는messages.inbound를 통해 단일 에이전트 차례로 묶일 수 있습니다. 디바운싱은 채널 + 대화 별로 범위가 지정되며 응답 스레딩/ID에 가장 최근의 메시지를 사용합니다.
설정 (글로벌 기본값 + 채널 별 재정의):
- 디바운스는 텍스트만 메시지에 적용됩니다; 미디어/첨부파일은 즉시 플러시됩니다.
- 제어 명령은 디바운싱을 우회하여 독립적으로 유지됩니다.
세션과 디바이스
세션은 게이트웨이 소유이며, 클라이언트 소유가 아닙니다.- 직접 채팅은 에이전트의 주요 세션 키로 병합됩니다.
- 그룹/채널은 자체 세션 키를 가집니다.
- 세션 저장소와 기록은 게이트웨이 호스트에 저장됩니다.
수신 본문과 기록 컨텍스트
OpenClaw는 프롬프트 본문을 명령 본문과 분리합니다:Body: 에이전트에게 전송된 프롬프트 텍스트. 이는 채널 봉투와 선택적 기록 래퍼를 포함할 수 있습니다.CommandBody: 지시문/명령 파싱을 위한 원본 사용자 텍스트.RawBody:CommandBody의 레거시 별칭 (호환성을 위해 유지).
[마지막 응답 이후 채팅 메시지 - 컨텍스트용][현재 메시지 - 이것에 응답]
CommandBody (또는 RawBody)를 원본 메시지 텍스트로 설정하고 Body를 결합된 프롬프트로 유지해야 합니다. 기록 버퍼는 messages.groupChat.historyLimit (글로벌 기본값) 및 channels.slack.historyLimit 또는 channels.telegram.accounts.<id>.historyLimit과 같은 채널 별 재정의를 통해 구성할 수 있습니다 (0으로 설정하여 비활성화 가능).
대기열 및 후속 처리
실행이 이미 활성 상태인 경우, 수신 메시지는 대기열에 놓이거나, 현재 실행으로 조정되거나, 후속 차례로 수집될 수 있습니다.messages.queue(및messages.queue.byChannel)를 통해 구성합니다.- 모드:
interrupt,steer,followup,collect, 여기에 백로그 변형 추가.
스트리밍, 청킹, 배칭
블록 스트리밍은 모델이 텍스트 블록을 생성할 때 부분적 응답을 전송합니다. 청킹은 채널의 텍스트 제한을 준수하고 울타리 코드 분할을 방지합니다. 주요 설정:agents.defaults.blockStreamingDefault(on|off, 기본값은 off)agents.defaults.blockStreamingBreak(text_end|message_end)agents.defaults.blockStreamingChunk(minChars|maxChars|breakPreference)agents.defaults.blockStreamingCoalesce(유휴 기반 배칭)agents.defaults.humanDelay(블록 응답 사이의 인간과 같은 휴지)- 채널 재정의:
*.blockStreaming과*.blockStreamingCoalesce(Telegram 이외의 채널은 명시적으로*.blockStreaming: true설정이 필요)
추론 가시성과 토큰
OpenClaw는 모델의 추론을 노출하거나 숨길 수 있습니다:/reasoning on|off|stream은 가시성을 제어합니다.- 추론 콘텐츠는 모델이 생성할 때 여전히 토큰 사용량에 포함됩니다.
- Telegram은 추론 스트림을 초안 버블에 지원합니다.
접두사, 스레딩, 응답
발신 메시지 포맷팅은messages에 중앙 집중화되어 있습니다:
messages.responsePrefix,channels.<channel>.responsePrefix, 및channels.<channel>.accounts.<id>.responsePrefix(발신 접두사 계단),channels.whatsapp.messagePrefix(WhatsApp 수신 접두사)replyToMode및 채널 별 기본값을 통한 응답 스레딩