三层分离架构
概述
Hermes Agent 的核心架构设计原则,将系统严格分为入口层、核心层和持久化层,实现关注点分离和入口统一但不耦合。
关键内容
- 入口层(Entry Points):CLI (cli.py)、Gateway (gateway/run.py)、ACP (acp_adapter/)、Batch Runner、API Server、Python Library — 四种入口最终都调用同一个
AIAgent.run_conversation(),但各自管理会话生命周期 - 核心层(AIAgent):
run_agent.py(~9,200 行) 是系统心脏,包含 Prompt Builder、Provider Resolution、Tool Dispatch、Compression & Caching、Tool Registry 五大子模块 - 持久化层:Session Storage (SQLite + FTS5) 通过
hermes_state.py和gateway/session.py实现跨会话状态持久化 - 执行后端层:Terminal (6 backends: local/docker/ssh/modal/daytona/singularity)、Browser (5 backends)、Web (4 backends)、MCP (dynamic)、File/Vision 等
- 设计价值:入口层统一但不耦合,简化状态管理,多任务通过子 Agent 委派解决,同步编排引擎避免异步事件驱动的复杂性
- 代码规模:核心文件总计超过 36,000 行,测试套件 3,000+ 测试,是成熟的工程项目而非玩具 Demo
来源
- 02_hermes_architecture.md — Hermes Agent 深度解析系列第二篇,2026 年 4 月版本
相关
- Hermes Agent — implements
- 同步编排引擎 — part_of
- 工具注册机制 — part_of