简要总结
Slack
这页说明书是教你怎么让你的“小助手”(OpenClaw)和 Slack 这个聊天软件做好朋友,这样小助手就能在 Slack 里和你聊天、帮你做事啦!它告诉你需要准备哪些“钥匙”(比如 Token),怎么设置,还有怎么控制小助手可以和谁聊天。如果你想让小助手在 Slack 里工作,就看这一页。
五岁小孩版解释
要让你的小助手在 Slack 里工作,你需要先在 Slack 那里创建一个“应用”,就像给小助手办个 Slack 里的工作证。然后,把这个工作证的信息告诉你的小助手,它们就能连上啦。有两种主要的连接方式,一种是默认的“Socket 模式”,另一种是“HTTP 模式”。
第一步:创建 Slack 应用和准备“钥匙” 这一步是去 Slack 的网站,给你的小助手创建一个应用,并拿到几把重要的“钥匙”。
- 在 Slack 应用设置里,打开 Socket Mode 这个开关。
- 创建一把 App Token,它看起来像
xapp-...。要确保它有connections:write这个权限。 - 安装这个应用,然后复制另一把 Bot Token,它看起来像
xoxb-...。
第二步:告诉 OpenClaw 这些“钥匙” 这一步是把刚才拿到的钥匙,写进小助手的“小本本”(配置文件)里,这样它就知道怎么去找 Slack 玩了。
- 在你的 OpenClaw 配置文件里,找到
channels.slack这个地方。 - 把它设置成
enabled: true,mode: "socket"。 - 把
appToken和botToken后面分别填上你刚刚复制的两把钥匙。 你也可以通过设置环境变量SLACK_APP_TOKEN和SLACK_BOT_TOKEN来告诉它,但这只对“默认”的那个小助手账户有用。
第三步:让应用“订阅”事件 这一步是告诉 Slack 应用:“如果有人在聊天里@小助手,或者发了新消息,请立刻通知我!”
- 在 Slack 应用设置里,找到订阅机器人事件的地方。
- 你需要订阅很多事件,比如
app_mention(有人@小助手)、message.channels(频道新消息)、message.im(私信)等等。列表很长,照着原文里的名字一个个勾选上就好。 - 还要记得在“应用主页”那里,打开 Messages Tab 的开关,这样小助手才能处理私信。
第四步:启动网关 最后一步,就是启动小助手,让它开始工作!
- 打开你的电脑终端(像一个小黑框)。
- 输入命令
openclaw gateway然后按回车,小助手就启动啦!
关于另一种连接方式(HTTP 模式) 如果你不用默认的 Socket 模式,而要用 HTTP 模式,步骤会有点不一样:
- 在配置里,把
mode改成"http"。 - 从 Slack 那里再复制一个叫 Signing Secret 的秘密字符串。
- 在 Slack 设置里,把“事件订阅”、“交互性”和“斜杠命令”的请求网址,都改成同一个地址,比如
/slack/events。 - 在 OpenClaw 配置里,除了
botToken,还要填上signingSecret和webhookPath。 小心哦:如果你有多个小助手账户都用 HTTP 模式,一定要给每个账户设置不同的webhookPath,不然它们会打架。
重要的规则和提醒
- 谁能和小助手私聊? 默认是“配对”模式,你需要先用命令
openclaw pairing approve slack <配对码>批准一下,对方才能和小助手私聊。你也可以改成“允许名单”或者“完全开放”。 - 小助手能加入哪个频道? 默认它不会自动加入任何频道。你需要设置
groupPolicy并在channels列表里写上频道名字或ID,它才会去那个频道听和说话。 - 在频道里怎么叫小助手? 在频道里,默认需要@小助手或者回复它的消息,它才会回应。这是为了防止它打扰别人。你可以在每个频道的设置里关掉这个要求。
- 斜杠命令:Slack 里可以输入
/命令来指挥小助手。你需要先在配置里打开channels.slack.commands.native: true,然后在 Slack 应用设置里注册同名的斜杠命令(比如/openclaw)。有一个例外:状态命令要注册为/agentstatus,因为 Slack 自己占用了/status这个名字。 - 流式打字效果:小助手可以像真人一样,在 Slack 里一个字一个字地“打”出回复。这需要你在 Slack 应用设置里开启 Agents and AI Apps 功能,并且确保应用有
assistant:write这个权限。
如果出了问题怎么办? 如果小助手在频道里不回复:
- 检查
groupPolicy设置和频道允许名单channels.slack.channels。 - 检查是不是需要@它才行 (
requireMention)。 - 可以用
openclaw channels status --probe命令检查状态。 如果私信被忽略: - 检查
dm.enabled和dmPolicy设置。 - 检查对方是不是在允许名单里,或者配对成功了没有。