使用 IRC 可讓 OpenClaw 進入傳統頻道(Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
#room)和私訊。
IRC 以隨附的 Plugin 提供,但設定位於主要設定檔的 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):機器人是否會接受來自某個頻道的訊息。 - 傳送者存取(
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鍵應對 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
IRC_HOST 不能從工作區 .env 設定;請參閱工作區 .env 檔案。
疑難排解
- 如果機器人已連線但從不在頻道中回覆,請確認
channels.irc.groups以及提及限制是否正在丟棄訊息(missing-mention)。如果你希望它不需要 ping 就回覆,請為該頻道設定requireMention:false。 - 如果登入失敗,請確認暱稱可用性和伺服器密碼。
- 如果自訂網路上的 TLS 失敗,請確認主機/連接埠和憑證設定。