OC
OpenClaw 中文解释版

给五岁小朋友也能看懂的说明书

简要总结

IRC

这页说明书在教我们怎么让 OpenClaw 小助手去一个叫 IRC 的聊天室玩。IRC 就像一个有很多房间(频道)的大房子,人们可以在房间里一起聊天,也可以互相说悄悄话。如果你想在 IRC 里使用 OpenClaw,就需要先告诉它怎么去,并且要设置好哪些房间和哪些人可以跟它说话。这里会一步一步教你怎么做。

五岁小孩版解释

第一步:打开 IRC 的大门

首先,我们要在一个叫 openclaw.json 的“说明书”里,告诉 OpenClaw 我们想去 IRC 玩。你需要找到并打开这个文件。

  1. 打开设置开关:在文件里找到 channels.irc 这个地方,把 enabled 这个选项从 false 改成 true。就像打开一个玩具的电源开关一样。
  2. 告诉它地址和名字:接着,你需要填好下面这些信息,OpenClaw 才知道去哪里、叫什么名字:
    • host:IRC 聊天室服务器的地址,比如 irc.libera.chat
    • port:门牌号,通常是 6697
    • tls:要设置为 true,这就像给你们的对话加上一个秘密信封,让别人听不到。
    • nick:给 OpenClaw 起一个在聊天室里的昵称,比如 openclaw-bot
    • channels:你想让它加入的房间名字,比如 ["#openclaw"]。房间名前面通常有个 # 号。

要小心哦tls: true 很重要,能保护聊天安全,除非你知道自己在做什么,否则不要关掉它。

  1. 让它出发:设置好后,保存文件。然后打开你的电脑终端,输入命令 openclaw gateway run 并按下回车。这就像对 OpenClaw 说:“好啦,按照新说明去 IRC 玩吧!”

第二步:设置聊天规则(谁可以和它玩)

OpenClaw 很聪明,它有一些默认的规则来保护自己:

  • 对于悄悄话(私聊),默认只和它认识的朋友(pairing)聊。
  • 对于房间(频道)聊天,默认只去我们允许的房间(allowlist)。

所以,如果你想让它在某个房间(比如 #tuirc-dev)里和大家聊天,你需要在“说明书”里明确写上这个房间的名字。就像告诉它:“你可以去这个游乐场玩。”

第三步:更详细的规则(房间里谁可以叫它)

即使 OpenClaw 进了房间,也不是房间里每个人说的话它都会回答。这里有两道“门”:

  1. 第一道门:能进哪个房间? 这由 groupPolicygroups 控制。如果 groupPolicy"allowlist",那它只去 groups 列表里写明的房间。
  2. 第二道门:房间里,谁可以叫它? 这由 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 连接失败:检查你写的服务器地址和门牌号(hostport)对不对。