Hermes Agent 教程:从零搭建你的自进化 AI 智能代理

Hermes Agent 是由 Nous Research 开源的 AI 智能代理框架,GitHub 星标超过 15 万。它不仅能帮你写代码、管理系统、分析数据,更重要的是——它会从经验中学习,自动创建技能,在跨会话中持续进化。

为什么选择 Hermes Agent?

在 AI 代理领域,Hermes Agent 与 OpenClaw、Claude Code、Codex 等工具属于同一类别——它们都是能够调用工具、自主执行任务的 AI 助手。但 Hermes Agent 有几个独特的优势:

自进化学习闭环

Hermes Agent 内置学习循环——它在完成复杂任务后自动创建可复用的”技能”(Skills),这些技能会保存在本地,在未来的会话中自动加载。每次使用技能时,它还会自我改进。这意味着随着使用时间增长,Hermes 会越来越懂你的工作环境和需求。

持久化记忆

Hermes 会记住你的偏好、环境细节和学习到的经验。每次开启新会话时,它都能回溯过往对话,形成对你的深度理解。

真正的跨平台

同一个 Hermes Agent 实例可以同时运行在 CLI 终端、Telegram、Discord、Slack、WhatsApp、Signal、Matrix 等 10+ 平台上。你在手机上给 Telegram 发消息,Hermes 在服务器上执行任务,结果实时推送回来。

20+ LLM 提供商支持

Hermes 不绑定任何特定 AI 模型。你可以使用 OpenRouter(200+ 模型)、Anthropic、OpenAI、DeepSeek、小米 MiMo、Kimi、MiniMax、Hugging Face 等任意提供商,甚至支持本地模型。用一条命令即可切换,无需修改代码。

与 OpenClaw 的核心区别

特性 Hermes Agent OpenClaw
语言 Python TypeScript/Node.js
学习闭环 ✅ 自动技能创建与进化 ❌ 无
持久化记忆 ✅ 跨会话记忆 ❌ 有限
多模型支持 20+ 提供商,可中途切换 有限
终端后端 7 种(本地/Docker/SSH/Modal 等) 本地为主
研究功能 ✅ 轨迹生成与压缩
移动端 ✅ macOS/iOS/Android 应用
语音唤醒 ✅ Voice Wake
许可证 MIT MIT

简单来说:Hermes 更适合开发者、研究者和需要跨平台自动化的高级用户;OpenClaw 更适合追求”个人助理”体验、需要语音和移动端集成的普通用户。


前提条件

在开始之前,请确保:

  • 一台运行 Linux、macOS、WSL2 或 Termux 的设备
  • Python 3.11 或更高版本
  • 一个或多个 LLM API 密钥(如 OpenRouter、Anthropic 等)
  • 网络访问权限(用于下载安装和调用 API)

第一步:安装 Hermes Agent

Linux / macOS / WSL2

一行命令即可完成安装:

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

安装完成后重新加载 shell:

1
source ~/.bashrc    # 或 source ~/.zshrc

Windows

推荐使用 WSL2 环境安装(最稳定)。如果要在原生 Windows 上运行,可以使用 PowerShell:

1
iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1)

提示:Windows 原生支持目前处于早期测试阶段,如果遇到任何问题,建议切换到 WSL2。


第二步:初始化配置

安装完成后,运行设置向导:

1
hermes setup

向导会引导你完成以下配置:

  1. 模型选择 — 选择 LLM 提供商和模型
  2. 终端设置 — 配置终端后端
  3. 网关配置 — 设置消息平台
  4. 工具启用 — 选择需要使用的工具集
  5. 代理设置 — 配置代理行为

选择 LLM 提供商

你也可以单独运行模型选择器:

1
hermes model

这将进入交互式菜单,你可以从支持的 20+ 提供商中选择:

提供商 认证方式 环境变量
OpenRouter API 密钥 OPENROUTER_API_KEY
Anthropic API 密钥 ANTHROPIC_API_KEY
Nous Portal OAuth hermes auth
OpenAI API 密钥 OPENAI_API_KEY
DeepSeek API 密钥 DEEPSEEK_API_KEY
小米 MiMo API 密钥 XIAOMI_API_KEY
Kimi/Moonshot API 密钥 KIMI_API_KEY
MiniMax API 密钥 MINIMAX_API_KEY
Hugging Face Token HF_TOKEN

💡 提示:如果你不确定选哪个,推荐从 OpenRouter 开始——它聚合了 200+ 模型,一个 API 密钥即可使用所有模型。


第三步:开始对话

配置完成后,启动交互式聊天:

1
hermes

你将看到一个功能完整的终端用户界面(TUI),支持:

  • 多行编辑 — 按 Ctrl+Enter 输入多行消息
  • 斜杠命令自动补全 — 输入 / 后按 Tab 查看可用命令
  • 流式工具输出 — 工具执行结果实时显示
  • 对话历史 — 随时查看和管理历史会话

快速命令

在聊天过程中,你可以使用斜杠命令:

