🤖HermesBlog
Hermes 消息平台接入 · 第9篇2026/8/9· Easy Understand Hermes Agent

Matrix 接入——去中心化聊天网络

Hermes 消息平台接入第9篇:Matrix。开源去中心化聊天协议接入。

Matrix 接入:自建邮局

Matrix 接入——去中心化聊天网络

嘿,朋友们!今天咱们来聊聊 Hermes Agent 的 Matrix 接入。Matrix 是个啥?你可以把它想象成一个去中心化的微信——没有哪个公司垄断你的聊天数据,你可以自己搭服务器,也可以用公共服务器(比如 matrix.org)。不管哪种方式,你的通讯你做主!

连上之后,Hermes 怎么表现?

先说说大家最关心的:机器人连上 Matrix 后到底啥脾气?

场景 行为
私聊 每条消息都回,不用 @ 它。每个私聊有独立会话。设 MATRIX_DM_MENTION_THREADS=true 可在私聊被 @ 时开线程。注意:成员数 ≤ 2 的房间也算私聊,哪怕它有名字——Matrix 客户端会自动给 1:1 聊天起名,光看名字不靠谱
群聊 默认要 @ 它才回。想让它自由发言?设 MATRIX_REQUIRE_MENTION=false 或加白名单。邀请自动接受。但故意建的 2 人房间仍会被当成私聊,会静默绕过 MATRIX_ALLOWED_ROOMS、MATRIX_REQUIRE_MENTION 和 MATRIX_FREE_RESPONSE_ROOMS——想让它当普通群用,就再加第三个人
线程 支持线程(MSC3440),线程内上下文隔离,不跟主聊天室混
自动开线程 默认每条回复都自动开线程,保持对话清爽。设 MATRIX_AUTO_THREAD=false 可关闭;设 MATRIX_DM_AUTO_THREAD=true(默认 false)可让私聊也自动开线程——这跟只在私聊被 @ 时开线程的 MATRIX_DM_MENTION_THREADS 是两码事。成员数 ≤ 2 的房间按私聊处理,走 MATRIX_DM_AUTO_THREAD 而不是 MATRIX_AUTO_THREAD

最爽的是:邀请机器人进群,它自动加入,不用手动确认!

能干啥?能力清单

  • ✅ 文字、图片、文件、语音、视频
  • ✅ 线程、表情反应、模型选择器
  • ✅ 危险命令审批(用表情反应就能批准)
  • ✅ 思考过程面板(不刷屏主聊天室)
  • ✅ 端到端加密(可选:关/可选/强制)
  • ✅ 原生语音气泡(MSC3245):TTS 和语音音频在 Element 等客户端里显示为原生语音气泡,而不是普通音频附件;收到的语音消息也会自动识别并转文字,无需配置

会话模型:每个人有自己的小天地

默认情况下,每个私聊、每个线程、群里的每个用户都有独立会话。这由 config.yaml 控制:

group_sessions_per_user: true

如果你想要整个群共享一个对话(比如协作项目群),改成 false 就行。但注意:共享会话意味着大家共享上下文和 token 消耗,一个人跑个大任务,其他人上下文全被撑爆。

关键配置速查

环境变量方式:

MATRIX_REQUIRE_MENTION=true        # 群里要 @ 才回
MATRIX_AUTO_THREAD=true            # 自动开线程
MATRIX_DM_MENTION_THREADS=false    # 私聊被 @ 才开线程
MATRIX_DM_AUTO_THREAD=false        # 私聊也自动开线程
MATRIX_REACTIONS=true              # 处理消息时发 👀/✅/❌ 表情
MATRIX_ALLOW_ROOM_MENTIONS=false   # 允许 @room 全体提醒

配置文件方式:

matrix:
  require_mention: true
  auto_thread: true
  dm_auto_thread: false  # 私聊也自动开线程
  session_scope: room   # auto|room|thread,项目群推荐 room
  max_message_length: 15000  # 出站消息分片大小(UTF-8 字节),默认值与上限均为 15000

小贴士

  • 命令:普通 /commands 能用;如果你的客户端把 / 占了,用 !commands 代替,Hermes 会自动识别
  • 超长消息会自动分片:max_message_length 控制的是出站消息的分片大小,单位是 UTF-8 字节,默认值和上限都是 15000。也就是说,Hermes 发出的长回复会被自动切成多条发送,你不需要手动拆;这个值调大也不会超过 15000 的上限
  • 忽略桥接幽灵号:用 ignore_user_patterns 过滤 Telegram/WhatsApp 桥接过来的机器人账号
  • 关掉表情反应:如果觉得 👀/✅/❌ 太吵,MATRIX_REACTIONS=false 一键静音
  • 依赖安装:Matrix 依赖用 PM 管理的源码检出安装,改完依赖后要重新激活检出并重启 Hermes;matrix extra 仅限 Linux,macOS/Windows 建议在 Linux 容器里跑适配器和加密依赖,转发请求给本机 agent。请求依赖用 python -c "import pm; pm.sync_venv(['matrix'], explicit=True)"

Matrix 接入的好处就是自由——不依赖任何中心化平台,数据自己掌控。赶紧把 Hermes 拉进你的 Matrix 房间试试吧!

📖 官方文档

本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/messaging/matrix