IRC
Używaj IRC, gdy chcesz mieć OpenClaw na klasycznych kanałach (#room) i w wiadomościach bezpośrednich.
IRC jest dostarczane jako wtyczka rozszerzenia, ale konfiguruje się je w głównej konfiguracji pod channels.irc.
Szybki start
- Włącz konfigurację IRC w
~/.openclaw/openclaw.json. - Ustaw co najmniej:
- Uruchom/uruchom ponownie gateway:
Domyślne ustawienia bezpieczeństwa
channels.irc.dmPolicydomyślnie ma wartość"pairing".channels.irc.groupPolicydomyślnie ma wartość"allowlist".- Przy
groupPolicy="allowlist"ustawchannels.irc.groups, aby określić dozwolone kanały. - Używaj TLS (
channels.irc.tls=true), chyba że celowo akceptujesz transport jawnym tekstem.
Kontrola dostępu
Dla kanałów IRC istnieją dwie oddzielne „bramki”:- Dostęp do kanału (
groupPolicy+groups): czy bot w ogóle akceptuje wiadomości z danego kanału. - Dostęp nadawcy (
groupAllowFrom/ per-channelgroups["#channel"].allowFrom): kto może wywołać bota w tym kanale.
- Allowlista DM (dostęp nadawcy DM):
channels.irc.allowFrom - Allowlista nadawców grupowych (dostęp nadawcy kanału):
channels.irc.groupAllowFrom - Kontrole per kanał (kanał + nadawca + reguły wzmianek):
channels.irc.groups["#channel"] channels.irc.groupPolicy="open"zezwala na nieskonfigurowane kanały (domyślnie nadal objęte bramkowaniem wzmianek)
nick!user@host).
Dopasowanie tylko po nicku jest zmienne i jest włączone tylko wtedy, gdy channels.irc.dangerouslyAllowNameMatching: true.
Częsty problem: allowFrom dotyczy DM, nie kanałów
Jeśli widzisz logi takie jak:
irc: drop group sender alice!ident@host (policy=allowlist)
- ustawiając
channels.irc.groupAllowFrom(globalnie dla wszystkich kanałów), albo - ustawiając allowlisty nadawców per kanał:
channels.irc.groups["#channel"].allowFrom
#tuirc-dev rozmawiać z botem):
Wyzwalanie odpowiedzi (wzmianki)
Nawet jeśli kanał jest dozwolony (przezgroupPolicy + groups) i nadawca jest dozwolony, OpenClaw domyślnie stosuje bramkowanie wzmianek w kontekstach grupowych.
Oznacza to, że możesz zobaczyć logi takie jak drop channel … (missing-mention), chyba że wiadomość zawiera wzorzec wzmianki pasujący do bota.
Aby bot odpowiadał w kanale IRC bez potrzeby wzmianki, wyłącz bramkowanie wzmianek dla tego kanału:
Uwaga dotycząca bezpieczeństwa (zalecane dla publicznych kanałów)
Jeśli zezwolisz naallowFrom: ["*"] w publicznym kanale, każdy może promptować bota.
Aby zmniejszyć ryzyko, ogranicz narzędzia dla tego kanału.
Te same narzędzia dla wszystkich na kanale
Różne narzędzia dla różnych nadawców (właściciel ma większe uprawnienia)
UżyjtoolsBySender, aby zastosować bardziej restrykcyjną politykę do "*" i mniej restrykcyjną do swojego nicka:
- Klucze
toolsBySenderpowinny używaćid:dla wartości tożsamości nadawcy IRC:id:eigenlubid:eigen!~eigen@174.127.248.171dla silniejszego dopasowania. - Starsze klucze bez prefiksu są nadal akceptowane i dopasowywane tylko jako
id:. - Pierwsza pasująca polityka nadawcy wygrywa;
"*"jest zapasowym wildcardem.
NickServ
Aby uwierzytelnić się w NickServ po połączeniu:register po zarejestrowaniu nicka, aby uniknąć powtarzanych prób REGISTER.
Zmienne środowiskowe
Domyślne konto obsługuje:IRC_HOSTIRC_PORTIRC_TLSIRC_NICKIRC_USERNAMEIRC_REALNAMEIRC_PASSWORDIRC_CHANNELS(oddzielone przecinkami)IRC_NICKSERV_PASSWORDIRC_NICKSERV_REGISTER_EMAIL
Rozwiązywanie problemów
- Jeśli bot się łączy, ale nigdy nie odpowiada na kanałach, sprawdź
channels.irc.groupsoraz czy bramkowanie wzmianek odrzuca wiadomości (missing-mention). Jeśli chcesz, aby odpowiadał bez pingnięć, ustawrequireMention:falsedla kanału. - Jeśli logowanie się nie powiedzie, sprawdź dostępność nicka i hasło serwera.
- Jeśli TLS nie działa w niestandardowej sieci, sprawdź konfigurację hosta/portu i certyfikatów.
Powiązane
- Channels Overview — wszystkie obsługiwane kanały
- Pairing — uwierzytelnianie DM i przepływ parowania
- Groups — zachowanie czatu grupowego i bramkowanie wzmianek
- Channel Routing — routing sesji dla wiadomości
- Security — model dostępu i utwardzanie