Skip to content
OpenInfoHub
Go back

Hermes Agent 完全指南:Nous Research 打造的自我进化 AI 助手

Hermes Agent 是 Nous Research(Hermes 模型和 Nomos 模型的研究团队)推出的一款开源自主 AI 代理,其最大亮点是「内置学习循环」——它不只会执行任务,还会从每次交互中积累经验、自动生成技能并持续自我改进。

目录

一、Hermes Agent 是什么?

大多数 AI 工具本质上是「聪明的工具箱」:你提问,它回答,对话结束,下次重新开始。

Hermes Agent 的定位截然不同——它是一个持续进化的自主代理

“The only agent with a built-in learning loop.” ——Nous Research 官方描述

具体来说,Hermes 能做到:


二、Hermes vs 其他 AI 代理工具

能力维度传统 AI 助手IDE CopilotHermes Agent
会话持久化❌ 无状态部分支持✅ SQLite 全文存储
自动学习✅ 自动生成/改进 Skills
跨平台接入有限仅 IDE✅ 15+ 平台
模型自由切换受限✅ 任意 LLM 后端
并行子代理✅ 隔离工作流
定时自动化✅ 内置 Cron 调度
安全沙箱✅ 七层防御模型
版本回滚✅ Shadow Git 快照

核心差异在于:Hermes 不依赖任何单一 IDE 或 API 封装,它运行在你自己的基础设施上(从几美元/月的 VPS 到 serverless 云环境),通过统一网关对外提供服务。


三、安装:5 分钟跑起来

前置要求

唯一的硬依赖是 Git,其他所有依赖(Python 3.11、Node.js v22、uv、ripgrep、ffmpeg)由安装脚本自动处理。

一行安装命令

Linux / macOS / WSL2:

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

Android / Termux:

同样的命令,脚本会自动检测环境并使用适配路径。

安装完成后重载 Shell:

source ~/.bashrc

诊断工具

安装遇到问题?运行诊断命令:

hermes doctor

它会列出缺失的组件和修复建议。


四、快速上手:4 步建立基础工作流

Hermes 官方文档强调一个原则:先让一次干净的对话跑通,再叠加高级功能。

第 1 步:选择 LLM 提供商

hermes model

交互式菜单会列出所有可用后端,官方推荐从 Nous PortalOpenRouter 开始(摩擦最小)。

第 2 步:测试基础对话

hermes
# 或者启用 TUI 界面
hermes --tui

试一个具体任务,比如让它总结一个 GitHub 仓库。

第 3 步:验证会话持久化

# 继续上次对话
hermes --continue
# 或简写
hermes -c

看到上次对话的摘要面板出现,说明持久化正常工作。

第 4 步:按需叠加功能

基础流程通畅后,再逐步添加:


五、核心功能深度解析

5.1 CLI 命令体系

Hermes 的命令设计遵循一致的层次结构:

# 基础对话
hermes                              # 进入交互模式
hermes chat -q "帮我分析这个项目"    # 单次查询模式

# 会话管理
hermes --continue                   # 继续最近的会话
hermes -c "我的项目"                 # 按名称恢复会话
hermes --resume <session_id>        # 按 ID 恢复特定会话

# 模型控制
hermes chat --model "anthropic/claude-sonnet-4"  # 指定模型
hermes chat --provider openrouter               # 指定提供商

# 工具与技能
hermes chat --toolsets "web,terminal,skills"    # 启用工具集
hermes -s github-auth,code-review              # 预加载技能

# 高级选项
hermes -w                          # 在隔离 git worktree 中运行
hermes chat --verbose              # 开启调试输出

会话内斜杠命令(Slash Commands):

在对话中可以使用的常用命令:

命令功能
/help显示所有可用命令
/model切换 LLM 模型
/tools查看/切换工具集
/skills browse浏览可用技能库
/background <prompt>在后台运行任务
/voice on开启语音模式
/title为当前会话命名
/rollback查看可回滚的快照

斜杠命令大小写不敏感,安装的 Skills 会自动成为新的斜杠命令。

