#room) и личным сообщениям.
Установите официальный IRC Plugin, затем настройте его в channels.irc.
Быстрый старт
- Установите Plugin:
- Включите конфигурацию IRC в
~/.openclaw/openclaw.json. - Задайте как минимум:
- Запустите или перезапустите Gateway:
Настройки безопасности по умолчанию
- IRC использует необработанные TCP/TLS-сокеты вне маршрутизации через forward proxy, управляемый оператором OpenClaw. В развертываниях, где весь исходящий трафик должен проходить через этот forward proxy, задайте
channels.irc.enabled=false, если прямой исходящий IRC-трафик явно не одобрен. 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): кому разрешено запускать бота внутри этого канала.
- Список разрешенных для личных сообщений (доступ отправителей личных сообщений):
channels.irc.allowFrom - Список разрешенных отправителей группы (доступ отправителей канала):
channels.irc.groupAllowFrom - Поканальные элементы управления (канал + отправитель + правила упоминаний):
channels.irc.groups["#channel"] channels.irc.groupPolicy="open"разрешает ненастроенные каналы (по умолчанию все равно требуется упоминание)
nick!user@host).
Сопоставление только по нику изменяемо и включается только при channels.irc.dangerouslyAllowNameMatching: true.
Частая ошибка: allowFrom предназначен для личных сообщений, а не каналов
Если вы видите журналы вроде:
irc: drop group sender alice!ident@host (policy=allowlist)
- задайте
channels.irc.groupAllowFrom(глобально для всех каналов), или - задайте поканальные списки разрешенных отправителей:
channels.irc.groups["#channel"].allowFrom
#tuirc-dev общаться с ботом):
Запуск ответов (упоминания)
Даже если канал разрешен (черезgroupPolicy + groups) и отправитель разрешен, OpenClaw по умолчанию использует ограничение по упоминанию в групповых контекстах.
Это означает, что вы можете видеть журналы вроде drop channel … (missing-mention), если сообщение не содержит шаблон упоминания, совпадающий с ботом.
Чтобы бот отвечал в IRC-канале без необходимости упоминания, отключите ограничение по упоминанию для этого канала:
Примечание по безопасности (рекомендуется для публичных каналов)
Если вы разрешаетеallowFrom: ["*"] в публичном канале, любой сможет отправлять запросы боту.
Чтобы снизить риск, ограничьте инструменты для этого канала.
Одинаковые инструменты для всех в канале
Разные инструменты для каждого отправителя (владелец получает больше полномочий)
ИспользуйтеtoolsBySender, чтобы применить более строгую политику к "*" и более мягкую к вашему нику:
- Ключи
toolsBySenderдолжны использоватьid:для значений идентификаторов отправителей IRC:id:eigenилиid:eigen!~eigen@174.127.248.171для более строгого сопоставления. - Устаревшие ключи без префикса все еще принимаются и сопоставляются только как
id:. - Побеждает первая совпавшая политика отправителя;
"*"является резервным wildcard-вариантом.
NickServ
Чтобы идентифицироваться в NickServ после подключения:register после регистрации ника, чтобы избежать повторных попыток REGISTER.
Переменные окружения
Учетная запись по умолчанию поддерживает:IRC_HOSTIRC_PORTIRC_TLSIRC_NICKIRC_USERNAMEIRC_REALNAMEIRC_PASSWORDIRC_CHANNELS(через запятую)IRC_NICKSERV_PASSWORDIRC_NICKSERV_REGISTER_EMAIL
IRC_HOST нельзя задать из .env рабочей области; см. файлы .env рабочей области.
Устранение неполадок
- Если бот подключается, но никогда не отвечает в каналах, проверьте
channels.irc.groupsи не отбрасывает ли ограничение по упоминанию сообщения (missing-mention). Если вы хотите, чтобы он отвечал без пингов, задайтеrequireMention:falseдля канала. - Если вход не удается, проверьте доступность ника и пароль сервера.
- Если TLS не работает в пользовательской сети, проверьте хост/порт и настройку сертификата.
Связанные разделы
- Обзор каналов — все поддерживаемые каналы
- Сопряжение — аутентификация личных сообщений и процесс сопряжения
- Группы — поведение группового чата и ограничение по упоминанию
- Маршрутизация каналов — маршрутизация сессий для сообщений
- Безопасность — модель доступа и усиление защиты