通过 IRC 协议接入经典频道(#room)和私信。IRC 作为内置插件,配置在 channels.irc 下。
最小配置
{
channels: {
irc: {
enabled: true,
host: "irc.example.com",
port: 6697,
tls: true,
nick: "openclaw-bot",
channels: ["#openclaw"],
},
},
}安全默认值
dmPolicy默认"pairing"groupPolicy默认"allowlist"- 建议启用 TLS(
tls: true) - IRC 使用原始 TCP/TLS,不经过 OpenClaw 的正向代理路由
访问控制(两道门)
- 频道访问(
groupPolicy+groups):bot 是否接受该频道的消息 - 发送者访问(
groupAllowFrom/ 每频道allowFrom):谁可以在频道内触发 bot
常见配置:
{
channels: {
irc: {
groupPolicy: "allowlist",
groups: {
"#tuirc-dev": {
allowFrom: ["*"],
requireMention: false, // 无需 @mention 即可触发
},
},
},
},
}注意:
allowFrom用于 DM,不用于频道。频道发送者用groupAllowFrom或每频道allowFrom。
Mention 门控
即使频道和发送者都被允许,默认仍需 @mention 才能触发回复。日志中出现 drop channel … (missing-mention) 时,设置 requireMention: false 解除。
工具限制(公开频道安全)
{
channels: {
irc: {
groups: {
"#tuirc-dev": {
allowFrom: ["*"],
tools: {
deny: ["group:runtime", "group:fs", "gateway", "nodes", "cron", "browser"],
},
toolsBySender: {
"id:owner-nick": { deny: ["gateway", "nodes"] },
},
},
},
},
},
}NickServ 认证
{
channels: {
irc: {
nickserv: {
enabled: true,
service: "NickServ",
password: "your-nickserv-password",
},
},
},
}环境变量(默认账号)
IRC_HOST、IRC_PORT、IRC_TLS、IRC_NICK、IRC_PASSWORD、IRC_CHANNELS(逗号分隔)、IRC_NICKSERV_PASSWORD
相关链接
- channel-groups — 群组行为与 mention 门控
- channel-routing — 消息路由机制