5.2 TUI 终端界面

hermes --tui 启动一个功能完整的终端 UI,提供:

适合需要更丰富视觉反馈的场景。

5.3 配置系统

所有配置存储在 ~/.hermes/ 目录下:

~/.hermes/
├── config.yaml    # 主配置(模型、终端后端、内存、显示)
├── .env           # API 密钥和 Secrets
└── auth.json      # OAuth 凭证

配置管理命令:

hermes config             # 查看当前配置
hermes config edit        # 用编辑器打开配置文件
hermes config set KEY VAL # 设置单个配置项
hermes config check       # 检查缺失的配置项

主要配置区域:

配置区说明
终端后端本地、Docker、SSH、Modal、Daytona、Singularity
模型设置主 LLM、视觉分析、上下文压缩的独立模型
内存与上下文对话记忆限制、文件读取安全阈值、自动压缩触发点
安全配置密钥脱敏、Tirith 命令扫描、网站黑名单
显示与交互工具进度详细程度、TTS、STT、语音模式
集成配置Discord 行为、Web 搜索后端、浏览器自动化

配置优先级(高到低): CLI 参数 → config.yaml.env → 内置默认值

5.4 会话管理

Hermes 的会话系统是其「持续进化」能力的基础。

存储架构:

~/.hermes/
├── state.db        # SQLite 数据库(支持 FTS5 全文检索)
└── sessions/       # JSONL 原始对话记录

每个会话记录:会话 ID、来源平台、用户 ID、标题、模型配置快照、完整消息历史、Token 用量、时间戳。

智能特性:

会话管理操作:

# 列出所有会话
hermes sessions list

# 搜索历史会话
hermes sessions search "上周的项目"

# 删除旧会话(清理超过 30 天的)
hermes sessions prune --older-than 30d

# 导出会话
hermes sessions export <session_id>

5.5 Profiles(多代理配置)

Profiles 允许在同一台机器上运行多个完全独立的 Hermes 实例,每个实例有自己的:

创建 Profile:

# 创建空白 Profile
hermes profile create coder

# 克隆配置(保持新记忆)
hermes profile create --clone researcher

# 完整克隆(包含所有历史和记忆)
hermes profile create --clone-all backup

创建后,Profile 名称自动成为命令别名:

coder chat "帮我 review 这段代码"
researcher chat "查找最新的机器学习论文"

注意:Profiles 提供独立的状态目录,但不沙箱文件系统访问权限。如需限制工作目录,需显式设置 terminal.cwd

5.6 Git Worktrees 隔离

-w 标志让 Hermes 自动在隔离的 Git Worktree 中工作:

# 自动创建临时 worktree
hermes -w

# 在特定 worktree 继续会话
hermes -w --continue

工作原理:

  1. Hermes 在 .worktrees/ 下创建新的工作树
  2. 自动 checkout 隔离分支
  3. 该分支有独立的 Checkpoint Manager 历史,可以独立回滚

适用场景:

最佳实践:

5.7 七层安全防御

Hermes 构建了一套深度防御安全模型,这在开源 AI 代理工具中较为罕见:

层 1: 用户授权         —— 白名单 + DM 配对码
层 2: 危险命令审批      —— 人工确认破坏性操作
层 3: 容器隔离         —— Docker/Singularity/Modal 沙箱
层 4: 凭证过滤         —— 子进程执行时剥离环境变量
层 5: 上下文文件扫描    —— 检测提示词注入
层 6: 跨会话隔离       —— 会话间数据不可互访
层 7: 输入消毒         —— 工作目录参数防 Shell 注入

关键安全机制:

危险命令检测:自动识别并要求确认以下模式:

支持三种审批模式:manual(手动)、smart(智能判断)、off(关闭)。

DM 配对系统:用 8 字符加密码进行身份绑定,1 小时过期,5 次失败后锁定。

SSRF 防护:验证所有 URL 防止访问内网、loopback 和云元数据端点,DNS 失败默认拒绝(fail-closed)。

Tirith 集成:执行前扫描同形字欺骗、管道到解释器模式和终端注入。

