Mattermost 配置#
Hermes Agent 以机器人身份集成到 Mattermost,让你可以通过私信或团队频道与 AI 助手对话。Mattermost 是一个自托管的开源 Slack 替代品——运行在你自己的基础设施上,完全掌控数据。机器人通过 Mattermost 的 REST API(v4)和 WebSocket 连接以接收实时事件,将消息通过 Hermes Agent 管道(包括工具调用、记忆和推理)处理后实时响应。支持文本、文件附件、图片和斜杠命令。无需额外的 Mattermost 库——适配器使用 aiohttp,该库已作为 Hermes 的依赖项包含在内。在开始配置之前,先了解大多数人最关心的部分:Hermes 进入你的 Mattermost 实例后的行为方式。Hermes 的行为方式#
| 场景 | 行为 |
|---|
| 私信(DM) | Hermes 响应每一条消息,无需 @提及。每个私信有独立的会话。 |
| 公开/私有频道 | Hermes 仅在被 @提及 时响应。未被提及时,Hermes 忽略消息。 |
| 线程(Thread) | 若设置 MATTERMOST_REPLY_MODE=thread,Hermes 在你 的消息下方以线程形式回复。线程上下文与父频道隔离。 |
| 多用户共享频道 | 默认情况下,Hermes 在频道内按用户隔离会话历史。同一频道中的两个人不会共享同一份对话记录,除非你明确禁用该设置。 |
如果你希望 Hermes 以线程对话方式回复(嵌套在原始消息下方),请设置 MATTERMOST_REPLY_MODE=thread。默认值为 off,即在频道中发送普通消息。
Mattermost 中的会话模型#
仅当你明确希望整个频道共享一个对话时,才将其设为 false:一个人的长时间重度工具调用任务会使所有人的上下文膨胀
一个人正在进行的任务可能会打断同一频道中另一个人的后续操作
本指南将带你完成完整的配置流程——从在 Mattermost 上创建机器人到发送第一条消息。第一步:启用机器人账户#
在创建机器人账户之前,必须先在 Mattermost 服务器上启用该功能。如果你没有系统管理员权限,请联系 Mattermost 管理员启用机器人账户并为你创建一个。
第二步:创建机器人账户#
1.
在 Mattermost 中,点击左上角的 ☰ 菜单 → 集成 → 机器人账户。
5.
Mattermost 将显示机器人 token。立即复制。
机器人 token 仅在创建机器人账户时显示一次。如果丢失,需要 在机器人账户设置中重新生成。切勿公开分享你的 token 或将其提交到 Git——任何持有此 token 的人都能完全控制该机器人。
将 token 保存在安全的地方(例如密码管理器)。第五步中会用到它。你也可以使用个人访问 token 代替机器人账户。前往个人资料 → 安全 → 个人访问 Token → 创建 Token。如果你希望 Hermes 以你自己的用户身份发帖而非独立的机器人用户,这种方式很有用。
第三步:将机器人添加到频道#
3.
搜索你的机器人用户名(例如 hermes)并添加。
对于私信,直接与机器人开启私信即可——它将立即能够响应。第四步:查找你的 Mattermost 用户 ID#
Hermes Agent 使用你的 Mattermost 用户 ID 来控制谁可以与机器人交互。查找方式:2.
用户 ID 显示在个人资料对话框中——点击即可复制。
你的用户 ID 是一个 26 位字母数字字符串,例如 3uo8dkh1p7g1mfk49ear5fzs5c。你的用户 ID 不是你的用户名。用户名是 @ 后面显示的内容(例如 @alice)。用户 ID 是 Mattermost 内部使用的长字母数字标识符。
要获取频道 ID:点击频道名称 → 查看信息。频道 ID 显示在信息面板中。如果你想手动设置主频道,需要用到它。
第五步:配置 Hermes Agent#
方式 A:交互式配置(推荐)#
在提示时选择 Mattermost,然后按提示粘贴你的服务器 URL、机器人 token 和用户 ID。方式 B:手动配置#
在你的 ~/.hermes/.env 文件中添加以下内容:~/.hermes/config.yaml 中的可选行为设置:group_sessions_per_user: true 使每个参与者在共享频道和线程中的上下文保持隔离
启动 Gateway#
配置完成后,启动 Mattermost gateway:机器人应在几秒内连接到你的 Mattermost 服务器。发送一条消息——私信或在已添加机器人的频道中——进行测试。你可以在后台运行 hermes gateway,或将其配置为 systemd 服务以持续运行。详情参见部署文档。