机器人推送的消息如果是一大段密密麻麻的纯文本,用户很可能扫一眼就直接划走。Hermes Agent在新版本中完善了针对Telegram的消息格式化能力,重点支持了加粗文本与有序、无序列表两种排版方式,让推送的通知、报告、任务摘要拥有清晰的视觉层次。这篇文章就从机制、场景和实现三个角度,聊聊这两个看似简单的功能是如何实实在在改善阅读体验的。

为什么格式化对Telegram消息如此重要
Telegram本质上是一个以对话流为主的即时通讯工具,消息以时间线的方式快速滚动。用户在手机上查看消息的平均停留时间非常短,通常只有几秒钟。如果一条消息没有任何视觉锚点,用户需要逐字阅读才能理解内容,认知负担很重。而当关键信息被加粗突出后,用户的视线会第一时间落在重点词汇上,几秒钟内就能判断这条消息是否与自己相关、是否需要进一步处理。
列表的作用则体现在结构化信息的呈现上。比如一个监控机器人推送当日的任务清单,或者一个资讯机器人汇总多条新闻摘要,如果全部写成一个自然段,多条信息之间的边界就模糊了。换成列表后,每一条信息独立成行,用户可以快速清点数量、逐条浏览,甚至跳过不感兴趣的条目。这种扫读能力是纯文本无法提供的。
从信息设计的角度来说,加粗对应的是强调层级,列表对应的是分组层级。两者结合使用,就能在一条Telegram消息里构建出接近文档的阅读结构,而不损失即时通讯的轻量感。这正是Hermes Agent此次更新的核心思路:让Agent输出的结构化内容在Telegram端保持结构,而不是被压扁成一坨文字。
Hermes Agent中加粗与列表的实现机制
Hermes Agent内部生成内容时使用的是类Markdown的中间格式,在发送到Telegram之前会经过一层格式转换器。这层转换器负责把Markdown语法映射为Telegram支持的解析模式。Telegram Bot API目前主要有两种解析方式:一种是HTML模式,另一种是MarkdownV2模式。Hermes Agent默认采用HTML模式进行转换,因为HTML模式的转义规则相对宽松,出错概率更低。
具体来说,当Agent输出的内容中包含双星号包裹的文本时,转换器会将其替换为Telegram可识别的加粗标签;当内容中包含以连字符或数字开头的行时,转换器会将其转换为列表形式。下面是一个简化的转换示例:
import requests
BOT_TOKEN = "你的BotToken"
CHAT_ID = "你的ChatID"
API_URL = f"https://api.telegram.org/bot{BOT_TOKEN}/sendMessage"
# Agent输出的类Markdown内容
agent_output = """**今日任务摘要**
1. 完成数据备份脚本
2. 审核新的告警规则
3. 更新依赖版本"""
# 简单转换:加粗
def convert_bold(text):
import re
return re.sub(r"\*\*(.+?)\*\*", r"<b>\1</b>", text)
payload = {
"chat_id": CHAT_ID,
"text": convert_bold(agent_output),
"parse_mode": "HTML"
}
requests.post(API_URL, data=payload)需要特别注意的是,如果使用HTML解析模式,正文中出现的尖括号、与符号等特殊字符必须先转义,否则Telegram会直接拒绝这条消息并返回解析错误。Hermes Agent在转换器里内置了自动转义逻辑,会先对原始文本做实体转义,再插入格式标签,这样即使用户内容里含有特殊符号也不会导致推送失败。这是一个容易被忽略但非常重要的细节。
另外,Telegram的加粗与列表在移动端和桌面端的渲染效果略有差异。移动端字体较小,加粗的对比效果更明显;桌面端则建议在列表前后留出空行,否则列表项之间可能显得拥挤。Hermes Agent的排版引擎会根据消息长度自动决定是否插入空行分隔,尽量保证在各端都有一致的观感。
实际场景中的阅读体验对比与最佳实践
以一个典型的日报推送场景为例。纯文本版本的日报可能是这样一段话:今天完成了登录模块重构,修复了三个线上问题,新增了两个接口文档,明天计划处理缓存优化。用户读完需要自己在大脑里切分信息。而经过Hermes Agent格式化后,消息会变成加粗的日期标题加上编号列表,每项工作独立一行,重要结论加粗标注。用户三秒钟就能掌握全貌,这种差异在信息量越大时越明显。
在使用这两个功能时,也有几条值得遵循的实践原则。第一,加粗要克制,一条消息中加粗的部分建议不超过两三处,处处加粗等于没有加粗。第二,列表项数量最好控制在五到九条之间,超过这个范围应该考虑拆分成多条消息或使用折叠结构。第三,列表项本身尽量短,每条控制在一行以内,让扫读体验保持流畅。
# 推荐的消息结构模板 message = """<b>【每周安全报告】</b> <b>关键结论:</b>整体风险等级为低。 本周处理事项: 1. 封禁恶意IP共12个 2. 修复两处越权漏洞 3. 完成渗透测试整改 下周关注重点: - 依赖组件版本升级 - 内部权限审计收尾""" # 发送时指定parse_mode为HTML即可正常渲染加粗与列表
最后要提醒的是,格式化是手段而不是目的。Hermes Agent提供这些排版能力,最终目标是降低用户获取信息的成本。在实际接入时,建议结合自己的业务内容特点做A/B对比,观察用户的点击率和回复率变化,找到最适合自己场景的排版密度。当消息变得易读,用户与机器人之间的互动意愿自然会随之提升,这也是消息格式化带来的隐性价值。
Hermes AgentTelegram消息格式Markdown排版修改时间:2026-09-01 11:15:34