IRC
Використовуйте IRC, якщо хочете підключити OpenClaw до класичних каналів (#room) і особистих повідомлень.
IRC постачається як extension plugin, але налаштовується в основному конфігу в розділі channels.irc.
Швидкий старт
- Увімкніть конфігурацію IRC в
~/.openclaw/openclaw.json. - Задайте щонайменше:
- Запустіть або перезапустіть gateway:
Типові налаштування безпеки
channels.irc.dmPolicyтипово має значення"pairing".channels.irc.groupPolicyтипово має значення"allowlist".- Якщо
groupPolicy="allowlist", задайтеchannels.irc.groups, щоб визначити дозволені канали. - Використовуйте TLS (
channels.irc.tls=true), якщо тільки ви свідомо не погоджуєтеся на передавання відкритим текстом.
Керування доступом
Для каналів IRC є два окремі «бар’єри»:- Доступ до каналу (
groupPolicy+groups): чи взагалі бот приймає повідомлення з каналу. - Доступ відправника (
groupAllowFrom/groups["#channel"].allowFromдля окремого каналу): кому дозволено активувати бота в цьому каналі.
- Список дозволу для особистих повідомлень (доступ відправника в DM):
channels.irc.allowFrom - Груповий список дозволу відправників (доступ відправника в каналі):
channels.irc.groupAllowFrom - Керування для окремих каналів (канал + відправник + правила згадувань):
channels.irc.groups["#channel"] channels.irc.groupPolicy="open"дозволяє неконфігуровані канали (але типово все одно діє gating згадувань)
nick!user@host).
Зіставлення лише за nick є змінним і вмикається лише коли channels.irc.dangerouslyAllowNameMatching: true.
Поширена проблема: allowFrom призначений для DM, а не для каналів
Якщо ви бачите в логах щось на кшталт:
irc: drop group sender alice!ident@host (policy=allowlist)
- задайте
channels.irc.groupAllowFrom(глобально для всіх каналів), або - задайте списки дозволу відправників для окремих каналів:
channels.irc.groups["#channel"].allowFrom
#tuirc-dev звертатися до бота):
Запуск відповіді (згадування)
Навіть якщо канал дозволено (черезgroupPolicy + groups) і відправника дозволено, OpenClaw типово використовує gating згадувань у групових контекстах.
Це означає, що ви можете бачити в логах щось на кшталт drop channel … (missing-mention), якщо повідомлення не містить шаблон згадування, що збігається з ботом.
Щоб бот відповідав у каналі IRC без потреби у згадуванні, вимкніть gating згадувань для цього каналу:
Примітка щодо безпеки (рекомендовано для публічних каналів)
Якщо ви дозволяєтеallowFrom: ["*"] у публічному каналі, будь-хто може надсилати запити боту.
Щоб зменшити ризик, обмежте інструменти для цього каналу.
Однакові інструменти для всіх у каналі
Різні інструменти для різних відправників (власник має більше можливостей)
ВикористовуйтеtoolsBySender, щоб застосувати суворішу політику до "*" і м’якшу — до вашого nick:
- Ключі
toolsBySenderмають використовуватиid:для значень ідентичності відправника IRC:id:eigenабоid:eigen!~eigen@174.127.248.171для точнішого зіставлення. - Застарілі ключі без префікса все ще приймаються і зіставляються лише як
id:. - Перемагає перша політика відправника, що збіглася;
"*"— це резервний шаблон wildcard.
NickServ
Щоб пройти ідентифікацію через NickServ після підключення:register після реєстрації nick, щоб уникнути повторних спроб REGISTER.
Змінні середовища
Типовий обліковий запис підтримує:IRC_HOSTIRC_PORTIRC_TLSIRC_NICKIRC_USERNAMEIRC_REALNAMEIRC_PASSWORDIRC_CHANNELS(розділені комами)IRC_NICKSERV_PASSWORDIRC_NICKSERV_REGISTER_EMAIL
Усунення несправностей
- Якщо бот підключається, але ніколи не відповідає в каналах, перевірте
channels.irc.groupsі чи не відкидає повідомлення gating згадувань (missing-mention). Якщо ви хочете, щоб він відповідав без ping, задайтеrequireMention:falseдля каналу. - Якщо вхід не вдається, перевірте доступність nick і пароль сервера.
- Якщо TLS не працює в кастомній мережі, перевірте host/port і налаштування сертифіката.
Пов’язане
- Огляд каналів — усі підтримувані канали
- Pairing — автентифікація особистих повідомлень і процес pairing
- Групи — поведінка групових чатів і gating згадувань
- Маршрутизація каналів — маршрутизація сесій для повідомлень
- Безпека — модель доступу та посилення захисту