Hermes Agent 项目总览
1. 这个项目是做什么的
Hermes Agent 是一个“多入口、可持久化、可调用工具、可接入多模型、多平台”的通用 AI Agent 框架。它不是单纯的聊天壳子,而是一个完整的代理系统,核心目标是让模型具备下面几类能力:
- 能持续对话,不只是单轮问答。
- 能调用工具,而不是只输出文字。
- 能跨会话保存记忆、检索历史会话。
- 能通过 CLI、TUI、消息平台、编辑器协议、API Server、Web Dashboard 等多种入口被使用。
- 能运行在本机、Docker、SSH、Modal、Daytona、Singularity 等不同执行环境里。
- 能做自动化任务、定时任务、子代理委托、批处理、研究/训练数据采样。
简化理解:
- 它本质上是一个“Agent Operating Layer”。
- 大模型只是其中的推理内核。
run_agent.py+model_tools.py+tools/才是它真正的核心。
2. 它起什么作用
这个项目想解决的是“把大模型从聊天接口变成真实可工作的代理”的问题。
它承担的作用包括:
- 统一管理多种 LLM Provider 和模型切换。
- 给模型提供文件、终端、网页、浏览器、图像、语音、MCP、消息发送、定时任务等工具。
- 把同一个 Agent 暴露给多种交互界面:
- 命令行 CLI
- React/Ink TUI
- Telegram / Discord / Slack / WhatsApp / Signal / Matrix / Email 等消息平台
- ACP 编辑器集成
- OpenAI 兼容 API Server
- Web Dashboard
- 保存长期状态:
- 用户配置
- API Key
- 记忆
- 会话历史
- 技能
- 定时任务
- 日志
- 支持研究场景:
- batch runner
- trajectory 保存与压缩
- RL environment
3. 典型使用场景
这个项目适合做以下事情:
- 个人 AI 助手
- 在终端里让 Agent 读写文件、执行命令、搜索网页、查历史。
- 多平台消息机器人
- 把一个 Agent 同时接到 Telegram、Discord、Slack 等渠道。
- 编程代理
- 在编辑器或终端里让 Agent 写代码、改代码、跑命令、管理上下文。
- 自动化助手
- 用
cron做日报、备份、监控、审计、提醒。
- 用
- 研究/训练工具
- 批量跑任务、保存轨迹、给下一代模型训练做数据。
4. 项目的核心能力
从源码看,这个项目最重要的能力有 10 类:
模型调用抽象
支持 OpenAI 风格、Anthropic、Bedrock、OpenRouter、Copilot、Gemini 等多种接入模式。工具注册与调度
工具在tools/目录按文件自注册,model_tools.py负责发现、过滤、下发给模型。多界面入口
hermes_cli.main是统一入口,CLI/TUI/Gateway/ACP/Dashboard 都从这里汇合。上下文管理
agent/context_compressor.py负责自动压缩长会话,降低上下文爆炸风险。记忆系统
agent/memory_manager.py协调内建记忆和插件式记忆后端。会话持久化
hermes_state.py用 SQLite + FTS5 保存会话和全文检索。技能系统
skills/、optional-skills/、agent/skill_commands.py让 Agent 可复用经验。子代理委托
tools/delegate_tool.py可以生成子 Agent 并做隔离任务。多平台消息网关
gateway/是一个独立的大子系统,负责把 Agent 暴露到外部平台。可扩展协议支持
通过 MCP、ACP、插件、Web API 等方式扩展。
5. 这个项目的整体架构结论
如果一句话总结:
Hermes Agent 不是“一个聊天机器人项目”,而是“一个以大模型为核心、以工具系统为执行层、以多平台接入为交互层、以持久化状态为基础设施层”的通用代理框架。
它的架构特征非常明显:
- 功能极多,覆盖面很广。
- 强工程化,不是 demo。
- 更像“平台型代码库”,不是“单一应用”。
- 代码库规模已经进入中大型项目区间。
- 可扩展性强,但复杂度和维护成本也明显上升。
6. 这个项目的优点
- 能力非常全,几乎覆盖当前 Agent 产品常见需求。
- 工具系统、网关系统、TUI 系统、记忆系统相对成型。
- 支持多 Provider、多平台、多运行环境,适配性强。
- 有大量测试,说明项目不是纯实验性质。
tool registry、toolsets、session db、gateway、tui_gateway这些核心模块设计比较清晰。
7. 这个项目的局限和代价
- 学习成本高,新人很难快速全局理解。
- 关键入口文件很大,维护门槛高。
- 配置与启动路径多,文档和真实实现容易出现漂移。
- 可选功能太多,导致安装依赖和平台支持矩阵较复杂。
- 对“想快速二次开发一个单功能 Agent”的人来说,偏重。
8. 我的总体评价
这是一个“功能很强、工程很重、适合平台化使用和深度定制”的 Agent 项目。
如果你的目标是:
- 做个人超级助手
- 做多平台机器人
- 做可接工具的编码代理
- 做消息网关 + 定时任务 + 记忆系统
那么这个项目非常值得研究。
如果你的目标只是:
- 写一个最小聊天机器人
- 写一个几十个文件的小项目
那么 Hermes Agent 会显得过于庞大。