交付模式
当 Hermes Agent 运行在消息网关(如 Slack、Discord、Telegram、WhatsApp、Signal 等)中时,它可以将生成的文件直接以原生附件的形式发送到聊天中——不是让用户复制粘贴路径,而是作为可直接查看或下载的文件。
- 一张图表会以内联图片形式展示;
- 一份 PDF 报告会以可下载文件形式呈现;
- 一个电子表格则会上传为
.xlsx。
Agent 无需添加 MEDIA: 标签或进行任何特殊操作——它只需生成文件,并在回复中提及该文件的绝对路径。网关会从文本中提取路径,将其从可见消息中移除,并以原生方式上传文件。
工作原理
三个组件协同工作:
-
Agent 拥有生成文件的工具。
- 使用
execute_code生成图表(通过 matplotlib); - 使用
latex-pdf-report生成 PDF; - 使用
powerpoint生成演示文稿; - 使用
image_generate生成图像; - 使用
text_to_speech生成音频等。
- 使用
-
网关扫描 Agent 的回复内容,识别文件路径。
任何以支持扩展名结尾的绝对路径(/tmp/...)或主目录相对路径(~/...)都会被提取。代码块内或行内代码中的路径会被忽略,确保代码示例不会被破坏。 -
网关根据文件类型分发处理。
- 图像:在平台支持的情况下以内联形式嵌入;
- 视频:以内联形式嵌入(若支持);
- 音频:作为语音/音频附件处理;
- 其余所有类型:作为文件附件上传。
支持的文件扩展名
| 类别 | 扩展名 | 交付方式 |
|---|---|---|
| 图像 | .png .jpg .jpeg .gif .webp .bmp .tiff .svg | 内联嵌入 |
| 视频 | .mp4 .mov .avi .mkv .webm | 内联嵌入(支持时) |
| 音频 | .mp3 .wav .ogg .m4a .flac | 语音/音频附件 |
| 文档 | .pdf .docx .doc .odt .rtf .txt .md | 文件上传 |
| 数据 | .xlsx .xls .csv .tsv .json .xml .yaml .yml | 文件上传 |
| 演示文稿 | .pptx .ppt .odp | 文件上传 |
| 压缩包 | .zip .tar .gz .tgz .bz2 .7z | 文件上传 |
| 网页 | .html .htm | 文件上传 |
.py, .js, .ts, .html, .css 等源码类扩展名被有意排除,防止 agent 自动发送任意源代码文件;如需发送代码,请使用代码块。
鼓励 agent 生成产出物
默认情况下,agent 不会主动生成产出物——它需要被引导才会这么做。有两种方式推动:
会话级引导:
- 明确请求:“把对比结果做成图表给我”、“返回数据为 CSV 格式”;
- 或自定义指令 / 人格设定,使 agent 在消息平台上的回复更倾向于产出物风格。
项目级引导:
- 在 agent 所工作的项目中,向
AGENTS.md/CLAUDE.md/.cursorrules添加偏好; - 或在全局自定义指令中设置
~/.hermes/config.yaml下的agent.custom_instructions。
Agent 的核心机制很简单:将文件渲染至绝对路径(例如 /tmp/q3-revenue.png),并在回复中以纯文本形式提及该路径。其余工作由网关完成。位于 fenced 代码块或反引号内的路径将被忽略,确保代码样本不受影响。
看板模式:产出物随任务完成通知一同送达
如果你使用 Hermes 的看板多 agent 工作流,工作者可在其 kanban_complete 调用中附加交付文件:
当网关通知器将“任务已完成”消息推送给 Slack/Telegram 等平台中订阅该任务的用户时,也会将每个产出物作为原生附件上传至聊天。人类用户可在一个地方同时获取交付成果与总结信息。
若文件在通知运行时不存在于磁盘上,则会静默跳过。
通过 MCP 连接更多服务
除了交付文件的流程外,agent 还可通过 MCP(模型上下文协议) 访问其他服务。MCP 生态系统提供了大多数主流工具的社区服务器——按需安装即可:
| 服务 | 解锁能力 |
|---|---|
| Notion | 读写 Notion 页面、数据库,查询工作区 |
| GitHub | 问题、PR、评论、超越 gh CLI 的仓库搜索 |
| Linear | 工单、项目、周期管理 |
| Slack | 全 workspace 搜索,访问其他频道 |
| Gmail | 邮件分类、发送邮件、标签管理 |
| Salesforce | 客户线索、商机、账户数据 |
| Snowflake / BigQuery | 对数据仓库执行 SQL 查询 |
| Google Drive | 文件搜索、内容读取、共享管理 |
通过 ~/.hermes/config.yaml 在 mcp_servers 配置部分安装 MCP 服务器。完整设置指南请参见 MCP 集成。
与 Perplexity Computer 在 Slack 中的对比
Perplexity Computer 的 Slack 集成也基于相同理念:agent 生成交付物(图表、PDF、幻灯片),并以原生附件形式回传至线程。Hermes Agent 的交付模式在本地实现了相同的用户体验:
- 生成过程发生在用户自己的虚拟环境 / 沙箱中(无远程租户);
- 文件通过相同的 Slack
files.uploadV2API 落地; - 连接广度来自 MCP,而非预设的 400 个托管集成——只安装你真正需要的服务。
OAuth 令牌始终保留在用户的机器上,存储于 auth.json / .env 中。无托管令牌存储,无多租户微虚拟机。最终效果一致。