7.2
深览指数
科技人人都是产品经理·东哥说AI··AI 生成
Hermes Agent六大入口、一个核心、四条接入路径,一文拆透
本文以NousResearch的开源agent框架Hermes Agent为例,展示了作者自己总结的一套“四步拆解法”,用于梳理大型开源项目代码架构。核心结论是:Hermes Agent对外暴露六大入口(CLI、TUI、Web、Desktop、Messaging、ACP),但最终都汇入单一核心`run_agent.py`的运行主链。作者建议开发者根据客户端类型,从四条预设的接入路径中选择,避免从零造轮子,并强调了强大能力带来的安全责任。文章适合有AI agent开发需求、想二次开发或理解大型开源项目组织的读者。原文 ↗
核心观点
- ▍理解大型开源项目(如Hermes Agent)的架构,不能靠大模型一次到位,而应采用“从大到小层层剥开”的固定四步法:模块划分、入口定位、依赖梳理、输出架构说明。
- ▍Hermes Agent的架构核心是“多入口,一核心”:六大入口(CLI、TUI、Web、Desktop、Messaging、ACP)最终都汇聚到`run_agent.py`的模型推理与工具执行循环。
- 01CLI入口通过`hermes_cli.main`直接构造`AIAgent`,不经过gateway;TUI入口走`tui_gateway/server.py`,基于stdio的JSON-RPC协议。
- 02Web入口最复杂,包含三条路径:`/api/pty`(映射TUI到浏览器)、`/api/ws`(JSON-RPC sidecar)、`/api/events`(事件订阅)。Desktop则通过`/api/ws`直接调用`session.create`等方法。
- 03Messaging(如Telegram、Discord)和ACP(协议入口)是独立的输入协议,其中ACP不经过gateway或tui_gateway。
- 04所有入口最终汇入`run_agent.py`,它调用`AIAgent`组装system prompt、上下文、记忆和工具列表,然后调用模型,形成典型的agent loop。
- 05模型返回文本或触发工具调用链,工具结果写回消息历史,模型继续推理,直到得出最终回答。旁路有`hermes_state.py`(状态)、`hermes_logging.py`(日志)、`cron/`(定时任务)并行工作。
- 06作者总结的四条自定义接入路径:新UI客户端复用`tui_gateway`或`/api/ws`的JSON-RPC;新消息平台走gateway的`platform_registry`;编辑器/IDE集成走ACP;极简本地壳才直连核心。
反方 / 局限
- — 作者承认模型一次性理解完整项目架构的局限性,强调“上下文就那么大,一次塞太多,它只能挑着说,而你根本分不清哪句靠谱哪句是编的”,这是其方法论的前提。
- — 文章末段点明安全性问题:Hermes Agent能力强大(操控终端、文件系统、浏览器),尽管开源且透明,但“授权要克制,哪些工具该开、哪些不该开,心里得有数”,开源不等于无风险,把关仍需开发者自己负责。
6 分钟 · 5 卡片 · 15 资料
读原文 →