Hermes Agent — 开源项目介绍
1. 项目概述
Hermes Agent 是由 Nous Research 构建的一个自学习、开源的 AI 代理,它能自主地从经验中创建和改进技能,在会话之间保持持久的记忆,并能在任何基础设施上运行——从 5 美元的 VPS 到 GPU 集群——可以通过终端或流行的消息平台访问。
2. 项目背景与定位
起源与核心使命
大多数 AI 代理都是无状态的——它们会忘记每一次对话,重复同样的错误,并将你锁定在单一的模型或云提供商。Hermes 的诞生就是为了解决这个问题。它的核心使命是成为一个与你共同成长的代理:一个能够积累过程知识(技能)、随着时间推移建立用户持久模型,并持续自我改进而无需手动干预的代理。
与替代方案的区别
| 维度 | Hermes Agent | 典型替代方案 |
|---|---|---|
| 学习循环 | 自主技能创建与自我改进 | 无(无状态) |
| 模型锁定 | 通过 OpenRouter、OpenAI、Anthropic 等支持任何提供商 | 通常是单一提供商 |
| 基础设施 | 本地、Docker、SSH、Modal、Daytona、Singularity | 通常仅限本地 |
| 接口 | CLI + Telegram、Discord、Slack、WhatsApp、Signal | CLI 或 Web UI |
| 记忆 | FTS5 会话搜索 + LLM 摘要 + 用户建模 | 简单的上下文窗口 |
| RL 集成 | 用于训练工具调用模型的 Atropos RL 环境 | 不适用 |
3. 功能类别
🧠 学习与记忆系统
~5 个核心子系统
- 自主技能创建——代理在完成复杂任务后构建可重用技能
- 技能自我改进——技能在使用过程中进行自我优化
- FTS5 会话搜索——对所有过往对话进行全文搜索,并进行 LLM 摘要
- Honcho 方言用户建模——在会话之间建立不断深化的用户画像
- AgentSkills.io 兼容性——用于在代理之间共享技能的开放标准
目的:赋予代理真正的长期记忆和过程知识。
🛠 工具与工具集
提供 40+ 种工具
- 文件系统操作、网页浏览、代码执行
- 语音备忘录转录
- 启动子代理以进行并行工作流
- 调用工具的 Python RPC 脚本
- 为不同用例配置工具集分发
目的:使代理能够自主处理现实世界任务。
💬 消息网关
6+ 平台集成
- Telegram、Discord、Slack、WhatsApp、Signal、Email
- 单个网关进程同时服务所有平台
- 跨平台对话连续性
- 跨平台语音备忘录转录
目的:让你能从任何地方与代理对话,而不仅仅是终端。
⏰ Cron 调度
自然语言任务调度
- 日报、夜间备份、周度审计
- 发送到任何已连接的平台
- 在远程基础设施上无人值守运行
目的:无需编写 cron 语法即可自动化重复性任务。
🖥 终端后端
6 种执行环境
- 本地、Docker、SSH、Daytona、Modal、Singularity
- Modal 和 Daytona 提供无服务器持久化——空闲时休眠
- 支持 Android/Termux
目的:在任何地方、任何规模运行代理,并将空闲成本降至最低。
🔬 研究与 RL 集成
- 批量轨迹生成
- Atropos RL 环境集成
- 轨迹压缩,用于训练下一代工具调用模型
目的:使 AI 研究人员能够使用 Hermes 作为模型训练的数据引擎。
4. 核心亮点
- 闭环学习——唯一一个能够根据自身任务历史自主创建、存储和自我改进技能的开源代理。
- 零模型锁定——通过一个命令 (
hermes model) 即可切换提供商。支持 Nous Portal、OpenRouter(200+ 模型)、OpenAI、Anthropic、MiniMax、Kimi、GLM 和自定义端点。 - 在你不在时运行——部署在远程 VPS 或无服务器基础设施上;通过 Telegram 交互,而代理在云端执行。
- MCP 原生——连接任何 Model Context Protocol 服务器以获得扩展、标准化的工具能力。
- 研究级轨迹工具——内置批量运行器、RL 环境适配器和轨迹压缩器,用于生成训练数据。
- 全功能 TUI——多行编辑、斜杠命令自动补全、流式工具输出、中断和重定向——不仅仅是聊天机器人包装器。
5. 按角色划分的用例
👨💻 通用开发者
将 Hermes 用作持久的编码助手,它可以记住你的项目上下文、编码风格和过往决策。通过 CLI 与编辑器一起运行它,或将其连接到 Slack 以供团队使用。
⚙️ DevOps / 基础设施工程师
通过 cron 系统安排自动健康检查、日志摘要和部署报告。在 Modal 或 Daytona 上部署无服务器、近乎零成本的后台代理。
🔒 安全工程师
利用隔离的 Docker 或 Singularity 后端进行沙箱化代码执行。使用命令审批系统在任何 shell 命令运行前强制执行允许列表。
📊 数据 / AI 研究人员
使用批量轨迹运行器和 Atropos RL 集成来生成工具调用模型的训练数据集。轨迹压缩器在保留信号的同时降低了 token 成本。
🗂 项目经理
设置 Telegram 或 Discord 机器人,以自然语言提供每日项目状态报告、摘要讨论串和发送计划提醒。
6. 快速入门
🔍 如何查找资源
- 官方文档:https://hermes-agent.nousresearch.com/docs/
- Skills Hub(社区技能):https://agentskills.io
- GitHub 讨论:https://github.com/NousResearch/hermes-agent/discussions
🛠 如何安装与使用
# 安装 (Linux, macOS, WSL2, Termux)
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
# 重新加载 shell
source ~/.bashrc # 或 source ~/.zshrc
# 开始聊天
hermes
# 关键命令
hermes model # 选择 LLM 提供商和模型
hermes tools # 配置启用的工具
hermes setup # 全交互式设置向导
hermes gateway # 启动消息网关 (Telegram, Discord 等)
hermes doctor # 诊断配置问题
hermes update # 更新到最新版本
🤝 如何贡献
# 克隆并设置开发环境
git clone https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
# 安装 uv (快速 Python 包管理器)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 创建虚拟环境并安装依赖
uv venv venv --python 3.11
source venv/bin/activate
uv pip install -e ".[all,dev]"
# 运行测试
python -m pytest tests/ -q
查看完整的贡献指南:https://hermes-agent.nousresearch.com/docs/developer-guide/contributing
7. 项目结构
hermes-agent/
├── agent/ # 核心代理循环和编排逻辑
├── skills/ # 内置技能 (过程记忆单元)
├── optional-skills/ # 社区和可选技能包
├── tools/ # 工具实现 (40+ 工具)
├── gateway/ # 消息平台网关 (Telegram, Discord 等)
├── cron/ # Cron/调度子系统
├── plugins/ # 插件系统
├── environments/ # 终端后端适配器 (Docker, SSH, Modal 等)
├── acp_adapter/ # Agent Communication Protocol 适配器
├── acp_registry/ # ACP 服务注册表
├── hermes_cli/ # CLI 入口点和 TUI
├── plans/ # 代理规划子系统
├── docker/ # Docker 配置
├── nix/ # 用于可复现构建的 Nix flake
├── tinker-atropos/ # RL 环境子模块 (Atropos 集成)
├── docs/ # 文档源文件
├── tests/ # 测试套件
├── cli.py # 主 CLI 入口点
├── run_agent.py # 代理运行器
├── mcp_serve.py # MCP 服务器入口点
├── toolsets.py # 工具集定义和分发
├── hermes_state.py # 全局代理状态管理
├── trajectory_compressor.py # RL 训练数据压缩工具
├── batch_runner.py # 批量轨迹生成
└── Dockerfile # 容器构建定义
8. 相关生态系统
上游依赖与平台
- OpenRouter——多提供商 LLM 路由(200+ 模型)
- Nous Portal——Nous Research 自有的模型端点
- Model Context Protocol (MCP)——标准化的工具/服务器集成
- Honcho (plastic-labs)——方言用户建模后端
- Modal / Daytona——无服务器和云开发环境平台
- Atropos——RL 训练环境框架
互补项目
- agentskills.io——用于共享代理技能的开放标准和中心
- Tinker-Atropos——用于工具调用模型训练的 RL 环境子模块
- OpenClaw——前身项目;Hermes 提供迁移路径
9. 许可证
MIT 许可证
✅ 可商用
✅ 可修改和分发
✅ 可用于私有项目
✅ 可再许可
❌ 作者不提供任何保证
❌ 不能追究作者因损害而产生的责任
ℹ️ 分发时必须包含许可证和版权声明
ℹ️ 欢迎在相同 MIT 条款下贡献
10. 常见问题解答
问:支持哪些 LLM 提供商?
答:任何 OpenAI 兼容的端点,以及对 Nous Portal、OpenRouter(200+ 模型)、Anthropic、OpenAI、MiniMax、Kimi/Moonshot 和 z.ai/GLM 的原生支持。使用 hermes model 进行切换。
问:Hermes 在 Windows 上运行吗?
答:不支持原生 Windows。请安装 WSL2 并使用标准的 Linux 安装命令。通过 Termux 支持 Android。
问:技能系统是如何工作的?
答:在完成复杂任务后,代理会自动编写一个可重用的技能(结构化过程)。技能存储在 ~/.hermes/skills/ 中,在后续使用中会得到改进,并通过 agentskills.io 分享。
问:我可以在不保持笔记本电脑开启的情况下运行 Hermes 吗?
答:可以。部署在任何 Linux VPS 上,或使用 Modal/Daytona 进行无服务器环境,它们在空闲时休眠,按需唤醒——会话之间几乎不产生费用。
问:如何从 OpenClaw 迁移?
答:安装后运行 hermes claw migrate。它会导入记忆、技能、API 密钥、消息设置和个性文件。先使用 --dry-run 进行预览。
11. 快速链接
12. 总结
Hermes Agent 在日益增长的 AI 代理领域中脱颖而出,因为它解决了根本性问题:永不学习的代理。其闭环学习——自主技能创建、技能自我改进、跨会话持久记忆和用户建模——使其在您使用的时间越长,能力就越强。凭借 61k+ 的 GitHub 星标、对 200+ LLM 模型的支持、40+ 工具、六种执行后端以及与所有主流消息平台的集成,它是当今最完整的开源代理框架之一。它最适合那些希望拥有一个持久的、自学习的 AI 代理的开发者、研究人员和高级用户,他们可以一次部署并长期依赖它——无需供应商锁定。