OpenClaw Slack 技能指南
发送和读取 Slack 消息,管理频道。
最后更新: 2026-03-04
快速安装
$ npx clawhub@latest install slack核心功能
OpenClaw Slack 技能概述
Slack 技能将 OpenClaw 连接到你的 Slack 工作区,让你的 AI 智能体通过自然语言发送消息、管理表情反应、固定消息和阅读对话。无需在终端和 Slack 之间反复切换,只需告诉 OpenClaw 即可在几秒内完成常规消息操作。
Slack 是最广泛使用的团队沟通平台之一,将其与 OpenClaw 集成可以解锁强大的自动化工作流。无论你需要发送部署通知、对消息做出反应,还是固定重要决策,OpenClaw Slack 技能都能将多步 Slack 操作转化为简单对话。
典型工作流:
- 让 OpenClaw 向
#releases频道发送部署更新。 - 智能体通过配置的 Bot Token 调用 Slack API。
- 消息即刻发送——无需切换上下文。
该技能支持两种连接模式:Socket Mode(推荐用于开发和小团队)和 HTTP Events API(更适合防火墙后的生产环境部署)。两种模式使用相同的 Bot Token,功能完全一致。
Slack 技能安装前的准备
安装 Slack 技能之前,请确保你具备以下条件:
- OpenClaw 已安装并运行(v1.0+)
- 拥有一个你有权限安装应用的 Slack 工作区
- 在 api.slack.com/apps 创建了一个 Slack 应用,并配置了所需的 OAuth 权限范围
- 已安装 clawhub CLI 用于技能管理——通过 clawhub 安装
所需 OAuth 权限范围(Bot Token)
创建 Slack 应用时,添加以下 Bot Token 权限范围:
| 权限范围 | 用途 |
|---------|------|
| chat:write | 发送和编辑消息 |
| channels:history | 读取频道消息历史 |
| channels:read | 列出和查看频道信息 |
| im:history | 读取私信历史 |
| im:write | 发送私信 |
| reactions:read | 列出消息的表情反应 |
| reactions:write | 添加表情反应 |
| pins:read | 列出已固定的消息 |
| pins:write | 固定和取消固定消息 |
| emoji:read | 访问自定义 Emoji 列表 |
| app_mentions:read | 响应 @提及 |
可选:添加 chat:write.customize 以自定义每条消息的机器人显示名称,或添加 files:read 和 files:write 以支持文件操作。
验证你的环境:
# 检查 OpenClaw 版本 openclaw --version # 验证 clawhub 已安装 clawhub --version
如何安装 Slack 技能
使用一条命令安装 Slack 技能:
npx clawhub@latest install slack
验证安装:
clawhub list
你应该能在已安装技能列表中看到 slack。该技能由 steipete 在 ClawHub 发布,并定期更新。
Slack 技能配置指南
Slack 技能需要 Bot Token 以及 Socket Mode 下的 App Token。OpenClaw 会自动从环境变量中读取这些令牌。
环境设置
# 必需:Bot Token(以 xoxb- 开头) export SLACK_BOT_TOKEN=xoxb-your-bot-token-here # Socket Mode 必需(以 xapp- 开头) export SLACK_APP_TOKEN=xapp-your-app-token-here
重要提示: 切勿将令牌硬编码到配置文件中。请使用环境变量或密钥管理器,例如 1Password 或 Bitwarden。
连接模式
Socket Mode(默认):
- 需要
SLACK_BOT_TOKEN和SLACK_APP_TOKEN - 不需要公网 URL——非常适合本地开发
- 使用
openclaw gateway启动
HTTP Events API:
- 需要
SLACK_BOT_TOKEN和 Signing Secret - 配置 Webhook 端点(默认:
/slack/events) - 更适合反向代理后的生产环境
访问控制
OpenClaw 为 Slack 交互提供精细的访问控制:
- 私信策略:
pairing(默认)、allowlist、open或disabled - 频道策略:
open、allowlist或disabled - 需要 @提及: 频道中默认需要
@bot提及
对于团队环境,建议使用 pairing 私信策略。用户必须运行 openclaw pairing approve slack <code> 后机器人才会响应其私信。查看安全检查清单了解更多加固建议。
Slack 技能使用示例
1. 发送部署通知
你: "向 #releases 频道发送消息,说 2.4.0 版本已零停机部署到生产环境。"
智能体调用 sendMessage,指定目标频道和消息内容。通知以机器人身份即刻出现在频道中。
2. 对团队决策做出反应
你: "对 #engineering-decisions 最新消息添加一个勾选反应。"
智能体使用 readMessages 读取指定频道的最新消息,然后通过 react 添加 ✅ 反应。这非常适合确认决策或标记已审查的任务。
3. 固定重要更新
你: "固定 #product 频道中关于 Q1 路线图的消息。"
智能体在最近的消息中搜索匹配"Q1 路线图"的内容,然后使用 pinMessage 固定它。固定的消息会保留在频道顶部,方便整个团队访问。
4. 阅读和总结频道动态
你: "总结一下今天 #support 频道发生了什么。"
智能体使用 readMessages 获取当天的消息,然后分析并总结关键话题、问题和解决方案。搭配 Summarize 技能使用效果更佳。
安全与最佳实践
Slack 技能可以在你的工作区中发送消息和修改内容。请遵循以下指南确保安全:
- 最小权限原则。 只授予实际需要的 OAuth 权限范围。如果只需要读取频道,跳过
chat:write和pins:write。 - 启用配对模式。 默认的
pairing私信策略可防止未授权用户在私信中与机器人交互。 - 发送前确认。 OpenClaw 默认会在发送消息前提示确认。不要在生产工作区中禁用此功能。
- 限制频道访问。 使用
allowlist频道策略将机器人限制在特定频道,而非授予全工作区访问权限。 - 定期轮换令牌。 定期重新生成 Bot Token,并在 Slack 应用管理页面撤销不再使用的令牌。
- 审计消息活动。 检查 Slack 工作区审计日志,审查机器人发送的消息。
Slack 技能常见错误与故障排除
"not_authed" 或 "invalid_auth"
Bot Token 缺失或无效。
# 验证令牌已设置 echo $SLACK_BOT_TOKEN # 如需重新导出 export SLACK_BOT_TOKEN=xoxb-your-new-token
如果令牌最近被重新生成,请确保更新所有使用它的环境。
"channel_not_found"
机器人无法访问指定频道。这通常意味着:
- 机器人未被邀请到频道——在频道中输入
/invite @your-bot-name。 - 频道 ID 不正确——使用 Slack API 或频道的上下文菜单获取正确的 ID。
- 频道是私有的,机器人缺少
groups:read权限范围。
"missing_scope"
Bot Token 缺少所需的 OAuth 权限范围。
- 前往 api.slack.com/apps → 你的应用 → OAuth & Permissions。
- 添加错误消息中列出的缺失权限范围。
- 重新安装应用到工作区以应用新的权限范围。
常见问题
是的,正确配置后是安全的。该技能遵循 OpenClaw 的确认模型——消息在你批准之前不会发送。默认的 `pairing` 私信策略确保只有授权用户才能与机器人交互。我们建议从有限的频道白名单开始,随着对设置的信心增加再扩展访问范围。
可以。OpenClaw 支持多账户 Slack 配置。每个工作区需要自己的 Bot Token 和 App Token。在 OpenClaw 网关设置中配置额外的账户,技能会根据目标频道或用户自动将请求路由到正确的工作区。
两者都提供消息功能,但针对不同平台。[Slack 技能](/skills/slack)专注于职场沟通,提供频道固定、私信配对策略和 OAuth 权限范围管理等功能。[Discord](/skills/discord) 技能则面向社区服务器,支持基于角色的访问、线程管理和语音频道感知。选择与你团队主要沟通平台匹配的技能即可。
相关技能
与 Discord 服务器和频道交互。
管理 Trello 看板、列表和卡片。
管理 Linear Issue、项目和迭代周期。