Mattermost - 开源企业通讯接入
Mattermost 是一个开源的企业级即时通讯平台,常被视为 Slack 的自托管替代方案(Self-hosted Slack Alternative)。通过创建 Bot Account(机器人账号),可以将 OpenClaw 接入 Mattermost 实现自动化交互。
前置要求
- 一个 Mattermost 实例(Self-hosted 或 Cloud)
- 拥有 System Admin(系统管理员)或可创建 Bot 的权限
- OpenClaw Gateway(网关)已安装并运行
接入步骤
第一步:创建 Bot Account
- 登录 Mattermost,进入 System Console > Integrations > Bot Accounts
- 确认 Enable Bot Account Creation 已开启
- 进入 Integrations > Bot Accounts > Add Bot Account
- 填写 Bot 用户名、显示名称和描述
- 选择角色(建议 Member,按需授权)
- 创建后记录 Bot Access Token
安全提示
Bot Access Token 拥有完整 API 访问权限,请妥善保管。如果 Token 泄露,立即在 System Console 中 Revoke(撤销)并重新生成。
第二步:生成 Personal Access Token(备选方案)
如果无法创建 Bot Account,也可使用 Personal Access Token(个人访问令牌):
- 进入 Profile > Security > Personal Access Tokens
- 点击 Create Token,填写描述
- 记录生成的 Token
第三步:配置 OpenClaw
{
channels: {
mattermost: {
enabled: true,
url: "https://your-mattermost.com", // Mattermost 实例地址
token: "YOUR_BOT_ACCESS_TOKEN", // Bot 或 Personal Access Token
dmPolicy: "pairing" // DM Policy(私信策略)
}
}
}也可以通过 Environment Variable(环境变量)设置:
export MATTERMOST_URL="https://your-mattermost.com"
export MATTERMOST_TOKEN="your-bot-token"第四步:重启 Gateway 并配对
openclaw gateway restart在 Mattermost 中向 Bot 发送私聊消息,获取 Pairing Code(配对码)后批准:
openclaw pairing approve mattermost <pairing-code>WebSocket 连接
OpenClaw 通过 WebSocket(长连接)接收 Mattermost 的实时事件。连接建立后,Bot 可以即时响应消息。
{
channels: {
mattermost: {
websocket: {
reconnectInterval: 5000, // 断线重连间隔(毫秒)
maxRetries: 10, // 最大重试次数
pingInterval: 30000 // 心跳间隔(毫秒)
}
}
}
}WebSocket vs Webhook
Mattermost 支持 Webhook 模式,但 OpenClaw 默认使用 WebSocket 以获得更低延迟和更稳定的连接。WebSocket 无需公网 IP。
Channel 权限
{
channels: {
mattermost: {
allowChannels: ["town-square", "off-topic"], // Channel 白名单(slug 名称)
allowTeams: ["my-team"], // Team(团队)白名单
requireMention: true // 需要 @机器人 才响应
}
}
}留空或省略 allowChannels 则允许所有已加入的 Channel。
Thread(帖子)支持
{
channels: {
mattermost: {
useThreads: true, // 在 Thread 中回复
threadFollowUp: true // 自动跟进同一 Thread
}
}
}启用后,Bot 的回复将以 Thread Reply(帖子回复)形式出现,保持 Channel 整洁。
DM Policy(私信策略)
| 策略 | 说明 |
|---|---|
pairing | 用户需先获取 Pairing Code(配对码)验证 |
allowlist | 仅允许指定用户私聊 |
open | 所有人均可私聊(谨慎使用) |
常见问题
WebSocket 频繁断线
- 检查 Mattermost 服务器版本(建议 7.0+)
- 确认网络防火墙未阻断 WebSocket 连接
- 适当增大
reconnectInterval和pingInterval
Bot 无法加入 Channel
- 确认 Bot 已被邀请到目标 Channel
- 确认 Channel 权限允许 Bot 发送消息
- Private Channel(私有频道)需要手动邀请
Token 认证失败
- 确认 Token 未过期或被 Revoke
- 确认 Mattermost System Console 已启用 Bot Account 或 Personal Access Token
🇨🇳 中国用户须知
Mattermost 可私有部署,适合有自主可控需求的中国企业。
信创合规:Mattermost 开源版(Team Edition)可部署在国内服务器上,数据完全自控,满足等保和信创要求。
部署建议:使用 Docker 或 Kubernetes 部署在内网环境中,配合 OpenClaw 实现内部智能客服和自动化流程。
替代选择:如果团队已使用企业微信或飞书,建议优先使用原生渠道,减少系统复杂度。
社区版限制:Mattermost Team Edition 免费开源,Enterprise Edition(企业版)部分高级功能需付费。
