HermesAgent 入门指南:会自我学习的开源 AI 智能体
大多数 AI 助手用完就忘,下次还要从零开始。HermesAgent 不一样——它住在你的服务器上,跨会话记住一切,还会越用越聪明。
一、什么是 HermesAgent?
HermesAgent 是由 Nous Research(Hermes、Nomos、Psyche 系列模型的作者)于 2026 年 2 月开源的自主 AI 智能体,MIT 协议,完全免费。
它不是套壳聊天机器人,也不是 IDE 插件,而是一个持续运行在你的基础设施上的自我改进型 Agent:
- 跨会话保持记忆,不再每次重新介绍自己
- 从实际任务中自动生成可复用的技能文档(Skills)
- 支持通过 Telegram / Discord / Slack / WhatsApp 等消息平台随时交互
- 兼容 200+ 语言模型(OpenAI、Anthropic、OpenRouter、本地 Ollama 等)
截至 2026 年 3 月底,项目在 GitHub 上已累计约 8,700 颗星,142 位贡献者,2,293 次提交,整体用 Python 编写。
二、核心架构与关键概念
理解 HermesAgent 之前,先掌握四个核心模块。
1. Agent 循环(The Agent Loop)
核心逻辑位于 run_agent.py 的 AIAgent 类。它是一个同步编排引擎,负责:
- 选择 LLM Provider
- 构建系统提示词
- 执行工具调用
- 失败重试与上下文压缩
- 结果持久化
一切由这一个循环驱动。
2. 三层记忆系统(Memory)
这是 HermesAgent 区别于其他框架最关键的设计:记忆是有界且被精心管理的,而不是无限塞向量数据库。
| 层级 | 文件 | 容量 | 内容 |
|---|---|---|---|
| 短期环境记忆 | MEMORY.md |
~2,200 字符 | 项目约定、环境配置、经验教训 |
| 用户画像 | USER.md |
~1,375 字符 | 你的偏好与沟通风格 |
| 历史检索 | SQLite FTS5 | 无限 | 所有历史会话的全文搜索 |
Agent 会自主管理 MEMORY.md 和 USER.md——学到新东西时添加,信息过时时替换,内容满了时合并压缩。这两个文件在每次会话开始时注入系统提示词,合计约 1,300 个 token,不会撑大上下文窗口。
需要回溯更久远的对话时,Agent 会通过 SQLite 全文搜索 + LLM 摘要按需检索,而非常驻上下文。
3. 技能系统(Skills)
Skills 是 HermesAgent 实现"自我改进"的机制核心。
什么是 Skill?
一个 Skill 是存放在 ~/.hermes/skills/ 目录下的结构化 Markdown 文档,包含解决特定问题的步骤、踩坑记录和验证方法。格式遵循 agentskills.io 开放标准。
三级渐进加载(节省 Token):
- Level 0:Agent 看到所有 Skill 的名称和摘要列表(约 3,000 token)
- Level 1:需要时加载某个 Skill 的完整内容
- Level 2:加载 Skill 内的特定参考文件或脚本
Skill 从哪来?
- Agent 在完成复杂任务(通常超过 5 次工具调用)后自动创建
- 你可以手动编写
- 从 Skills Hub(聚合了 skills.sh 和 GitHub 上的公开技能)安装
- 在团队间通过外部技能目录共享
当 Agent 在执行中发现更好的方法,它还会自动更新已有 Skill。
4. 终端后端(Terminal Backends)
HermesAgent 支持六种命令执行环境:
| 后端 | 特点 |
|---|---|
| Local | 直接在本机执行 |
| Docker | 容器隔离,生产推荐 |
| SSH | 远程服务器执行 |
| Daytona | 无服务器,闲置时休眠 |
| Singularity | HPC / 科研场景 |
| Modal | 无服务器,按需计费 |
Docker 和 SSH 提供沙箱隔离;Daytona 和 Modal 实现"闲置休眠、按需唤醒",可以在 5 美元的 VPS 上跑,成本极低。
三、安装与快速上手
前置要求
只需要安装好 Git,其余依赖(Python、Node.js 等)由安装脚本自动处理。
安装(Linux / macOS / WSL2)
curl -sSL https://hermesagent.agency/install.sh | bash
macOS 也可以用 Homebrew:
brew install hermes-agent
配置 LLM Provider
安装后,设置你偏好的模型提供商:
# 使用 OpenRouter(接入 200+ 模型)
hermes config set provider openrouter
hermes config set api_key YOUR_OPENROUTER_KEY
# 或使用 Anthropic
hermes config set provider anthropic
hermes config set api_key YOUR_ANTHROPIC_KEY
# 或使用本地 Ollama
hermes config set provider ollama
hermes config set base_url http://localhost:11434
切换 Provider 只需一条命令,无需改代码。
首次对话
hermes chat
Agent 会立即开始构建记忆,第一次使用就开始学习你的工作方式。
连接消息平台(可选)
让 Agent 随时通过手机联系你:
# 配置并启动消息网关
hermes gateway setup
hermes gateway start
支持 Telegram、Discord、Slack、WhatsApp、Signal,所有平台共用同一套斜杠命令。
四、连接 MCP 服务器
HermesAgent 原生支持 MCP(Model Context Protocol),在配置文件中添加几行即可接入:
# ~/.hermes/config.yaml
mcp_servers:
- name: github
url: https://mcp.github.com/sse
- name: your-database
url: http://localhost:3001/sse
重启 Agent 后即可通过自然语言操作 GitHub、数据库或任何暴露 MCP 接口的服务。
五、手动编写一个 Skill
你也可以自己写 Skill,帮 Agent 学会特定领域知识:
~/.hermes/skills/
└── my-deploy-workflow/
├── SKILL.md # 主技能文档
└── deploy.sh # 参考脚本(可选)
SKILL.md 的基本结构:
---
name: my-deploy-workflow
description: 使用 Docker Compose 部署 Python 服务的完整流程
tags: [docker, deployment, python]
---
## 概述
本技能描述了将 Python Flask 应用部署到生产环境的步骤。
## 步骤
1. 运行测试套件确保无错误
2. 构建 Docker 镜像并打 tag
3. 推送镜像到 Registry
4. 在服务器上拉取并重启容器
## 常见坑
- 确保 .env 文件已更新环境变量
- 检查 Health Check 端点在新版本中未改变路径
## 验证
部署后访问 /health 端点,返回 200 即成功。
六、安全建议
HermesAgent 默认比大多数 Agent 框架更保守,但生产环境仍需注意:
- 使用 Docker 后端,开启只读根文件系统与最小权限
- 限制工具权限,只开放 Agent 实际需要的工具
- 开启凭证过滤,防止 API Key 泄露到 Agent 上下文
- 定期查看日志:
hermes logs --follow - 保持更新,安全补丁频繁发布
- 敏感场景建议将 Agent 部署在独立 VPC 内,限制网络出口
七、适合哪些场景?
| 场景 | 是否适合 |
|---|---|
| 长期个人开发助手(记住你的项目规范) | ✅ 非常适合 |
| 自动化重复性 DevOps 任务 | ✅ 非常适合 |
| 需要跨会话积累知识的研究工作 | ✅ 非常适合 |
| 团队共享 Agent 技能库 | ✅ 适合 |
| 训练数据生成 / RL 实验 | ✅ 适合(内置 Atropos 集成) |
| 一次性问答、简单 Chatbot | ❌ 过度设计,用普通聊天即可 |
八、总结
HermesAgent 的核心价值在于:它是第一个让"学习"这件事可被验证的开源 Agent 框架——学到的东西写成文件落在磁盘上,清晰可查,不是黑盒向量。
如果你有一个长期项目,正在用 Claude Code、Cursor 或 Aider 并且每次都要重新解释上下文,不妨试试把 HermesAgent 部署到一台 VPS 上,指向你的仓库,跑上一周看看变化。
- GitHub:搜索
NousResearch/hermes-agent - 官网:hermesagent.agency
- Skills Hub:agentskills.io
- 协议:MIT,完全开源
本文基于 HermesAgent v0.7.0(2026 年 4 月)及公开文档整理。