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 源码为依据。