Mattermost 是企业最流行的自托管团队聊天平台(Slack 的开源替代)。 OpenClaw 通过插件支持 Mattermost,让整个团队都能在熟悉的聊天界面里使用 AI 助手。
为什么选 Mattermost + OpenClaw?
Mattermost(自托管)+ OpenClaw(自托管)= 完全自主的企业 AI 助手
优势:
✅ 数据完全在内网,不经过任何第三方
✅ Mattermost 的权限体系 + OpenClaw 的 AI 能力
✅ 团队成员无需安装任何新工具,直接在 Mattermost 里用
✅ 支持私信、频道、线程三种使用方式
第一步:安装 Mattermost 插件
Mattermost 支持是通过插件实现的,不在 OpenClaw 核心包里:
# 通过 npm 注册表安装(推荐)
openclaw plugins install @openclaw/mattermost
# 如果是从 git 仓库运行,也可以本地安装
openclaw plugins install ./extensions/mattermost
# 验证安装
openclaw plugins list
# 应该看到 mattermost 插件已安装第二步:在 Mattermost 创建 Bot 账户
1. 登录 Mattermost(需要管理员权限)
2. 进入:主菜单 → 集成 → Bot 账户
3. 点击「添加 Bot 账户」
4. 设置:
- 用户名:openclaw-bot(或你喜欢的名称)
- 显示名:OpenClaw AI
- 描述:由 OpenClaw 驱动的 AI 助手
5. 保存后复制 Bot Token(只显示一次!)
注意:需要在 Mattermost 的系统控制台开启「Bot 账户功能」: 系统控制台 → 集成 → Bot 账户 → 启用 Bot 账户创建
第三步:配置 OpenClaw
{
"channels": {
"mattermost": {
"enabled": true,
"botToken": "mm-token-xxxxxxxxxxxx",
"baseUrl": "https://chat.yourcompany.com",
"dmPolicy": "pairing"
}
}
}关键配置字段说明:
| 字段 | 必填 | 说明 |
|---|---|---|
botToken | ✅ | Mattermost Bot Token |
baseUrl | ✅ | Mattermost 服务器地址 |
dmPolicy | 推荐 | 私信策略:pairing(需要配对)/ allowlist(白名单)/ open(所有人) |
三种消息使用方式
方式一:私信(DM)
直接给 Bot 发私信,适合个人使用 AI 助手:
1. 在 Mattermost 左侧点击「+」添加直接消息
2. 搜索 openclaw-bot 并开始对话
3. 第一次需要完成配对(取决于 dmPolicy 配置)
方式二:频道 @ 提及
在任意频道 @ 机器人:
# engineering 频道
@openclaw-bot 帮我 review 这段代码
[粘贴代码]
Bot 会回复在消息线程中,不打扰频道其他讨论
配置频道访问权限:
{
"channels": {
"mattermost": {
"groups": {
"town-square": { "requireMention": true },
"engineering": { "requireMention": false }
}
}
}
}方式三:斜杠命令(原生集成)
开启后,用户可以使用 /oc_* 斜杠命令:
{
"channels": {
"mattermost": {
"commands": {
"native": true,
"nativeSkills": true,
"callbackUrl": "https://gateway.yourcompany.com/api/channels/mattermost/command"
}
}
}
}用户输入 / 就能看到可用命令(如 /oc_help、/oc_status)。
callbackUrl 注意:Mattermost 需要能访问 Gateway 的 HTTP 端口, 如果 Gateway 在内网,需要确保 Mattermost 服务器能访问该地址。
线程会话管理
OpenClaw 在 Mattermost 中的会话与线程绑定:
用户发消息 → OpenClaw 回复(创建线程)
用户在线程内继续 → 同一会话,AI 有上下文
用户发新消息(不在线程内)→ 新会话
这符合 Mattermost 的使用习惯:线程内讨论保持连贯,不影响主频道。
DM 白名单配置
限制哪些用户可以私信 Bot:
{
"channels": {
"mattermost": {
"dmPolicy": "allowlist",
"allowedUsers": ["user-id-1", "user-id-2"]
}
}
}用户 ID 可以从 Mattermost 管理后台或 API 获取:
# 获取用户 ID
curl -H "Authorization: Bearer YOUR_TOKEN" "https://chat.example.com/api/v4/users/username/yourname"多账户配置(多个 Bot)
不同部门用不同的 Bot 身份:
{
"channels": {
"mattermost": [
{
"accountId": "dev-bot",
"botToken": "dev-bot-token",
"baseUrl": "https://chat.example.com",
"groups": { "engineering": {} }
},
{
"accountId": "hr-bot",
"botToken": "hr-bot-token",
"baseUrl": "https://chat.example.com",
"dmPolicy": "allowlist",
"allowedUsers": ["hr-user-ids"]
}
]
}
}与 Slack 的对比
| 功能 | Mattermost + OpenClaw | Slack + OpenClaw |
|---|---|---|
| 数据主权 | ✅ 完全自托管 | ❌ 数据在 Slack |
| 部署复杂度 | 中(需要自建 Mattermost) | 低(直接用 Slack) |
| 功能完整度 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ |
| 适合场景 | 数据安全要求高的企业 | 已使用 Slack 的团队 |
来源:OpenClaw 官方文档 - docs.openclaw.ai/channels/mattermost