Hermes Agent 完整知识总结与使用教程
项目地址 : https://github.com/NousResearch/hermes-agent
官方文档: https://hermes-agent.nousresearch.com/docs
一、项目概述
1.1 Hermes Agent 是什么?
Hermes Agent 是由 Nous Research 构建的开源自我改进型 AI 智能体 。它不是绑定在 IDE 上的代码助手,也不是围绕单一 API 的聊天机器人包装器,而是一个驻留在你服务器上的自主智能体------拥有持久记忆、自动生成技能、跨平台通信能力,并且运行时间越长越智能。
核心定位:
- 自我改进:内置学习闭环,从经验中创建技能(Skills),在使用中改进技能,主动持久化知识
- 持久记忆:跨会话记住你的偏好、项目上下文和环境信息
- 全平台覆盖:CLI、Telegram、Discord、Slack、WhatsApp、Signal、Email、Matrix、钉钉、飞书、企业微信等 15+ 平台
- 灵活部署:可运行在 $5 的 VPS、GPU 集群或按需休眠的无服务器基础设施上
1.2 核心特性总览
| 特性 | 说明 |
|---|---|
| 自我改进循环 | 从复杂任务中自动创建可复用技能文档,使用中持续优化 |
| 持久记忆 | MEMORY.md + USER.md 双文件系统,加上 FTS5 全文搜索历史会话 |
| 多平台网关 | 单一 gateway 进程连接 15+ 消息平台,跨平台对话无缝衔接 |
| 六种终端后端 | Local、Docker、SSH、Daytona、Singularity、Modal |
| 多模型支持 | Nous Portal、OpenRouter(200+ 模型)、OpenAI、z.ai/GLM、Kimi、MiniMax 等 |
| MCP 支持 | 连接任意 MCP 服务器扩展工具能力 |
| 定时自动化 | 自然语言 cron 调度,自动执行报告、备份、简报 |
| 子智能体 | 隔离的子智能体拥有独立对话、终端和 Python RPC 脚本 |
| 浏览器控制 | Web 搜索、浏览器自动化、视觉识别、图片生成、TTS |
| 语音模式 | CLI 麦克风输入、消息平台语音回复 |
| 技能市场 | 兼容 agentskills.io 开放标准,社区贡献的 Skills Hub |
| 研究就绪 | 批处理、轨迹导出、Atropos RL 训练 |
二、架构与核心概念
2.1 记忆系统(四层架构)
Hermes Agent 的记忆并非单一系统,而是由四个不同层次组成:
第一层:MEMORY.md(提示记忆)
- 存储位置:
~/.hermes/memories/MEMORY.md - 容量上限:约 2,200 字符(约 800 tokens)
- 内容类型:环境事实、项目约定、发现的解决方案、经验教训
- 注入方式:每次会话启动时作为冻结快照注入系统提示
- 特点:会话中的修改立即写入磁盘,但要到下次会话才反映在系统提示中(保持 LLM 前缀缓存性能)
第二层:USER.md(用户画像)
- 存储位置:
~/.hermes/memories/USER.md - 内容类型:用户偏好、沟通风格、个人信息
- 注入方式:同样在会话启动时注入系统提示
第三层:会话搜索(Session Search)
- 存储位置:
~/.hermes/state.db(SQLite + FTS5 全文搜索) - 所有 CLI 和消息平台的会话都被存储
- 搜索查询返回相关的历史对话,并通过 Gemini Flash 进行摘要
- 按需调用,不在系统提示中------用于"我们上周讨论过 X 吗?"这类查询
第四层:可插拔外部记忆提供者
- 支持 7 个外部记忆提供者(包括 Honcho、Hindsight、Mem0 等)
- 提供结构化提取、实体解析和跨会话持久化
- 通过
hermes memory provider配置 - 同一时间只能激活一个外部提供者,内置记忆始终并行运行
记忆操作通过 memory 工具执行,支持的操作有:add、replace、remove(无 read 操作------内容自动注入系统提示)。记忆条目写入前会进行安全扫描,检测注入和数据窃取模式。
2.2 技能系统(Skills)
技能是 Hermes Agent 的程序化记忆------当智能体解决了复杂任务(通常涉及 5+ 次工具调用)后,会自主创建结构化的 Markdown 技能文档。
技能存储与结构:
~/.hermes/skills/ # 本地主目录(可读写)
├── devops/deploy-k8s/
│ └── SKILL.md
└── mlops/axolotl/
└── SKILL.md
技能特点:
- 兼容 agentskills.io 开放标准,可跨智能体移植和分享
- 渐进式披露模式,最小化 token 使用
- 智能体可通过
skill_manage工具创建、更新和删除技能 - 支持外部技能目录(只读共享)
- 技能可作为斜杠命令直接调用:
/axolotl help me fine-tune Llama 3
技能安装与管理:
bash
hermes skills search kubernetes # 搜索技能
hermes skills search react --source skills-sh # 从 skills.sh 搜索
hermes skills install openai/skills/k8s # 安装技能
hermes skills inspect <skill> # 安全检查
hermes skills check # 检查上游更新
hermes skills update # 更新技能
所有从 Hub 安装的技能都会通过安全扫描器检查数据窃取、提示注入、破坏性命令等威胁。
2.3 终端后端
Hermes 支持六种命令执行方式:
| 后端 | 说明 |
|---|---|
| Local | 直接在本机执行(默认) |
| Docker | 容器隔离执行,安全沙箱 |
| SSH | 远程服务器执行 |
| Daytona | 无服务器持久化------空闲时休眠,按需唤醒 |
| Singularity | HPC 环境容器 |
| Modal | 无服务器持久化------空闲时几乎零成本 |
切换后端:
bash
hermes config set terminal.backend docker # Docker 隔离
hermes config set terminal.backend ssh # 远程服务器
2.4 网关系统(Gateway)
网关是一个长运行进程,将智能体连接到消息平台。支持的平台包括:
CLI、Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost、Email、SMS、钉钉(DingTalk)、飞书(Feishu)、企业微信(WeCom)、BlueBubbles、Home Assistant
特点:
- 语音备忘录转写
- 跨平台对话连续性
- 在 Telegram/Slack 上支持原生按钮进行危险命令审批
三、安装指南
3.1 系统要求
- 支持平台: Linux、macOS、WSL2、Android(via Termux)
- 不支持: 原生 Windows(需先安装 WSL2)
- 依赖: 安装脚本自动处理 Python、Node.js、ripgrep、ffmpeg 等
3.2 一键安装(推荐)
bash
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
安装完成后重新加载 Shell 并启动:
bash
source ~/.bashrc # 或: source ~/.zshrc
hermes # 开始对话!
安装脚本自动完成:所有依赖安装、仓库克隆、虚拟环境创建、全局 hermes 命令设置、LLM 提供者配置。
3.3 手动安装
bash
# 安装 uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# 克隆仓库
git clone --recurse-submodules https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
# 创建 Python 3.11 虚拟环境
uv venv venv --python 3.11
export VIRTUAL_ENV="$(pwd)/venv"
# 完整安装(包含所有功能)
uv pip install -e ".[all]"
# 可选:RL 训练后端
uv pip install -e "./tinker-atropos"
# 可选:浏览器自动化和 WhatsApp
npm install
# 创建配置目录
mkdir -p ~/.hermes/{cron,sessions,logs,memories,skills,pairing,hooks,image_cache,audio_cache,whatsapp/session}
cp cli-config.yaml.example ~/.hermes/config.yaml
touch ~/.hermes/.env
echo 'OPENROUTER_API_KEY=sk-or-v1-your-key' >> ~/.hermes/.env
# 全局可用
mkdir -p ~/.local/bin
ln -sf "$(pwd)/venv/bin/hermes" ~/.local/bin/hermes
# 验证安装
hermes doctor
可选 extras 组合安装:
bash
uv pip install -e ".[messaging,cron]" # 仅消息平台和定时任务
3.4 Android / Termux 安装
Termux 安装使用精选的 .[termux] extra,因为完整的 .[all] extra 包含与 Android 不兼容的语音依赖。具体步骤参见官方 Termux 指南。
四、配置与使用
4.1 初始配置
bash
hermes setup # 完整配置向导
hermes model # 选择 LLM 提供者和模型
hermes tools # 配置启用的工具
hermes gateway setup # 设置消息平台
hermes config set # 设置单个配置值
4.2 LLM 提供者
支持的提供者(随时通过 hermes model 切换,无需改代码):
| 提供者 | 说明 |
|---|---|
| Nous Portal | 订阅制,零配置,使用 OAuth |
| OpenRouter | 多提供者路由,200+ 模型,需 API Key |
| OpenAI | GPT 系列模型 |
| z.ai / GLM | 智谱 AI |
| Kimi / Moonshot | 月之暗面 |
| MiniMax | MiniMax 模型 |
| 阿里云 | 通义千问等 |
| Hugging Face | 开源模型 |
| 自定义端点 | 任何兼容 API |
4.3 CLI 交互
启动后进入功能完整的 TUI(终端用户界面):
- 多行编辑
- 斜杠命令自动补全
- 对话历史
- 中断重定向:输入新消息按回车即可中断当前任务,Ctrl+C 也可以
- 流式工具输出
4.4 MCP 服务器配置
在 ~/.hermes/config.yaml 中添加:
yaml
mcp_servers:
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_xxx"
支持 MCP OAuth 2.1 PKCE 标准认证,以及通过 OSV 漏洞数据库自动扫描 MCP 扩展包恶意软件。
4.5 消息平台网关
bash
hermes gateway setup # 交互式平台配置
hermes gateway start # 启动网关
配置完成后,可以从手机上通过 Telegram 等平台与智能体对话,同时它在云端 VM 上工作。
4.6 定时自动化(Cron)
使用自然语言设置定时任务:
❯ Every morning at 9am, check Hacker News for AI news and send me a summary on Telegram.
智能体会自动设置通过网关运行的 cron 任务。
4.7 语音模式
bash
pip install "hermes-agent[voice]"
# 推荐安装免费本地语音转文字
pip install faster-whisper
- CLI 中按
Ctrl+B录音 - 使用
/voice tts让 Hermes 语音回复 - 支持 CLI、Telegram、Discord 及 Discord 语音频道
4.8 ACP 编辑器集成
Hermes 可作为 ACP 服务器运行,兼容 VS Code、Zed、JetBrains 等编辑器。编辑器可以注册自己的 MCP 服务器,Hermes 会将其作为额外的智能体工具。
五、常用命令速查
5.1 核心命令
| 命令 | 说明 |
|---|---|
hermes |
启动对话 |
hermes setup |
完整配置向导 |
hermes model |
选择/切换 LLM 提供者和模型 |
hermes tools |
配置工具 |
hermes doctor |
诊断安装问题 |
hermes logs |
查看和过滤日志 |
5.2 网关命令
| 命令 | 说明 |
|---|---|
hermes gateway setup |
交互式平台配置 |
hermes gateway start |
启动网关服务 |
5.3 技能命令
| 命令 | 说明 |
|---|---|
hermes skills search <query> |
搜索技能 |
hermes skills install <skill> |
安装技能 |
hermes skills inspect <skill> |
安全审查技能 |
hermes skills check |
检查上游变更 |
hermes skills update |
更新已安装技能 |
5.4 配置命令
| 命令 | 说明 |
|---|---|
hermes config set <key> <value> |
设置配置项 |
hermes config show |
显示当前配置 |
hermes config migrate |
迁移配置 |
5.5 迁移命令(从 OpenClaw)
bash
hermes claw migrate # 交互式迁移
hermes claw migrate --dry-run # 预览迁移内容
hermes claw migrate --preset user-data # 仅迁移用户数据
hermes claw migrate --overwrite # 覆盖已有冲突
六、安全机制
6.1 命令审批
危险命令执行前需要用户审批:
- CLI 中需要手动
/approve - Telegram 和 Slack 支持原生按钮审批
- 容器硬化和命名空间隔离
6.2 记忆安全
- 记忆条目写入前扫描注入和窃取模式
- 匹配威胁模式(提示注入、凭据窃取、SSH 后门)或包含不可见 Unicode 字符的内容会被阻止
6.3 技能安全
- Hub 安装的技能通过安全扫描器检查
- 检查项目包括:数据窃取、提示注入、破坏性命令、供应链信号
--force可覆盖非危险的策略阻止,但无法覆盖危险扫描结论- 官方可选技能(
official/...)视为内置信任级别
6.4 MCP 安全
- MCP OAuth 2.1 PKCE 标准认证
- 通过 OSV 漏洞数据库自动扫描 MCP 扩展包
七、高级功能
7.1 子智能体(Subagents)
隔离的子智能体拥有独立的对话上下文、终端和 Python RPC 脚本,实现零上下文成本的管道处理。适合将复杂任务分解为并行子任务。
7.2 浏览器自动化
- Camofox 反检测浏览器后端:使用 Camoufox 实现隐身浏览
- 持久会话,VNC URL 发现用于可视化调试
- 可配置 SSRF 旁路
- 通过
hermes tools自动安装
7.3 研究与训练功能
- 批量轨迹生成:为训练生成大量智能体交互轨迹
- Atropos RL 环境:强化学习训练环境
- 轨迹压缩:训练下一代工具调用模型
7.4 API 服务器集成
- 与 Open WebUI 集成
- 实时流式传输工具进度事件
- 支持
X-Hermes-Session-Id头部实现持久会话 - 会话持久化到共享 SessionDB
7.5 日志系统
结构化日志输出到 ~/.hermes/logs/:
agent.log:完整日志errors.log:错误日志- 通过
hermes logs命令查看和过滤
7.6 多实例(Profiles)
支持配置多个实例 Profile,可以运行多个独立的 Hermes Agent 实例。
八、配置文件参考
主配置文件位于 ~/.hermes/config.yaml。
关键配置目录结构:
~/.hermes/
├── config.yaml # 主配置文件
├── .env # 环境变量(API Keys)
├── memories/
│ ├── MEMORY.md # 智能体记忆
│ └── USER.md # 用户画像
├── skills/ # 技能目录
├── sessions/ # 会话数据
├── logs/ # 日志
│ ├── agent.log
│ └── errors.log
├── cron/ # 定时任务
├── hooks/ # 钩子
├── state.db # SQLite 会话存储
└── whatsapp/session/ # WhatsApp 会话
九、生态系统与社区资源
9.1 核心资源
- 官方文档: https://hermes-agent.nousresearch.com/docs
- GitHub 仓库: https://github.com/NousResearch/hermes-agent
- Skills Hub: 社区贡献的技能市场
- Discord 社区: Nous Research Discord
9.2 推荐社区项目
| 项目 | 说明 |
|---|---|
| awesome-hermes-agent | 精选技能、工具、集成和资源列表 |
| hermes-workspace | Hermes 原生工作空间(聊天、终端、技能管理器) |
| mission-control | 智能体编排仪表盘(舰队管理、任务调度、成本追踪) |
| wondelai/skills | 跨平台技能库(380+ stars) |
| autonovel | 基于 Hermes 的自主小说写作管道 |
9.3 最佳实践
- 从简单开始:先跑通 quickstart,再逐步添加功能
- 精心维护记忆:将 USER.md 和 MEMORY.md 视为高信号基础设施,保持条目简洁、持久、聚焦偏好
- 使用沙箱后端:生产环境中推荐 Docker 或 SSH 后端而非 Local
- 定期检查技能更新 :
hermes skills check追踪上游变更 - 外部记忆推荐:如果需要自动化结构化记忆提取,Hindsight 是推荐的首选提供者(本地运行、无持续成本、在 LongMemEval 上得分最高)
十、快速上手流程
bash
# 1. 一键安装
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
# 2. 重新加载 Shell
source ~/.bashrc
# 3. 启动对话(安装过程中已配置 LLM 提供者)
hermes
# 4. 尝试基本功能
# 在对话中输入任何任务,例如:
# "帮我搜索最近的 AI 新闻并总结"
# "每天早上 9 点发送 Hacker News AI 摘要到 Telegram"
# 5. 配置消息平台(可选)
hermes gateway setup
hermes gateway start
# 6. 切换到安全后端(推荐)
hermes config set terminal.backend docker
# 7. 安装实用技能
hermes skills search kubernetes
hermes skills install openai/skills/k8s
十一、版本历史亮点
v0.7.0 主要更新
- Camofox 反检测浏览器后端
- 内联 Diff 预览
- API 服务器会话连续性与工具流式传输
- ACP 客户端提供的 MCP 服务器
- 非活跃超时改进(追踪实际工具活动而非墙钟时间)
- Telegram/Slack 原生审批按钮
- MCP OAuth 2.1 PKCE + OSV 恶意软件扫描
- 集中式日志与配置验证