Deliverable Mode(交付物模式)

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

图表以内联图片形式出现。PDF 报告以文件下载形式出现。电子表格以 .xlsx 形式上传。代理无需编写 MEDIA: 标记或做任何特殊操作——它只需生成文件并在回复中提及文件的绝对路径即可。网关从文本中提取该路径,将其从可见消息中移除,并以原生方式上传文件。

工作原理

三个部分协同工作:

  1. 代理拥有生成文件的工具。 execute_code 通过 matplotlib 生成图表,latex-pdf-report 技能生成 PDF,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文件上传
网页.html .htm文件上传

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

鼓励代理产生产物

代理默认不会主动生成产物——它需要知道应该这样做。有两种提示方式:

按会话: 明确要求(“把对比结果以图表形式发给我”、“以 CSV 格式返回数据”),或者编写您自己的自定义指令/个性条目,使其在消息平台上偏向于产物风格回复。

项目级别: 将偏好添加到代理工作项目中的 AGENTS.md / CLAUDE.md / .cursorrules,或添加到 ~/.hermes/config.yamlagent.custom_instructions 下的全局自定义指令中。

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

Kanban:产物随完成通知携带

如果您使用 Hermes 的看板多代理工作流,工作线程可以在 kanban_complete 调用中附加交付物文件:

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

当网关通知器向 Slack/Telegram 等平台中订阅了任务的人发送”任务已完成”消息时,它还会将每个产物作为原生附件上传到该聊天。人类在同一个地方同时获得交付物和摘要。

通知器运行时磁盘上不存在的文件会被静默跳过。

通过 MCP 连接更多服务

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

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

通过 ~/.hermes/config.yamlmcp_servers 部分安装 MCP 服务器。参见 MCP 集成 获取完整设置指南。

与 Perplexity Computer in Slack 的对比

Perplexity Computer 的 Slack 集成基于相同的理念:代理生成交付物(图表、PDF、演示文稿)并将其以原生附件形式发布回线程。Hermes Agent 的交付物模式在本地提供相同的面向用户模式:

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

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