Skip to content

CLI / TUI / Web

源码版本v2026.7.20

職責

界面層是使用者接觸 agent 的另一組入口(除網關訊息平台外):CLI(hermes_cli/,命令列子命令體系)、TUI(ui-tui/,TypeScript 終端 UI + tui_gateway/ Python 橋)、Web(web/,瀏覽器界面)。三者都最終把使用者輸入送進 agent 的 run_conversation,把輸出渲染回來。它們和網關層是並列關係——網關接外部平台,界面層接本地使用者。

關鍵檔案

CLI

TUI

Web

資料流

  1. CLI:hermes <subcommand>hermes_cli/_parser.py 解析 → 子命令模組(auth/backup/blueprint/...)執行;對話類命令最終呼叫 AIAgent.run_conversation:6350
  2. TUI:ui-tui/(TS 前端)經 WebSocket 連 tui_gateway/ws.py,tui_gateway 把終端事件橋到 agent(tui_gateway/server.py 持有 agent),輸出經 tui_gateway/event_publisher.py 推回前端。
  3. Web:web/(Vite 前端)同樣經後端連 agent,渲染對話與工具結果。
  4. 三者的 agent 實例都經 init_agent:276 裝配,共用同一套能力層。

小結

界面層 = 三種殼(CLI/TUI/Web)+ 一個 tui_gateway 橋。它們不持業務,只負責輸入輸出形態。與網關層並列:網關接外部訊息平台,界面層接本地終端/瀏覽器。ACP(見此)則接 IDE,構成完整的入口面。

非官方社群學習站,內容以 MIT 授權的 NousResearch/hermes-agent 原始碼為依據。