Użyj IRC, gdy chcesz mieć OpenClaw w klasycznych kanałach (Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
#room) i wiadomościach bezpośrednich.
IRC jest dostarczany jako dołączony Plugin, ale konfiguruje się go w głównej konfiguracji pod channels.irc.
Szybki start
- Włącz konfigurację IRC w
~/.openclaw/openclaw.json. - Ustaw co najmniej:
- Uruchom/uruchom ponownie bramę:
Domyślne ustawienia bezpieczeństwa
- IRC używa surowych gniazd TCP/TLS poza trasowaniem przez zarządzany przez operatora OpenClaw forward proxy. W wdrożeniach, które wymagają, aby cały ruch wychodzący przechodził przez ten forward proxy, ustaw
channels.irc.enabled=false, chyba że bezpośredni ruch wychodzący IRC został jawnie zatwierdzony. channels.irc.dmPolicydomyślnie ma wartość"pairing".channels.irc.groupPolicydomyślnie ma wartość"allowlist".- Przy
groupPolicy="allowlist"ustawchannels.irc.groups, aby zdefiniować dozwolone kanały. - Używaj TLS (
channels.irc.tls=true), chyba że celowo akceptujesz transport tekstem jawnym.
Kontrola dostępu
Istnieją dwie oddzielne „bramki” dla kanałów IRC:- Dostęp do kanału (
groupPolicy+groups): czy bot w ogóle akceptuje wiadomości z kanału. - Dostęp nadawcy (
groupAllowFrom/groups["#channel"].allowFromdla kanału): kto może uruchamiać bota w tym kanale.
- Lista dozwolonych DM (dostęp nadawcy DM):
channels.irc.allowFrom - Lista dozwolonych nadawców grupowych (dostęp nadawcy w kanale):
channels.irc.groupAllowFrom - Kontrole dla kanału (kanał + nadawca + reguły wzmianek):
channels.irc.groups["#channel"] channels.irc.groupPolicy="open"zezwala na nieskonfigurowane kanały (nadal domyślnie wymagające wzmianki)
nick!user@host).
Dopasowanie samego nicka jest zmienne i włączone tylko wtedy, gdy channels.irc.dangerouslyAllowNameMatching: true.
Częsta pułapka: allowFrom dotyczy DM, a nie kanałów
Jeśli widzisz logi takie jak:
irc: drop group sender alice!ident@host (policy=allowlist)
- ustawienie
channels.irc.groupAllowFrom(globalnie dla wszystkich kanałów), albo - ustawienie list dozwolonych nadawców dla kanału:
channels.irc.groups["#channel"].allowFrom
#tuirc-dev na rozmowę z botem):
Wyzwalanie odpowiedzi (wzmianki)
Nawet jeśli kanał jest dozwolony (przezgroupPolicy + groups) i nadawca jest dozwolony, OpenClaw domyślnie stosuje bramkowanie wzmiankami 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 wzmiankami dla tego kanału:
Uwaga dotycząca bezpieczeństwa (zalecane dla kanałów publicznych)
Jeśli zezwolisz naallowFrom: ["*"] w kanale publicznym, każdy może wysłać prompt do bota.
Aby ograniczyć ryzyko, ogranicz narzędzia dla tego kanału.
Te same narzędzia dla wszystkich w kanale
Różne narzędzia dla poszczególnych nadawców (właściciel ma większe uprawnienia)
UżyjtoolsBySender, aby zastosować surowszą politykę do "*" i luźniejszą do swojego nicka:
- Klucze
toolsBySenderpowinny używaćid:dla wartości tożsamości nadawcy IRC:id:eigenalboid:eigen!~eigen@174.127.248.171dla silniejszego dopasowania. - Starsze klucze bez prefiksu są nadal akceptowane i dopasowywane wyłącznie jako
id:. - Wygrywa pierwsza pasująca polityka nadawcy;
"*"jest rezerwowym symbolem wieloznacznym.
NickServ
Aby zidentyfikować się w NickServ po połączeniu:register po zarejestrowaniu nicka, aby uniknąć powtarzających się prób REGISTER.
Zmienne środowiskowe
Konto domyślne obsługuje:IRC_HOSTIRC_PORTIRC_TLSIRC_NICKIRC_USERNAMEIRC_REALNAMEIRC_PASSWORDIRC_CHANNELS(rozdzielone przecinkami)IRC_NICKSERV_PASSWORDIRC_NICKSERV_REGISTER_EMAIL
IRC_HOST nie może być ustawione z pliku .env obszaru roboczego; zobacz pliki .env obszaru roboczego.
Rozwiązywanie problemów
- Jeśli bot łączy się, ale nigdy nie odpowiada w kanałach, sprawdź
channels.irc.groupsoraz czy bramkowanie wzmiankami odrzuca wiadomości (missing-mention). Jeśli chcesz, aby odpowiadał bez pingów, 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ź host/port i konfigurację certyfikatu.
Powiązane
- Przegląd kanałów — wszystkie obsługiwane kanały
- Parowanie — uwierzytelnianie DM i przepływ parowania
- Grupy — zachowanie czatu grupowego i bramkowanie wzmiankami
- Routing kanałów — routing sesji dla wiadomości
- Bezpieczeństwo — model dostępu i utwardzanie