Mattermost 接入——开源版 Slack
Hermes 消息平台接入第10篇:Mattermost。私有化部署团队的 AI 助手。
这篇教程带你一步步把 Hermes Agent 接入 Mattermost——一个开源的、可以自己架设服务器的 Slack 替代品,让你在自己的地盘上和 AI 助手聊天。
准备工作:先理解 Hermes 在 Mattermost 里的“性格”
在动手之前,先花一分钟了解 Hermes 接入后会怎么表现,免得之后吓一跳:
| 场景 | Hermes 的反应 |
|---|---|
| 私聊(DM) | 每条消息都回,不需要 @它。每个私聊有独立记忆。 |
| 公开/私密频道 | 只有你 @它 的时候才回话,否则装看不见。 |
| 帖子(Thread) | 如果设置了 thread 模式,它会在你的消息下面开一个子帖回复,不打扰主频道。 |
| 多人共享频道 | 默认每个用户有独立记忆,你和同事在同一个频道里聊天,Hermes 不会把你们的对话混在一起。 |
小提示:想让 Hermes 在子帖里回复(而不是直接刷在主频道),把
MATTERMOST_REPLY_MODE设为thread就行。默认是off,消息平铺在频道里。
第 1 步:让服务器允许创建机器人账号
就像小区要先允许装快递柜,你得先在 Mattermost 后台开启机器人功能:
- 用系统管理员账号登录。
- 进入 系统控制台 → 集成 → 机器人账号。
- 把 允许创建机器人账号 设为 是。
- 点击 保存。
如果你不是管理员,去找管理员帮你开权限、建机器人。
第 2 步:创建机器人账号(相当于给 Hermes 办一张小区门禁卡)
- 点击左上角 ☰ 菜单 → 集成 → 机器人账号。
- 点击 添加机器人账号。
- 填写信息:
- 用户名:比如
hermes - 显示名称:比如
Hermes Agent - 角色:选
成员就够了
- 用户名:比如
- 点击 创建。
- 立刻复制弹出的令牌(Token)——这相当于门禁卡的密码,只显示一次!
⚠️ 令牌只显示一次,丢了就得重新生成。千万别把令牌发到群里或传到 Git 上,谁拿到它谁就能完全控制你的机器人。
把令牌存到密码管理器里,第 5 步要用。
小技巧:你也可以用个人访问令牌代替机器人账号,这样 Hermes 会以你自己的身份发言,而不是机器人身份。
第 3 步:把机器人拉进频道
机器人得先“入群”才能干活:
- 打开你想让机器人所在的频道。
- 点击频道名称 → 添加成员。
- 搜索你的机器人用户名(如
hermes)并添加。
私聊不用拉,直接给机器人发消息它就能回。
第 4 步:找到你的用户 ID(不是用户名!)
Hermes 靠你的用户 ID 来识别谁能指挥它:
- 点击左上角你的头像 → 个人资料。
- 在弹窗里找到 用户 ID,点击复制。
用户 ID 是一串 26 位的字母数字,像 3uo8dkh1p7g1mfk49ear5fzs5c。
⚠️ 用户 ID ≠ 用户名。用户名是
@alice这种,用户 ID 是系统内部用的长串字符。
也可以用命令行查:
curl -H "Authorization: Bearer 你的令牌" \
https://你的-mattermost服务器/api/v4/users/me | jq .id
第 5 步:配置 Hermes Agent
方式 A:交互式配置(推荐)
运行:
hermes gateway setup
按提示选择 Mattermost,粘贴服务器地址、机器人令牌和你的用户 ID。
方式 B:手动配置
编辑 ~/.hermes/.env 文件:
# 必填
MATTERMOST_URL=https://mm.example.com
MATTERMOST_TOKEN=你的令牌
MATTERMOST_ALLOWED_USERS=3uo8dkh1p7g1mfk49ear5fzs5c
# 可选:回复模式(thread 或 off,默认 off)
# MATTERMOST_REPLY_MODE=thread
# 可选:是否必须 @才回复(默认 true = 必须 @)
# MATTERMOST_REQUIRE_MENTION=false
第 6 步:启动网关
hermes gateway
几秒内机器人就会连上服务器。给它发条消息试试吧——私聊或频道里都行。
小提示:可以用
systemd把网关设为后台常驻服务,这样关机重启后它也会自动运行。
进阶玩法:几个实用设置
设置“主场频道”:让机器人主动推送定时任务、提醒等消息。在频道里输入 /sethome 即可,或在 .env 里手动指定:
MATTERMOST_HOME_CHANNEL=频道ID
限制机器人只在特定频道回复:在 config.yaml 里加:
mattermost:
allowed_channels:
- "频道ID1" # #运维群
- "频道ID2" # #故障响应
私聊不受此限制,授权用户随时能找到它。
总结
到这里,你已经把 Hermes Agent 成功接入了 Mattermost——从开启机器人权限、创建账号、拉人进群,到配置并启动网关。现在你可以像用 Slack 一样,在自己的服务器上和 AI 助手聊天、让它干活了。
下篇预告:接入只是第一步,下一篇我们来聊聊如何给 Hermes 装上“记忆”和“工具”,让它从“聊天机器人”进化成真正的“智能助手”。敬请期待!
📖 官方文档
本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/messaging/slack