交付模式
当 Hermes 智能体运行在消息网关(Slack、Discord、Telegram、WhatsApp、Signal 等)内时,它可以将生成的文件直接交付到聊天中——不是作为用户需要复制的路径,而是作为原生附件。
图表以内联图片的形式显示。PDF 报告以文件下载形式出现。电子表格作为 .xlsx 文件上传。智能体不需要编写 MEDIA: 标签或做任何特殊处理——它只需生成文件,并在响应中提及文件的绝对路径。网关会从文本中提取出路径,将其从可见消息中移除,并原生地上传该文件。
工作原理
三部分协同工作:
- 智能体拥有能够生成文件的工具。
execute_code用于通过 matplotlib 生成图表,latex-pdf-report技能用于生成 PDF,powerpoint技能用于生成演示文稿,image_generate用于生成图片,text_to_speech用于生成音频,等等。 - 网关扫描智能体的响应以查找文件路径。 任何以支持的扩展名结尾的绝对路径(
/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、.log 和其他源代码文件扩展名,这样智能体就不会自动发送任意源代码文件;如果你想向用户发送代码,请使用代码块。
鼓励智能体制作制品
智能体默认不会主动使用制品——它需要知道如何做。有两种方式可以引导它:
会话级别: 明确要求(“把对比结果作为图表发给我”,“以 CSV 格式返回数据”)或编写你自己的自定义指令/人格设定,使其倾向于在消息平台上回复制品风格的内容。
项目级别: 在智能体所操作的项目的 AGENTS.md / CLAUDE.md / .cursorrules 文件中,在你的全局人格文件 ~/.hermes/SOUL.md 中,或者在 ~/.hermes/config.yaml 的 agent.personalities 下添加一个命名预设(可通过 /personality 按会话切换)中添加这种偏好。
智能体需要使用的机制很简单:将文件渲染到绝对路径(例如 /tmp/q3-revenue.png),并将该路径作为纯文本在回复中提及。网关会完成其余工作。围栏代码块或反引号内的路径会被忽略,因此代码示例不会被破坏。
看板:制品随完成通知发送
如果你使用 Hermes 的看板多智能体工作流,工作人员可以将交付文件附加到他们的 kanban_complete 调用中:
kanban_complete(
summary="已渲染 Q3 收入图表和报告",
artifacts=[
"/tmp/q3-revenue.png",
"/tmp/q3-report.pdf",
],
)
当网关通知器向 Slack/Telegram 等平台中订阅了该任务的人发送“任务完成”消息时,它也会将每个制品作为原生附件上传到该聊天中。这样,用户就能在同一个地方收到交付物和摘要。
通知器运行时磁盘上不存在的文件会被静默跳过。
通过 MCP 连接更多服务
除了制品交付管道,智能体还可以通过 MCP(模型上下文协议)访问其他服务。MCP 生态系统为大多数流行工具提供了社区服务器——安装你需要的即可:
| 服务 | 它能解锁什么 |
|---|---|
| Notion | 读/写 Notion 页面、数据库,查询工作区 |
| GitHub | Issues、PRs、评论、超越 gh CLI 的仓库搜索 |
| Linear | 工单、项目、周期 |
| Slack | 工作区范围搜索,读取其他频道 |
| Gmail | 收件箱整理、发送邮件、标签管理 |
| Salesforce | 线索、商机、账户数据 |
| Snowflake / BigQuery | 针对数据仓库的 SQL 查询 |
| Google Drive | 文件搜索、内容、共享管理 |
通过 ~/.hermes/config.yaml 中的 mcp_servers 部分安装 MCP 服务器。完整的设置指南请参见 MCP 集成。
与 Perplexity Computer 在 Slack 中的对比
Perplexity Computer 的 Slack 集成基于相同的理念:智能体生成一个交付物(图表、PDF、幻灯片),并将其作为原生附件发布回线程中。Hermes 智能体的交付模式在本地提供了相同的面向用户的模式:
- 生成过程发生在用户自己的虚拟环境/沙箱中(无远程租户)。
- 文件通过相同的 Slack
files.uploadV2API 进入聊天。 - 连接器的广泛性是通过 MCP 实现的,而非一个包含 400 个托管集成的精选目录——只需安装你实际使用的。
- OAuth 令牌保存在用户机器上的
auth.json/.env文件中。没有托管的令牌存储。没有多租户微型虚拟机。最终结果相同。