交付模式
當 Hermes Agent 在消息網關(Slack、Discord、Telegram、WhatsApp、Signal 等)內部運行時,它可以將生成的文件直接交付到聊天中——不是作為用戶必須複製的路徑,而是作為原生附件。
圖表會顯示為內聯圖片。PDF 報告會顯示為文件下載。電子表格會以 .xlsx 格式上傳。代理不需要編寫 MEDIA: 標籤或執行任何特殊操作——它只需生成文件並在響應中提及絕對路徑。網關會從文本中提取該路徑,將其從可見消息中移除,並以原生方式上傳文件。
工作原理
三個部分協同工作:
-
代理擁有生成文件的工具。 用於通過 matplotlib 生成圖表的
execute_code,用於 PDF 的latex-pdf-report技能,用於演示文稿的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 | 文件上傳 |
| Web | .html .htm | 文件上傳 |
.py、.log 和其他源文件擴展名被有意排除,以便代理不會自動發送任意源文件;如果您想向用戶發送代碼,請使用代碼塊。
鼓勵代理生成產物
代理默認不會主動生成產物——它需要知道這樣做。有兩種方法可以引導它:
每次會話: 明確請求(“以圖表形式發送比較結果”,“以 CSV 格式返回數據”)或編寫自定義指令/個性條目,以偏向於在消息平臺上以產物風格的回覆。
項目級別: 將這種偏向添加到代理工作的項目中的 AGENTS.md / CLAUDE.md / .cursorrules,添加到 ~/.hermes/SOUL.md 中的全局角色,或作為 ~/.hermes/config.yaml 中 agent.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 頁面、數據庫、查詢工作區 |
| GitHub | Issues、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.uploadV2API 進入聊天。 - 連接器廣度通過 MCP 實現,而不是由 400 個託管集成的精選目錄提供——安裝您實際使用的那些。
OAuth 令牌保留在用戶機器上的 auth.json / .env 中。無託管令牌存儲。無多租戶微虛擬機(microVM)。最終結果相同。