🤖HermesBlog
Hermes 訊息平台接入 · 第40篇2026/8/14· Easy Understand Hermes Agent

A2A 雙機實戰:讓兩台電腦上的 Hermes 互相派活

Hermes 訊息平台接入第40篇:A2A 跨機器部署步驟與真實踩雷經驗談。

一台電腦上的 Hermes 忙不過來,想讓另一台電腦上的 Hermes 搭把手——A2A 就是幹這個的。但部署起來有哪些坑?真實用戶替你踩過了。

A2A -twonode

什麼時候需要雙機

先想清楚一個問題:你是真的需要兩台電腦,還是只是想讓兩個智慧體配合?

如果兩個智慧體住在同一台機器上,用委派或看板就夠了——就像同一個辦公室裡,喊一嗓子隔壁工位的同事就行,沒必要打電話。A2A 是給「跨機器/跨程序/跨框架」準備的:你的桌上型電腦和伺服器各跑一個 Hermes,它們有各自的記憶、工具和登入憑證,這時候才需要 A2A 這座橋。

上手步驟

第 1 步:兩台機器都啟用 A2A 平台。 安裝 Hermes 時選 A2A,或改設定檔把 gateway.platforms.a2a.enabled 設為 true,連接埠預設 9900。這一步相當於給每台電腦裝了一扇帶門禁的對外大門。

第 2 步:設定 token(門禁鑰匙)。 伺服器端設 A2A_PEER_TOKENSA2A_BEARER_TOKEN。如果只是本機測試,可以不設 token,但大門只對 127.0.0.1 開放——就像門禁卡只發給本樓住戶。

第 3 步:暴露位址。 跨機器必須設 A2A_HOST,例如 0.0.0.0 或區域網路 IP。這一步是把門從「內部通道」挪到「臨街位置」,讓另一台電腦能找到你。

第 4 步:配對對等方。 在用戶端設定 a2a_agents,或直接用 a2a_discover("http://伺服器位址:9900") 看對方的 Agent Card——相當於先遞名片,確認對方是誰、會什麼技能。

第 5 步:驗證。 啟用 a2a 工具集,用 a2a_call 發個簡單任務試試。注意逾時:用戶端預設 330 秒,伺服器端回覆視窗 300 秒,長任務要調大,不然活幹到一半就被判逾時了。完成後去 ~/.hermes/a2a_audit.jsonl 看看稽核日誌。

真實案例一:成功的部署長什麼樣

官方文件裡描繪了一個理想情境:你的桌面 Hermes 把任務交給伺服器上的 Hermes——伺服器有更強的算力、更穩定的網路、更全的資料庫。反過來,伺服器上的 Hermes 也可以把「查一下本機檔案」這種活派給桌面端。兩邊各有各的記憶和工具,各幹各的活,透過 Agent Card 互相發現技能,對話按 contextId 鍵控,支援多輪。

這就像一家公司的兩個部門:行銷部(桌面端)需要一份資料分析報告,發個郵件給數據部(伺服器端),數據部做完發回來,兩邊各存各的檔案,互不干擾。

真實案例二:一個失敗的部署

社群裡有個真實案例(#82910):使用者在兩台 macOS 上部署了雙節點——一個面向使用者的閘道 + 一個 worker。聽起來和上面的成功案例差不多,但結果翻車了,最後團隊下線了這套部署。

問題出在「協調者」和「worker」的角色沒分清楚。父智慧體(協調者)把太多東西堆到自己的會話裡:worker 的每步操作、每段中間結果、每次思考過程都回流到父會話,導致上下文膨脹——父智慧體被海量資訊淹沒,越來越遲鈍。跨智慧體的轉錄拖累了整體效能,複雜任務還觸發恢復迴圈,越陷越深。

教訓很明確:A2A 跨機器協作要先設計好職責邊界——誰協調、誰幹活、誰的記憶歸誰。別把什麼都堆到父會話裡,worker 該有自己的「小本本」。

部署避坑清單

反向代理身份塌縮(#80534/#80779):如果你用 nginx、K8s Ingress 或 CDN 做反向代理,所有對等方共享同一個 bearer token,身份會全部塌縮成代理位址。解決方法是讓代理傳 X-Forwarded-For,從可信代理之後推導真實身份。這就像大樓前台代收快遞,得在包裹上寫明真正的收件人,不然全堆前台了。

多設定檔路由被拒(#80884/#80956):如果你用 multiplex_profiles 跑多個設定,入站 A2A 訊息路由到次要 profile 時可能被閘道授權層拒絕。修復方法是啟動時捕獲不可變介面卡安全上下文,保留每個 profile 自己的認證、信任、綁定和 Agent Card 策略。每扇門都要有自己的門禁規則,不能共用一套。

逾時設定:預設 330 秒用戶端 vs 300 秒伺服器端,長任務記得調。不然就像打長途電話,話沒說完就被掐線了。

有界 worker 模式(#82503):這是官方為上下文膨脹開的藥方。非 root 的 served A2A 路由可以執行設定的子程序或版本化 RPC worker,有有界輸出、程序樹收割、取消和恰好一次終結——worker 幹完活就收工,不把過程全倒給父會話。

對使用者意味著什麼

A2A 雙機部署不是「兩台電腦連個線」那麼簡單。它像開一家分店:門面(Agent Card)、門禁(token)、分工(誰協調誰幹活)、倉庫(各自記憶)都要想清楚。成功的部署讓兩台機器各展所長,失敗的部署讓協調者被資訊淹沒。

記住三條:先明確職責邊界,再考慮技術細節;反向代理要處理身份問題;長任務調逾時,複雜任務用有界 worker。做到這幾點,兩台電腦上的 Hermes 才能真正成為好同事,而不是互相拖累的豬隊友。

📖 官方文档

本文根据 Hermes Agent 官方文档编写,原文见:官方文档 › user-guide/messaging/a2a