介面

閘道

讓遠端管道與桌面用戶端和 Hermes 溝通的持久服務層。

概念專屬圖版閘道hx-graph-context-concept-gateway正在載入視覺預覽…
以原始尺寸檢視

閘道

這是什麼

持續執行的連線與路由服務,讓遠端訊息管道及桌面用戶端都能把工作交給 Hermes。

白話解釋

可以把閘道想成舊地址設定的郵件轉寄:即使桌面應用程式晚上已關閉,信件仍會抵達並自動轉送。Telegram、WhatsApp、Discord 等管道的訊息也會如此進入系統,被分到所屬的持續對話,再交給和鍵盤前操作時相同類型的代理處理。

為什麼重要

閘道讓 Hermes 在沒有人開著桌面應用程式時仍可連線,Telegram、WhatsApp、Discord 等遠端管道和行動用戶端都經由它接入。如果沒有閘道,每個平台整合都需要自己的常駐程序;有了閘道後,它們共用同一層連線與路由服務,再進入相同的代理執行環境。這也讓「筆電上的聊天應用程式」能成為真正的行動指揮中心。

運作方式

GatewayRunnergateway/run.py)負責整個生命週期:啟動所有已設定的平台轉接器,並依對話索引維護有界的 LRU(最久未使用優先)即時代理快取;閒置超過 1 小時的代理會被移除,因此不必為每則新訊息重建代理。Telegram、WhatsApp、Discord 等外掛式轉接器可用各自的工廠函式向共用 platform_registrygateway/platform_registry.py)自行登錄,不必修改閘道核心;少數內建平台仍直接接在執行器上。陌生人第一次私訊機器人時會收到一次自動回覆:pairing.py 產生有時效的一次性代碼,要求對方轉交機器人擁有者;擁有者核准之前,後續訊息不會進入代理。

具體範例

陌生人第一次主動私訊 WhatsApp 上的 Hermes 機器人。閘道收到訊息後發現寄件者不在任何允許清單,便由 pairing.py 立即回覆一次性代碼,請對方轉交機器人擁有者。擁有者透過 CLI 或儀表板核准後,同一個人傳來的下一則訊息才會進入即時代理;閘道也會為這段持續對話保留該代理的快取,而不是每次重建。

如何連結

「閘道」屬於「介面」系列。最直接相關的概念包括:「儀表板 API」、「Telegram 閘道」、「代理執行環境」、「個人作業系統」。

來源證據

  • web_server — 此檔不在本次來源投影的驗證範圍;相關操作仍須以釘選版本的 hermes_cli/web_server.py 實際來源確認。

工作流程

相關文章

相關筆記