OpenClaw 채널 및 라우팅 설정하기
여러 채팅 플랫폼을 연결해 봇을 운영하다 보면 메시지가 꼬이는 경험을 하기 쉬워요. 어떤 에이전트가 답변해야 하는지, 세션 데이터는 어디에 쌓이는지 관리하는 일은 개발자에게 꽤나 번거로운 작업이죠. OpenClaw는 이런 복잡한 과정을 설정 파일 하나로 깔끔하게 정리해 줍니다.
OpenClaw의 라우팅은 결정론적이에요. 모델이 직접 채널을 선택하는 게 아니라, 설정된 규칙에 따라 메시지가 들어온 곳으로 다시 답장을 보냅니다.
필요한 것
섹션 제목: “필요한 것”agents.list: 에이전트 이름, workspace, model 등을 포함한 정의bindings: 채널, 계정, Peer를 특정 에이전트와 연결하는 설정
빠른 시작
섹션 제목: “빠른 시작”OpenClaw를 설정하고 에이전트를 채널에 연결하는 가장 빠른 방법입니다.
1. 에이전트와 바인딩 설정
섹션 제목: “1. 에이전트와 바인딩 설정”config.json5 파일에서 에이전트를 정의하고, bindings를 사용해 특정 채널의 메시지를 어떤 에이전트가 처리할지 지정하세요.
{ agents: { list: [{ id: "support", name: "Support", workspace: "~/.openclaw/workspace-support" }], }, bindings: [ { match: { channel: "slack", teamId: "T123" }, agentId: "support" }, { match: { channel: "telegram", peer: { kind: "group", id: "-100123" } }, agentId: "support" }, ],}2. 세션 구조 이해하기
섹션 제목: “2. 세션 구조 이해하기”메시지 유형에 따라 SessionKey가 생성되어 컨텍스트를 분리합니다.
- Direct messages: 에이전트의 메인 세션(
agent:main:main)을 사용합니다. - Groups:
agent:<agentId>:<channel>:group:<id>형태로 격리됩니다. - Threads: Slack이나 Discord의 스레드는 기본 키 뒤에
:thread:<threadId>가 붙습니다.
3. 멀티 에이전트 실행 (Broadcast groups)
섹션 제목: “3. 멀티 에이전트 실행 (Broadcast groups)”하나의 채널에서 여러 에이전트가 동시에 답변하게 하고 싶다면 broadcast 설정을 사용하세요.
{ broadcast: { strategy: "parallel", "120363403215116621@g.us": ["alfred", "baerbel"], "+15555550123": ["support", "logger"], },}문제 해결
섹션 제목: “문제 해결”메시지가 원하는 에이전트로 전달되지 않나요? OpenClaw가 에이전트를 선택하는 우선순위를 확인해 보세요.
- Exact peer match:
peer.kind와peer.id가 정확히 일치하는지 확인하세요. - Guild/Team match: Discord의
guildId나 Slack의teamId를 기준으로 매칭됩니다. - Account/Channel match: 채널에 연결된 계정이나 채널 자체를 기준으로 찾습니다.
- Default agent: 매칭되는 항목이 없으면
agents.list의default설정이나 리스트의 첫 번째 에이전트를 선택합니다.
세션 데이터가 보이지 않는다면 기본 저장 경로인 ~/.openclaw/agents/<agentId>/sessions/sessions.json을 확인해 보세요. JSONL 형식의 대화 기록도 같은 위치에 저장됩니다.
궁금한 점이 더 있나요? AI Setup Assistant에게 물어보세요!
다음 단계
섹션 제목: “다음 단계”- Broadcast Groups 더 알아보기
- Session Storage 구성 방법 확인하기
OpenClaw Expert
아직 막혀 있나요?
이 문서에서 답을 못 찾았다면 OpenClaw Expert에게 바로 물어보세요.