Платформы обмена сообщениями
IRC
Используйте IRC, когда вам нужен OpenClaw в классических каналах (#room) и личных сообщениях. IRC поставляется в виде плагина-расширения, но настраивается в основном конфиге в разделе channels.irc.
Быстрый старт
- Включите конфигурацию IRC в файле
~/.openclaw/openclaw.json. - Установите как минимум:
{
"channels": {
"irc": {
"enabled": true,
"host": "irc.libera.chat",
"port": 6697,
"tls": true,
"nick": "openclaw-bot",
"channels": ["#openclaw"]
}
}
}
- Запустите/перезапустите шлюз:
openclaw gateway run
Политики безопасности по умолчанию
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"разрешает не настроенные каналы (но по умолчанию они всё равно требуют упоминания)
Записи в списках ра зрешений должны использовать стабильные идентификаторы отправителей (ник!пользователь@хост). Сопоставление только по нику нестабильно и включается только при channels.irc.dangerouslyAllowNameMatching: true.
Частая ошибка: allowFrom предназначен для ЛС, а не для каналов
Если вы видите в логах записи вида:
irc: drop group sender alice!ident@host (policy=allowlist)
…это означает, что отправитель не был разрешён для групповых/канальных сообщений. Исправьте это, задав либо:
channels.irc.groupAllowFrom(глобально для всех каналов), либо- списки разрешённых отправителей для конкретного канала:
channels.irc.groups["#channel"].allowFrom
Пример (разрешить всем в #tuirc-dev общаться с ботом):
{
channels: {
irc: {
groupPolicy: "allowlist",
groups: {
"#tuirc-dev": { allowFrom: ["*"] },
},
},
},
}
Триггеры ответов (упоминания)
Даже если канал разрешён (через groupPolicy + groups) и отправитель разрешён, OpenClaw по умолчанию использует барьер упоминаний в гру пповых контекстах. Это означает, что вы можете видеть в логах записи вида drop channel … (missing-mention), если сообщение не содержит шаблон упоминания, соответствующий боту. Чтобы бот отвечал в IRC-канале без необходимости упоминания, отключите барьер упоминаний для этого канала:
{
channels: {
irc: {
groupPolicy: "allowlist",
groups: {
"#tuirc-dev": {
requireMention: false,
allowFrom: ["*"],
},
},
},
},
}
Или чтобы разрешить все IRC-каналы (без списка разрешений для каждого канала) и всё равно отвечать без упоминаний:
{
channels: {
irc: {
groupPolicy: "open",
groups: {
"*": { requireMention: false, allowFrom: ["*"] },
},
},
},
}
Примечание по безопасности (рекомендуется для публичных каналов)
Если вы разрешаете allowFrom: ["*"] в публичном канале, любой сможет отправлять запросы боту. Чтобы снизить риски, ограничьте доступные инструменты для этого канала.