命令 功能
/new/reset 开始新对话
/model [provider:model] 切换模型
/skills 浏览技能
/stop 中断当前工作
/usage 查看 Token 用量
/compress 压缩上下文
/tools 管理工具集

第四步:配置消息网关

Hermes 的强大之处在于它可以通过消息平台远程使用。启动网关:

1
2
hermes gateway setup    # 配置消息平台
hermes gateway start # 启动网关

支持的平台

平台 说明
Telegram 最流行的选择,配置简单
Discord 适合团队协作
Slack 企业级集成
WhatsApp 个人日常使用
Signal 注重隐私的用户
Email 邮件收发
Matrix 开源即时通讯
飞书 国内办公场景
钉钉 国内办公场景
微信 通过社区桥接

💡 提示:Telegram 是最容易上手的平台。只需创建一个 Telegram Bot(通过 @BotFather),获取 Bot Token,然后在网关配置中输入即可。

API Server(API 服务)

Hermes 提供了 Web Dashboard 来管理配置和会话(见下方),同时支持通过消息网关和 CLI 进行远程交互。如果你需要编程方式调用 Hermes,可以直接通过 Telegram/Discord 等消息平台的 Bot API 实现。

💡 提示:Hermes 的架构设计以消息平台为核心交互入口,而非传统的 HTTP API。通过网关启动后,任何支持的平台都可以作为你的”API 客户端”。


第五步:探索核心功能

技能系统(Skills)

技能是 Hermes 最独特的功能之一。当 Hermes 完成一个复杂任务后,它会自动将工作流程保存为技能文档。这些技能会在未来的会话中自动加载,让 Hermes 越来越擅长你的特定任务。

查看已安装的技能:

1
hermes skills list

浏览技能中心安装新技能:

1
hermes skills browse

安装一个技能:

1
hermes skills install <技能ID>

持久化记忆

Hermes 会自动保存你的偏好和环境信息。你可以在配置中查看和管理:

1
hermes config edit    # 编辑配置文件

关键配置项包括:

1
2
3
memory:
memory_enabled: true # 启用持久化记忆
user_profile_enabled: true # 启用用户画像

定时任务(Cron)

Hermes 内置 cron 调度器,可以定时执行任务:

1
2
3
4
5
6
7
8
9
10
11
12
# 创建每 30 分钟执行一次的定时任务
hermes cron create "30m"

# 创建每天早上 9 点执行的定时任务
hermes cron create "0 9 * * *"

# 列出所有定时任务
hermes cron list

# 暂停/恢复任务
hermes cron pause <任务ID>
hermes cron resume <任务ID>

Web Dashboard(Web 管理面板)

Hermes 提供了一个基于 Web 的管理面板,无需编辑 YAML 文件即可配置设置、管理 API 密钥和监控会话:

1
2
# 启动 Web Dashboard
hermes dashboard

默认在 http://127.0.0.1:9119 打开,面板包含以下页面:

  • 状态页 — 实时概览:Agent 版本、网关状态(运行/停止)、已连接平台、最近会话(每 5 秒自动刷新)
  • 聊天页 — 在浏览器中嵌入完整的 Hermes TUI,支持斜杠命令、模型选择、工具调用卡片、Markdown 流式输出
  • 配置编辑器 — 表单式编辑 config.yaml,150+ 配置项按分类组织(模型、终端、显示、代理、委派、记忆、审批等),布尔值显示为开关,已知值显示为下拉菜单
  • API 密钥管理 — 按类别管理 .env 中的凭证(LLM 提供商、工具 API 密钥、消息平台)
  • 会话浏览器 — 使用 FTS5 全文搜索所有消息内容,展开查看带颜色编码的消息和工具调用块

💡 提示:默认安装不包含 Web 依赖,需要安装额外组件:

1
pip install 'hermes-agent[web,pty]'

高级选项:hermes dashboard --port 8080(自定义端口)、hermes dashboard --tui(启用聊天页)、hermes dashboard --no-open(不自动打开浏览器)。

⚠️ 安全提示:Dashboard 默认绑定 127.0.0.1。绑定到 0.0.0.0 会将 API 密钥暴露到网络上 — 仅在配置防火墙和强认证的情况下使用。

API Server(API 服务)

Hermes 提供了一个 OpenAI 兼容的 HTTP API 端点,任何支持 OpenAI 格式的客户端(Open WebUI、LobeChat、LibreChat、NextChat、ChatBox 等)都可以连接它作为后端。你的 Agent 使用完整的工具集处理请求,并返回最终回复。

设置步骤:

  1. ~/.hermes/.env 中启用 API Server:
1
2
3
API_SERVER_ENABLED=true
API_SERVER_KEY=change-me-local-dev
# API_SERVER_CORS_ORIGINS=http://localhost:3000 # 可选
  1. 启动网关:
1
hermes gateway

你会看到:[API Server] API server listening on http://127.0.0.1:8642

  1. 连接任何 OpenAI 兼容客户端到 http://localhost:8642/v1
1
2
3
4
curl http://localhost:8642/v1/chat/completions \
-H "Authorization: Bearer change...dev" \
-H "Content-Type: application/json" \
-d '{"model": "hermes-agent", "messages": [{"role": "user", "content": "Hello!"}]}'

