#room)과 direct messages에 연결할 때
사용합니다. IRC는 extension plugin으로 제공되지만, 구성은 메인 config의
channels.irc 아래에서 관리됩니다.
빠른 시작
~/.openclaw/openclaw.json에서 IRC config를 활성화합니다.- 최소한 다음을 설정합니다.
- gateway를 시작하거나 재시작합니다.
보안 기본값
channels.irc.dmPolicy기본값은"pairing"입니다.channels.irc.groupPolicy기본값은"allowlist"입니다.groupPolicy="allowlist"이면channels.irc.groups로 허용된 채널을 정의해야 합니다.- 평문 전송을 의도적으로 허용하는 경우가 아니라면 TLS(
channels.irc.tls=true)를 사용하세요.
접근 제어
IRC 채널에는 두 개의 별도 “gate”가 있습니다.- Channel access (
groupPolicy+groups): bot이 해당 채널의 메시지를 아예 받을지 여부 - Sender access (
groupAllowFrom/ 채널별groups["#channel"].allowFrom): 그 채널 안에서 누가 bot을 트리거할 수 있는지
- DM allowlist (DM sender access):
channels.irc.allowFrom - Group sender allowlist (channel sender access):
channels.irc.groupAllowFrom - Per-channel controls (channel + sender + mention rules):
channels.irc.groups["#channel"] channels.irc.groupPolicy="open"은 미구성 채널도 허용합니다 (기본적으로 여전히 mention-gated)
nick!user@host)를 사용하는 것이
좋습니다. bare nick matching은 mutable하며
channels.irc.dangerouslyAllowNameMatching: true일 때만 활성화됩니다.
흔한 함정: allowFrom은 DM용이지 채널용이 아님
이런 로그가 보인다면:
irc: drop group sender alice!ident@host (policy=allowlist)
channels.irc.groupAllowFrom설정(모든 채널 공통)- 채널별 sender allowlist 설정:
channels.irc.groups["#channel"].allowFrom
#tuirc-dev에서 누구나 bot과 대화 허용):
응답 트리거(mentions)
채널이 허용되어 있고(groupPolicy + groups) sender도 허용되어 있어도,
OpenClaw는 group context에서 기본적으로 mention-gating을 사용합니다.
즉, 메시지에 bot과 일치하는 mention pattern이 없으면
drop channel … (missing-mention) 같은 로그가 나타날 수 있습니다.
IRC 채널에서 mention 없이도 bot이 답하게 하려면 해당 채널의 mention gating을
끄세요.
보안 참고(공개 채널 권장)
공개 채널에서allowFrom: ["*"]를 허용하면 누구나 bot을 프롬프트할 수
있습니다. 위험을 줄이려면 그 채널의 tools를 제한하세요.
채널의 모든 사용자에게 같은 tools 적용
sender별로 다른 tools 적용(owner는 더 많은 권한)
toolsBySender를 사용해 "*"에는 더 엄격한 정책을, 본인 nick에는 더 완화된
정책을 적용할 수 있습니다.
toolsBySenderkey는 IRC sender identity 값에id:를 사용하는 것이 좋습니다. 더 강한 매칭이 필요하면id:eigen또는id:eigen!~eigen@174.127.248.171처럼 사용하세요.- 레거시 unprefixed key도 여전히 허용되며
id:로만 매칭됩니다. - 가장 먼저 일치한 sender policy가 적용되며,
"*"는 wildcard fallback입니다.
NickServ
연결 후 NickServ로 identify하려면:register를 비활성화하세요.
환경 변수
기본 account는 다음을 지원합니다.IRC_HOSTIRC_PORTIRC_TLSIRC_NICKIRC_USERNAMEIRC_REALNAMEIRC_PASSWORDIRC_CHANNELS(comma-separated)IRC_NICKSERV_PASSWORDIRC_NICKSERV_REGISTER_EMAIL
문제 해결
- bot이 연결되지만 채널에서 전혀 응답하지 않으면,
channels.irc.groups와 mention-gating이 메시지를 드롭하는지(missing-mention)를 확인하세요. ping 없이도 응답하게 하려면 채널에requireMention:false를 설정하세요. - 로그인 실패 시 nick 사용 가능 여부와 server password를 확인하세요.
- custom network에서 TLS가 실패하면 host/port와 certificate 구성을 확인하세요.