Appearance
Slack 多工作区配置下第二个工作区入站 DM 无法到达 OpenClaw
问题
配置了两个 Slack 工作区时,主工作区(Workspace A)入站和出站均正常,但第二个工作区(Workspace B)仅出站正常,入站 DM 回复永远无法到达 OpenClaw,agent 没有任何响应。
已确认不是权限问题:
message.im已启用im:history权限存在- App Home 已开启
- 将第二个工作区临时设为
channels.slack.defaultAccount后,入站依然不工作
受影响版本:OpenClaw 2026.4.14 及以上
解决方案
可靠临时方案:将第二个工作区独立部署
社区测试确认:在独立 Linux 用户下运行独立的 OpenClaw 实例,只配置第二个 Slack 工作区(单工作区配置),入站 DM 可以正常工作。
bash
# 创建独立用户
sudo useradd -m openclaw-ws2
sudo -u openclaw-ws2 bash
# 在独立用户环境安装 OpenClaw
npm install -g openclaw
# 仅配置第二个工作区
# ~/.openclaw/config.yaml
channels:
slack:
accounts:
- name: workspace-b
...根本原因分析(社区):
多工作区实例中,次要 Slack 账户的 webhook 事件接收或路由存在冲突。可能是 socket mode 或事件订阅注册只绑定了主账户,次要账户的入站事件被丢弃。
等待官方修复:该问题已报告,为已知 open bug(#58523)。
诊断步骤:
bash
# 检查是否有入站事件到达但被丢弃
openclaw logs gateway --follow | grep -i "slack.*event\|inbound\|workspace-b"
# 验证两个工作区的 socket 连接状态
openclaw status | grep slack常见问题
Q: 两个工作区用同一个 OpenClaw 实例行不行?
A: 目前不稳定,多工作区的入站路由有 bug。临时方案是分实例部署(每个工作区一个独立实例),代价是资源消耗加倍。
Q: 将 Workspace B 设为 defaultAccount 也不行,是为什么?
A: defaultAccount 只影响出站的默认路由,不影响入站的事件订阅绑定。所以换 defaultAccount 对入站问题无效。