Skip to main content

交付模式

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

  • 一张图表会以内联图片形式展示;
  • 一份 PDF 报告会以可下载文件形式呈现;
  • 一个电子表格则会上传为 .xlsx

Agent 无需添加 MEDIA: 标签或进行任何特殊操作——它只需生成文件,并在回复中提及该文件的绝对路径。网关会从文本中提取路径,将其从可见消息中移除,并以原生方式上传文件。


工作原理

三个组件协同工作:

  1. Agent 拥有生成文件的工具。

    • 使用 execute_code 生成图表(通过 matplotlib);
    • 使用 latex-pdf-report 生成 PDF;
    • 使用 powerpoint 生成演示文稿;
    • 使用 image_generate 生成图像;
    • 使用 text_to_speech 生成音频等。
  2. 网关扫描 Agent 的回复内容,识别文件路径。
    任何以支持扩展名结尾的绝对路径/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, .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.yamlmcp_servers 配置部分安装 MCP 服务器。完整设置指南请参见 MCP 集成


与 Perplexity Computer 在 Slack 中的对比

Perplexity Computer 的 Slack 集成也基于相同理念:agent 生成交付物(图表、PDF、幻灯片),并以原生附件形式回传至线程。Hermes Agent 的交付模式在本地实现了相同的用户体验:

  • 生成过程发生在用户自己的虚拟环境 / 沙箱中(无远程租户);
  • 文件通过相同的 Slack files.uploadV2 API 落地;
  • 连接广度来自 MCP,而非预设的 400 个托管集成——只安装你真正需要的服务。

OAuth 令牌始终保留在用户的机器上,存储于 auth.json / .env 中。无托管令牌存储,无多租户微虚拟机。最终效果一致。