跳到主要内容

交付模式

当 Hermes Agent 在消息网关(Slack、Discord、Telegram、WhatsApp、Signal 等)内部运行时,它可以将生成的文件直接交付到聊天中——不是作为用户必须复制的路径,而是作为原生附件。

图表会显示为内联图片。PDF 报告会显示为文件下载。电子表格会以 .xlsx 格式上传。代理不需要编写 MEDIA: 标签或执行任何特殊操作——它只需生成文件并在响应中提及绝对路径。网关会从文本中提取该路径,将其从可见消息中移除,并以原生方式上传文件。

工作原理

三个部分协同工作:

  1. 代理拥有生成文件的工具。 用于通过 matplotlib 生成图表的 execute_code,用于 PDF 的 latex-pdf-report 技能,用于演示文稿的 powerpoint 技能,用于图像的 image_generate,用于音频的 text_to_speech 等等。

  2. 网关扫描代理响应中的文件路径。 任何以支持的扩展名结尾的绝对路径(/tmp/...)或相对于主目录的路径(~/...)都会被提取。代码块和内联代码中的路径会被忽略,因此代码示例永远不会被破坏。

  3. 网关根据文件类型进行分发。 图像在平台支持的情况下嵌入为内联;视频嵌入为内联;音频路由到语音/音频附件;其他所有内容均作为文件附件上传。

支持的文件扩展名

类别扩展名交付方式
图像.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文件上传
Web.html .htm文件上传

.py.log 和其他源文件扩展名被有意排除,以便代理不会自动发送任意源文件;如果您想向用户发送代码,请使用代码块。

鼓励代理生成产物

代理默认不会主动生成产物——它需要知道这样做。有两种方法可以引导它:

每次会话: 明确请求(“以图表形式发送比较结果”,“以 CSV 格式返回数据”)或编写自定义指令/个性条目,以偏向于在消息平台上以产物风格的回复。

项目级别: 将这种偏向添加到代理工作的项目中的 AGENTS.md / CLAUDE.md / .cursorrules,添加到 ~/.hermes/SOUL.md 中的全局角色,或作为 ~/.hermes/config.yamlagent.personalities 下的命名预设(可通过 /personality 按会话切换)。

代理必须使用的机制很简单:将文件渲染到绝对路径(例如 /tmp/q3-revenue.png),并在回复中以纯文本形式提及该路径。网关会处理其余部分。围栏代码块或反引号内的路径会被忽略,因此代码示例永远不会被破坏。

Kanban:产物随完成通知一起发送

如果您使用 Hermes 的 kanban 多代理工作流,工作人员可以在其 kanban_complete 调用中附加可交付文件:

kanban_complete(
summary="rendered Q3 revenue chart and report",
artifacts=[
"/tmp/q3-revenue.png",
"/tmp/q3-report.pdf",
],
)

当网关节点向 Slack/Telegram/etc. 中订阅了该任务的用户发送“任务完成”消息时,它还会将每个产物作为原生附件上传到该聊天中。用户可以在一个地方收到可交付文件和摘要。

如果通知程序运行时磁盘上不存在文件,则会自动静默跳过。

通过 MCP 连接更多服务

除了产物交付管道外,代理还可以通过 MCP(模型上下文协议)访问其他服务。MCP 生态系统为大多数流行工具提供了社区服务器——安装您需要的任何服务器:

服务解锁功能
Notion读写 Notion 页面、数据库、查询工作区
GitHubIssues、PRs、评论、超出 gh CLI 范围的仓库搜索
Linear工单、项目、周期
Slack全工作区搜索、读取其他频道
Gmail收件箱分类、发送邮件、标签管理
Salesforce潜在客户、商机、账户数据
Snowflake / BigQuery针对数据仓库执行 SQL
Google Drive文件搜索、内容、共享管理

通过 ~/.hermes/config.yaml 中的 mcp_servers 部分安装 MCP 服务器。有关完整设置指南,请参阅 MCP 集成

与 Slack 中的 Perplexity Computer 比较

Perplexity Computer 的 Slack 集成围绕相同的理念构建:代理生成可交付物(图表、PDF、幻灯片演示文稿)并将其作为原生附件发布回线程中。Hermes Agent 的交付模式在本地提供了相同的面向用户的模式:

  • 生成发生在用户自己的 venv / 沙箱中(无远程租户)。
  • 文件通过相同的 Slack files.uploadV2 API 进入聊天。
  • 连接器广度通过 MCP 实现,而不是由 400 个托管集成的精选目录提供——安装您实际使用的那些。

OAuth 令牌保留在用户机器上的 auth.json / .env 中。无托管令牌存储。无多租户微虚拟机(microVM)。最终结果相同。