功能特性:

  • 标准 OpenAI Chat Completions 格式 — 可直接替代 OpenAI API
  • 流式支持 — Server-Sent Events (SSE),支持逐 token 输出和自定义 hermes.tool.progress 事件
  • 内联图片输入 — 支持 image_url 内容部分,包含远程 URL 和数据 URI
  • 完整工具集访问 — 与标准 OpenAI 端点不同,Hermes Agent 可以调用工具、浏览网页、执行代码和访问记忆
  • 流式工具进度 — 流式传输时,工具进度指示器内联显示,前端可以展示 Agent 的实时操作
  • Responses API 支持 — 支持 OpenAI Responses 格式,通过 previous_response_id 维护多轮对话上下文

子代理委派

Hermes 可以生成隔离子代理来处理并行任务:

1
2
3
4
5
6
7
8
# 在 Python 脚本中调用
from hermes_tools import delegate_task

# 并行委派多个子任务
delegate_task(tasks=[
{"goal": "分析数据文件", "context": "路径: /data/report.csv"},
{"goal": "生成可视化图表", "context": "使用 matplotlib"},
])

7 种终端后端

Hermes 支持多种运行环境:

后端 适用场景
Local 本地开发
Docker 容器化部署
SSH 远程服务器
Modal Serverless GPU
Daytona Serverless 开发环境
Singularity HPC 集群
Vercel Sandbox 边缘计算

第六步:安全配置

Hermes 提供了多层次的安全控制:

命令审批

默认情况下,Hermes 在执行危险命令(如 rm -rfgit reset --hard)前会向你确认:

1
2
3
4
5
# 智能审批:低风险自动通过,高风险需要你确认
hermes config set approvals.mode smart

# 完全跳过审批(不推荐)
hermes config set approvals.mode off

密钥隐藏

启用后可自动隐藏工具输出中的 API 密钥等敏感信息:

1
hermes config set security.redact_secrets true

DM 配对

对于消息平台,默认启用 DM 配对机制——未知发送者需要先获得配对码才能与 Hermes 对话:

1
hermes pairing approve <平台> <配对码>

常见问题(FAQ)

Q: 如何从 OpenClaw 迁移到 Hermes?

Hermes 提供了自动迁移工具:

1
2
hermes claw migrate              # 交互式迁移
hermes claw migrate --dry-run # 预览迁移内容

迁移内容包括:SOUL.md 人格文件、记忆、技能、命令白名单、消息配置、API 密钥等。

Q: 如何在远程服务器上运行 Hermes?

推荐使用 hermes gateway 模式。在服务器上启动网关,然后通过 Telegram/Discord 等消息平台远程使用。Hermes 的 Gateway 支持 systemd 用户服务,可以随系统自动启动。

Q: 如何切换模型?

在聊天中使用斜杠命令:

1
/model anthropic/claude-sonnet-4

或者在终端中使用 CLI:

1
hermes model

Q: Hermes 支持本地模型吗?

是的。你可以使用任何通过 OpenAI 兼容 API 提供的本地模型(如 Ollama、vLLM、llama.cpp 等)。在配置中设置 base_url 为你的本地模型端点即可。


进阶技巧

使用配置文件自定义行为

Hermes 的配置文件 ~/.hermes/config.yaml 包含丰富的选项:

1
2
3
4
5
6
7
8
9
10
11
model:
default: anthropic/claude-sonnet-4
provider: openrouter

agent:
max_turns: 90 # 最大对话轮次
tool_use_enforcement: true # 强制使用工具

compression:
enabled: true # 启用上下文压缩
threshold: 0.50 # 压缩触发阈值

创建自定义技能

你可以手动创建技能来固化特定的工作流程:

1
2
3
4
# 创建技能目录
mkdir -p ~/.hermes/skills/my-custom-skill

# 编写 SKILL.md

技能文件应包含清晰的步骤说明、前置条件和注意事项。

使用工作树模式并行运行

当需要并行运行多个 Hermes 实例时,使用 -w 工作树模式避免 Git 冲突:

1
hermes -w    # 工作树模式

总结

Hermes Agent 是一个功能强大、持续进化的 AI 智能代理框架。通过本教程,你已经学会了:

  • ✅ 安装和配置 Hermes Agent
  • ✅ 选择 LLM 提供商并连接模型
  • ✅ 启动交互式聊天和消息网关
  • ✅ 使用技能系统和持久化记忆
  • ✅ 配置定时任务和子代理委派
  • ✅ 使用 Web Dashboard 进行可视化配置管理
  • ✅ 通过 API Server 连接 OpenAI 兼容前端
  • ✅ 设置安全策略

Hermes 的核心价值在于它的自进化能力——使用时间越长,它越了解你的需求,工作效率越高。立即开始你的 Hermes 之旅吧!

📖 官方文档https://hermes-agent.nousresearch.com/docs/
🐛 问题反馈https://github.com/NousResearch/hermes-agent/issues
💬 社区 Discordhttps://discord.gg/NousResearch