基于源码深入阅读(run_agent.py 13000+ 行、anthropic_adapter.py、context_compressor.py 等核心模块)和 200+ PR 审查。 评估日期:2026-04-30
Hermes 不是一个"聊天机器人",而是一个自改进的 AI Agent。
与其他 agent 框架(LangChain, AutoGPT, CrewAI)的本质区别:内置学习闭环——它会从经验中学习、创建技能、改进技能、搜索过去的对话、构建用户画像。
- 项目: https://github.com/NousResearch/hermes-agent
- 开发者: Nous Research
- 许可证: MIT
- 当前版本: v0.11.0 (2026-04)
经验 → 自动创建 Skill → 使用中改进 Skill → 定期提醒自己持久化 → 跨 session 搜索记忆
- 自动技能创建:完成复杂任务后,agent 自动将操作步骤固化为可复用 skill
- 使用中改进:每次使用 skill 时遇到问题,会自动改进 skill 指令
- 持久化记忆:agent 会"提醒自己"把重要信息写入持久化文件(不像其他 agent 每次重启失忆)
- FTS5 全文搜索:SQLite + FTS5 实现跨 session 对话搜索,带 LLM 摘要
- Honcho 用户建模:基于 dialectic 方法构建深层用户画像
| 平台 | 状态 |
|---|---|
| Telegram | ✅ |
| Discord | ✅ |
| Slack | ✅ |
| ✅ | |
| Signal | ✅ |
| ✅ |
- 一个进程支持所有平台
- 跨平台对话连续性
- 语音备忘录转录
| 后端 | 场景 |
|---|---|
| Local | 本地开发 |
| Docker | 容器隔离 |
| SSH | 远程服务器 |
| Daytona | 云原生 |
| Singularity | HPC |
| Modal | Serverless(空闲时几乎零成本) |
支持 200+ 模型,通过 hermes model 切换,无需改代码:
- Nous Portal, OpenRouter (200+), NVIDIA NIM (Nemotron)
- Xiaomi MiMo, z.ai/GLM, Kimi/Moonshot, MiniMax
- Hugging Face, OpenAI, Anthropic, 自有 endpoint
- 自然语言定义定时任务
- 结果可投递到任何平台
- 不需要外部 cron 服务
- 生成隔离的 subagent 处理并行任务
- Python RPC 脚本可以零上下文成本完成多步 pipeline
- Atropos RL 环境
- 轨迹压缩用于训练下一代工具调用模型
- 批量轨迹生成
- 可连接任意 MCP 服务器扩展能力
- 40+ 内置工具
| 文件 | 职责 |
|---|---|
run_agent.py |
AIAgent 类 — 核心对话循环(13000+ 行) |
model_tools.py |
工具编排、_discover_tools()、handle_function_call() |
cli.py |
HermesCLI 类 — 交互式 CLI 协调器 |
hermes_state.py |
SessionDB — SQLite session 存储(FTS5 搜索) |
agent/prompt_builder.py |
系统提示组装 |
agent/context_compressor.py |
自动上下文压缩 |
agent/anthropic_adapter.py |
Anthropic 协议适配(thinking blocks 处理) |
agent/auxiliary_client.py |
辅助 LLM 客户端(视觉、摘要) |
gateway/run.py |
主循环、slash 命令、消息分发 |
tools/ |
工具实现(每个文件一个工具) |
acp_adapter/ |
ACP 服务器(VS Code / Zed / JetBrains 集成) |
cron/ |
调度器 |
User Message → Gateway/CLI → AIAgent.chat()
↓
_build_assistant_message() → 持久化到 SQLite (hermes_state.py)
↓
Tool Discovery → Tool Execution → Tool Result
↓
Skill Creation/Update (from experience)
↓
Memory Persistence → User Model Update (Honcho)
| 特性 | 评价 | 说明 |
|---|---|---|
| 学习闭环 | ⭐⭐⭐⭐⭐ | 真正差异化特性,其他 agent 没有 |
| 多平台网关 | ⭐⭐⭐⭐⭐ | 架构优雅,单进程多平台 |
| 模型无关 | ⭐⭐⭐⭐⭐ | 真正的无锁定 |
| 代码质量 | ⭐⭐⭐⭐ | 模块化良好,~3000 测试 |
| 社区活跃度 | ⭐⭐⭐⭐⭐ | 每天 50+ 新 issues/PRs |
| 部署灵活性 | ⭐⭐⭐⭐⭐ | $5 VPS 到 GPU 集群 |
| 问题 | 严重性 | 状态 |
|---|---|---|
| 单文件过大 (run_agent.py 13000+ 行) | 中 | 已知问题 |
| API 变化快 | 低 | 社区维护活跃 |
| 文档有时滞后 | 中 | 代码领先文档 |
| Thinking blocks 签名问题 | 低 | PR #17981 已修复 |
| 组件 | 技术 |
|---|---|
| 语言 | Python 3.11+ |
| 包管理 | uv + pyproject.toml |
| CLI | prompt_toolkit (富终端界面) |
| 数据库 | SQLite + FTS5 |
| 测试 | Pytest (~3000 测试) |
| LLM SDK | OpenAI, Anthropic, boto3 (Bedrock) |
Hermes 是一个真正有"个性"的 agent — 它会记住你、学习你的偏好、从经验中改进自己。这不是一个工具集合,而是一个活的系统。
核心价值主张:
- 自改进:不是静态配置,而是动态学习
- 跨平台:一个 agent,所有消息平台
- 模型自由:200+ 模型随意切换
- 低成本:$5 VPS 或 serverless 几乎零成本
本文档由 Hermes Agent (hermes) 自动生成,基于源码分析和 PR 审查。 最后更新:2026-04-30