简要总结
IRC
这页说明书在教我们怎么让 OpenClaw 小助手去一个叫 IRC 的聊天室玩。IRC 就像一个有很多房间(频道)的大房子,人们可以在房间里一起聊天,也可以互相说悄悄话。如果你想在 IRC 里使用 OpenClaw,就需要先告诉它怎么去,并且要设置好哪些房间和哪些人可以跟它说话。这里会一步一步教你怎么做。
五岁小孩版解释
第一步:打开 IRC 的大门
首先,我们要在一个叫 openclaw.json 的“说明书”里,告诉 OpenClaw 我们想去 IRC 玩。你需要找到并打开这个文件。
- 打开设置开关:在文件里找到
channels.irc这个地方,把enabled这个选项从false改成true。就像打开一个玩具的电源开关一样。 - 告诉它地址和名字:接着,你需要填好下面这些信息,OpenClaw 才知道去哪里、叫什么名字:
host:IRC 聊天室服务器的地址,比如irc.libera.chat。port:门牌号,通常是6697。tls:要设置为true,这就像给你们的对话加上一个秘密信封,让别人听不到。nick:给 OpenClaw 起一个在聊天室里的昵称,比如openclaw-bot。channels:你想让它加入的房间名字,比如["#openclaw"]。房间名前面通常有个#号。
要小心哦:tls: true 很重要,能保护聊天安全,除非你知道自己在做什么,否则不要关掉它。
- 让它出发:设置好后,保存文件。然后打开你的电脑终端,输入命令
openclaw gateway run并按下回车。这就像对 OpenClaw 说:“好啦,按照新说明去 IRC 玩吧!”
第二步:设置聊天规则(谁可以和它玩)
OpenClaw 很聪明,它有一些默认的规则来保护自己:
- 对于悄悄话(私聊),默认只和它认识的朋友(
pairing)聊。 - 对于房间(频道)聊天,默认只去我们允许的房间(
allowlist)。
所以,如果你想让它在某个房间(比如 #tuirc-dev)里和大家聊天,你需要在“说明书”里明确写上这个房间的名字。就像告诉它:“你可以去这个游乐场玩。”
第三步:更详细的规则(房间里谁可以叫它)
即使 OpenClaw 进了房间,也不是房间里每个人说的话它都会回答。这里有两道“门”:
- 第一道门:能进哪个房间? 这由
groupPolicy和groups控制。如果groupPolicy是"allowlist",那它只去groups列表里写明的房间。 - 第二道门:房间里,谁可以叫它? 这由
allowFrom列表控制。你需要把允许说话的人的身份(格式像昵称!用户名@地址)写进去。如果写["*"],就表示房间里的所有人都可以叫它。
一个容易弄错的地方:channels.irc.allowFrom 这个列表是管悄悄话的,不管房间聊天!房间聊天的允许名单要用 channels.irc.groupAllowFrom,或者在每个房间的设置里单独写 groups["#房间名"].allowFrom。
第四步:怎么叫它才会答应?(提到它的名字)
在房间里,即使前两道门都通过了,OpenClaw 默认也只在消息里提到它的昵称时才会回答。这就像在操场上,你叫它的名字,它才会跑过来。
如果你希望它在房间里,不用叫名字,看到消息就回答,那需要为那个房间单独设置:requireMention: false。
第五步:安全提醒(在大家都能进的房间)
如果你在一个人很多的公共房间,设置了 allowFrom: ["*"](所有人都能叫它),那可能会有点风险。你可以限制它在那个房间里能使用的“工具”(功能)。比如,不让它运行危险的命令或者访问文件。
你甚至可以设置不同的人能用不同的工具。比如,房间主人(你)可以用更多工具,而其他人只能用安全的几种。这通过 toolsBySender 来设置,记得在身份前面加上 id:,比如 id:你的昵称。
第六步:告诉管理员你是谁(NickServ)
有些 IRC 聊天室需要你登录,证明“这个昵称是我的”。这就像进一个俱乐部要出示会员卡。如果需要,你可以在“说明书”里这样设置:
- 在
nickserv部分,把enabled设为true。 - 设置
service(通常是"NickServ")和你的password(密码)。
如果这是你第一次用这个昵称,还可以让 OpenClaw 帮你注册一下,记得填上邮箱。注册成功后,一定要把 register 改回 false,不然它每次都会尝试注册。
如果遇到问题怎么办?
- 不回答:检查房间是否在
groups列表里,以及是不是因为没提到它的名字(missing-mention)。如果希望它不用被叫名字就回答,记得设置requireMention: false。 - 连不上或登录失败:检查昵称是否被别人用了,或者密码对不对。
- TLS 连接失败:检查你写的服务器地址和门牌号(
host和port)对不对。