#room)和直接訊息中時使用 IRC。
IRC 作為擴充外掛程式發貨,但在 channels.irc 的主設定中進行設定。
快速開始
- 在
~/.openclaw/openclaw.json中啟用 IRC 設定。 - 至少設定:
- 啟動/重新啟動 Gateway:
安全預設值
channels.irc.dmPolicy預設為"pairing"。channels.irc.groupPolicy預設為"allowlist"。- 使用
groupPolicy="allowlist",設定channels.irc.groups定義允許的頻道。 - 使用 TLS(
channels.irc.tls=true),除非您有意接受明文傳輸。
存取控制
IRC 頻道有兩個獨立的「門」:- 頻道存取(
groupPolicy+groups):bot 是否接受來自頻道的訊息。 - 傳送者存取(
groupAllowFrom/ 每個頻道groups["#channel"].allowFrom):誰被允許在該頻道內觸發 bot。
- DM 允許清單(DM 傳送者存取):
channels.irc.allowFrom - 群組傳送者允許清單(頻道傳送者存取):
channels.irc.groupAllowFrom - 每個頻道控制(頻道 + 傳送者 + 提及規則):
channels.irc.groups["#channel"] channels.irc.groupPolicy="open"允許未配置的頻道(仍然預設提及把關)
nick!user@host)。
裸露昵稱比對是可變的,僅在 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 中的任何人與 bot 交談):
回覆觸發(提及)
即使頻道被允許(透過groupPolicy + groups)且傳送者被允許,OpenClaw 預設為群組上下文中的提及把關。
這意味著您可能看到日誌,如 drop channel … (missing-mention),除非訊息包含與 bot 相符的提及模式。
要使 bot 在 IRC 頻道中回覆無需提及,停用該頻道的提及把關:
安全注意(建議用於公開頻道)
如果您允許allowFrom: ["*"] 在公開頻道中,任何人都可以提示 bot。
為了降低風險,限制該頻道的工具。
對頻道中的每個人相同的工具
每個傳送者不同的工具(擁有者獲得更多權力)
使用toolsBySender 應用對 "*" 的更嚴格政策和對您昵稱的較寬鬆政策:
toolsBySender金鑰應該為 IRC 傳送者身份值使用id::id:eigen或id:eigen!~eigen@174.127.248.171以進行更強的比對。- 舊版未加前綴的金鑰仍被接受並比對為
id:。 - 第一個相符的傳送者政策獲勝;
"*"是通配符回落。
NickServ
在連接後以 NickServ 識別:register 以避免重複的 REGISTER 嘗試。
環境變數
預設帳戶支援:IRC_HOSTIRC_PORTIRC_TLSIRC_NICKIRC_USERNAMEIRC_REALNAMEIRC_PASSWORDIRC_CHANNELS(逗號分隔)IRC_NICKSERV_PASSWORDIRC_NICKSERV_REGISTER_EMAIL
故障排除
- 如果 bot 連接但從不在頻道中回覆,請驗證
channels.irc.groups和提及把關是否丟棄訊息(missing-mention)。如果您想要它不需要 ping 就回覆,為頻道設定requireMention:false。 - 如果登入失敗,請驗證昵稱可用性和伺服器密碼。
- 如果 TLS 在自訂網路上失敗,請驗證主機/連接埠和憑證設定。