5.8 Checkpoints 与回滚

Hermes 使用 Shadow Git 仓库在后台自动创建检查点快照:

~/.hermes/checkpoints/    # 影子 Git 仓库(不影响项目的 .git)

自动触发场景:

回滚命令:

/rollback           # 查看所有快照(含变更统计)
/rollback 3         # 恢复到快照 3(同时撤销对应的对话轮次)
/rollback diff 3    # 预览快照 3 之后的所有变更
/rollback 3 src/main.py  # 只恢复单个文件

设计亮点:


六、Skills 生态:让代理真正「学会」你的业务

Skills 是 Hermes 最核心的差异化能力。

Skills 的本质:可以被代理调用的、可复用的操作模式,类似于「岗位 SOP」。

三种 Skills 来源:

  1. 内置 Skills:随 Hermes 预装的通用能力
  2. 社区 Skills:通过 agentskills.io 生态获取的社区贡献技能
  3. 自动生成 Skills:Hermes 从你的使用模式中自主归纳并创建

Skills 管理:

# 浏览可用技能
/skills browse

# 安装技能
/skills install github-auth

# 预加载技能启动
hermes -s github-auth,code-review

# 查看已安装技能
/skills list

已安装的 Skills 会自动成为斜杠命令,在对话中直接调用。


七、多平台接入:统一网关

Hermes 通过单一网关进程支持 15+ 消息平台

平台接入方式
TelegramBot API
DiscordBot Token
SlackApp Token
WhatsApp第三方 API
SignalSignal CLI
MatrixMatrix SDK
更多…配置网关

优势:无论从哪个平台发消息,都访问同一个代理实例、同一份记忆和技能库。


八、六种终端后端

Hermes 支持六种执行环境,适应不同的安全和部署需求:

后端特点适用场景
本地(Local)直接在当前机器执行开发环境
Docker容器隔离,安全生产环境、不信任代码
SSH远程服务器执行云端代理
DaytonaServerless,闲置时休眠降低运营成本
ModalServerless 云执行弹性扩展
SingularityHPC 容器运行时学术/研究集群

serverless 后端(Daytona、Modal)在不活跃时自动休眠,特别适合间歇性使用场景。


九、定时自动化:内置 Cron 调度

无需外部工具,Hermes 内置了任务调度系统:

# 设置定时任务
hermes schedule "每天早上 9 点总结昨天的 GitHub 活动"

# 查看定时任务
hermes schedule list

# 删除定时任务
hermes schedule remove <task_id>

典型用例:


十、适合谁用?

Hermes Agent 的理想用户:

可能不适合的场景:


十一、与 Claude Code 的关系

如果你同时使用 Claude Code(Anthropic 官方 CLI),Hermes 可以作为补充工具而不是替代品:

维度Claude CodeHermes Agent
主要定位IDE 级别代码助手自主代理平台
模型绑定Anthropic Claude任意 LLM
多平台接入是(15+)
自动 Skills
跨会话学习
安全沙箱依赖工具权限七层防御

建议组合:用 Claude Code 做深度代码生成和重构,用 Hermes 做跨会话的知识积累、多平台通知和自动化调度。


十二、总结

Hermes Agent 代表了一种新的 AI 助手设计范式:

  1. 从工具到代理:不只是回答问题,而是持续积累上下文、自主生成可复用的技能
  2. 从绑定到开放:不锁定任何单一 LLM 提供商,基础设施完全自主
  3. 从单次到持续:通过 Sessions、Skills、Profiles 构建真正的「个人 AI 员工」

与其说 Hermes 是一个工具,不如说它是一个可以在你的基础设施上运行的、会随时间进化的 AI 代理操作系统

对于想要构建「懂自己业务、会自我迭代」的 AI 助手的开发者来说,Hermes 值得深度探索。


资源链接:


Share this post on:

Previous Post
Hermes vs OpenClaw:两款开源自主 AI 代理的深度对比
Next Post
Claude Code 源码解析学习笔记:从 v2.1.88 反编译看 AI 编程助手的真实架构