解构 Agent CLI:从 React 子进程到 Python 回调的通信协议

How Hermes Agent TUI and CLI Communicate with the Agent Loop — Architecture Deep Dive

上周团队在讨论 Agent 产品的交互方案。前端同学主张用 Web UI + WebSocket,理由是现代、可扩展、支持多端。后端同学说那不如直接嵌到现有产品里,用 HTTP REST API。

我打开了我们自己的 Agent 代码仓库,给他们看了两套实现——一套是纯 Python 的同进程架构,另一套是 React + Python 子进程通过 JSON-RPC 通信。

“我们同一个产品里,两套通信协议并存。”

他们沉默了几秒。“为什么?”

因为这不是架构设计的失误,而是交互范式的必然分化。CLI 要的是零延迟的本地体验,TUI 要的是跨进程的事件驱动架构。用一套协议去套两种场景,只会两头都不讨好。

今天我们就来解剖一下 Hermes Agent 的两种交互架构——看看 CLI 和 TUI 分别是怎么和 Agent Loop 通信的,协议是什么,为什么这么设计。

[Read More]