#room) i wiadomościach bezpośrednich.
Zainstaluj oficjalny Plugin IRC, a następnie skonfiguruj go w channels.irc.
Szybki start
- Zainstaluj Plugin:
- Włącz konfigurację IRC w
~/.openclaw/openclaw.json. - Ustaw co najmniej:
- Uruchom/uruchom ponownie Gateway:
Domyślne ustawienia bezpieczeństwa
- IRC używa surowych gniazd TCP/TLS poza routingiem przez przekazujący serwer proxy zarządzany przez operatora OpenClaw. We wdrożeniach, które wymagają całego ruchu wychodzącego przez ten przekazujący serwer proxy, ustaw
channels.irc.enabled=false, chyba że bezpośredni ruch wychodzący IRC jest wyraźnie 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
Dla kanałów IRC istnieją dwie osobne „bramki”:- Dostęp do kanału (
groupPolicy+groups): czy bot w ogóle przyjmuje wiadomości z kanału. - Dostęp nadawcy (
groupAllowFrom/groups["#channel"].allowFromdla kanału): kto może wyzwalać bota w tym kanale.
- Lista dozwolonych DM (dostęp nadawcy DM):
channels.irc.allowFrom - Lista dozwolonych nadawców grupy (dostęp nadawcy w kanale):
channels.irc.groupAllowFrom - Kontrole dla kanału (reguły kanału, nadawcy i wzmianek):
channels.irc.groups["#channel"] channels.irc.groupPolicy="open"zezwala na nieskonfigurowane kanały (nadal domyślnie wymagają wzmianki)
nick!user@host).
Dopasowywanie samego nicka jest zmienne i włączone tylko wtedy, gdy channels.irc.dangerouslyAllowNameMatching: true.
Częsta pułapka: allowFrom jest dla DM, nie dla 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 wymaga bramkowania 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 bezpieczeństwa (zalecane dla kanałów publicznych)
Jeśli zezwolisz naallowFrom: ["*"] w kanale publicznym, każdy może wysłać prompt do bota.
Aby zmniejszyć 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 awaryjnym symbolem wieloznacznym.
NickServ
Aby zidentyfikować się w NickServ po połączeniu:register po zarejestrowaniu nicka, aby uniknąć powtarzanych prób REGISTER.
Zmienne środowiskowe
Konto domyślne obsługuje:IRC_HOSTIRC_PORTIRC_TLSIRC_NICKIRC_USERNAMEIRC_REALNAMEIRC_PASSWORDIRC_CHANNELS(oddzielone przecinkami)IRC_NICKSERV_PASSWORDIRC_NICKSERV_REGISTER_EMAIL
IRC_HOST nie może być ustawione z pliku .env w workspace; zobacz pliki .env workspace.
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 wzmacnianie zabezpieczeń