第 01 期 | 认识 Hermes Agent:架构总览与极速安装

更新于 2026/4/5

副标题:了解 Hermes Agent 的核心设计理念、与 OpenClaw 的关系、支持的 LLM 列表,以及一键安装到 Linux/Mac/WSL2 的完整流程。


🎯 学习目标

完成本期课程后,您将能够:

  • 深入理解 Hermes Agent 的核心设计理念与关键特性,包括其自进化学习循环和跨会话记忆机制。
  • 明晰 Hermes Agent 与 NousResearch OpenClaw 框架之间的关系,以及它们在构建智能代理生态中的定位。
  • 掌握通过 OpenRouter 接入 200+ 大语言模型的能力,并了解其带来的灵活性与成本效益。
  • 在 Linux、macOS 或 WSL2 环境中,通过一键脚本快速完成 Hermes Agent 的安装与初步配置。

📖 核心概念讲解

1.1 Hermes Agent 是什么?

Hermes Agent 是由 NousResearch 团队开发并开源的一款自进化 AI 代理。它的核心设计理念是创建一个能够从经验中学习、不断优化自身能力的智能系统。不同于传统的固定功能代理,Hermes Agent 具备一个内置的“学习循环”,使其能够根据任务执行的反馈,自主创建和改进“技能”(Skills),从而适应更复杂、更动态的应用场景。

想象一个永不停止学习的数字助手,它不仅能执行指令,还能通过每次的执行结果来提升自己的解决问题能力。这就是 Hermes Agent 的愿景。它旨在成为一个强大的、可扩展的基石,用于构建各种高级的、自主运行的 AI 应用。

1.2 核心特性深度解析

Hermes Agent 不仅仅是一个代码库,它是一个集成了多项前沿技术和设计模式的智能系统。让我们逐一剖析其核心特性:

1.2.1 内置学习循环:从经验创建 Skill

这是 Hermes Agent 最引人注目的特性之一。代理在执行任务时,会记录其决策、行动、观察结果以及最终的成功或失败。通过分析这些经验数据,Hermes Agent 能够:

  • 识别模式: 发现重复出现的问题解决路径或高效的操作序列。
  • 生成 Skill: 将这些模式抽象为可复用的“技能”(Skills)。一个 Skill 可以被视为一个微型程序或一个特定领域的知识模块,它定义了在特定情境下如何执行一系列操作以达成目标。
  • 优化 Skill: 随着经验的积累,代理会不断评估现有 Skill 的效果,并尝试对其进行改进,甚至创建全新的 Skill 来应对未曾遇到的挑战。

这个学习循环使得 Hermes Agent 能够持续进化,无需人工干预即可提升性能和适应性。

1.2.2 跨会话记忆:构建长期知识库

Hermes Agent 具备强大的记忆管理能力,能够维护跨会话的长期记忆。这意味着代理不仅能记住当前任务的上下文,还能记住过去所有会话中积累的知识、经验和用户偏好。

  • 记忆类型: 通常包括工作记忆(短期、当前任务相关)、情景记忆(特定事件和经历)和语义记忆(事实、概念和技能)。
  • 记忆存储: 这些记忆通常存储在向量数据库(如 ChromaDB、Pinecone 等)中,通过嵌入(embeddings)技术实现高效的检索。
  • 记忆优势: 长期记忆使得 Hermes Agent 能够进行更复杂的推理、利用过去的成功经验避免重复错误,并为用户提供更加个性化和一致的服务。

1.2.3 支持 200+ LLM 模型(通过 OpenRouter)

为了提供极致的灵活性和性能,Hermes Agent 没有绑定到任何单一的 LLM 提供商。它通过集成 OpenRouter 平台,实现了对市面上 200 多个大语言模型的广泛支持。

  • OpenRouter 的作用: OpenRouter 是一个统一的 API 网关,它聚合了来自 OpenAI、Anthropic、Google、Meta 等众多 LLM 提供商的模型。用户只需一个 OpenRouter API Key,即可访问所有支持的模型,无需为每个提供商单独注册和管理密钥。
  • 优势:
    • 模型选择自由: 用户可以根据任务需求、成本预算和性能偏好,自由切换不同的 LLM。
    • 成本效益: OpenRouter 提供了透明的定价机制,并可能通过其路由优化,帮助用户找到性价比最高的模型。
    • 韧性与冗余: 当某个模型或提供商出现问题时,可以快速切换到其他可用模型,提高系统的健壮性。
    • 前沿技术接入: OpenRouter 会不断集成最新的 LLM 模型,确保 Hermes Agent 始终能够利用最先进的语言能力。

1.2.4 Telegram/Discord 消息网关

为了方便用户交互和代理部署,Hermes Agent 内置了对主流消息平台的支持,包括 Telegram 和 Discord。

  • 消息网关作用: 它们充当用户与 Hermes Agent 之间的桥梁,将用户在聊天应用中发送的消息转化为代理可理解的指令,并将代理的回复发送回聊天应用。
  • 部署场景: 这使得 Hermes Agent 可以轻松部署为聊天机器人,应用于客户服务、信息查询、任务自动化等场景,极大地降低了用户与 AI 代理交互的门槛。
  • 易于扩展: 这种模块化的设计也为未来集成更多消息平台(如 Slack、微信等)提供了可能。

1.2.5 MCP (Multi-Agent Communication Protocol) 集成

Hermes Agent 支持 MCP (Multi-Agent Communication Protocol),这是一个由 NousResearch 提出的多代理通信协议。

  • 多代理协作: MCP 允许不同的 Hermes Agent 实例,甚至其他遵循该协议的 AI 代理,之间进行高效、结构化的通信和协作。
  • 复杂任务分解: 通过 MCP,可以将一个复杂的宏观任务分解为多个子任务,并分配给不同的专业代理并行处理,最后汇总结果。这极大地提升了处理复杂问题的能力和效率。
  • 构建代理网络: MCP 是构建去中心化、协作式 AI 代理网络的关键,每个代理可以在网络中扮演特定角色,共同完成目标。

1.2.6 Cron 调度

Hermes Agent 内置了对 Cron 调度的支持,这意味着您可以安排代理在特定时间或以固定周期执行任务。

  • 自动化例行任务: 例如,每天早上自动生成一份新闻摘要,每周定期检查某个网站的更新,或每小时执行一次数据同步。
  • 无需持续监控: 一旦设置,代理将按照预定的时间表自主运行,无需人工干预。
  • 灵活配置: 支持标准的 Cron 表达式,提供了高度灵活的任务调度能力。

1.3 架构总览

Hermes Agent 的架构设计旨在实现模块化、可扩展性和高自主性。其核心是一个事件驱动(event-driven)的循环,处理来自不同来源的输入,并协调内部组件以生成响应或执行动作。

以下是一个简化的架构示意图:

+-----------------------------------------------------------------------------------+
|                                 Hermes Agent Core                                 |
|                                                                                   |
|  +-----------------------------------------------------------------------------+  |
|  |                             Agent Main Loop                                 |  |
|  |  (Perceive -> Plan -> Act -> Learn)                                         |  |
|  +-----------------------------------------------------------------------------+  |
|                                     ^     |                                       |
|                                     |     v                                       |
|  +---------------+      +----------------------+      +----------------------+  |
|  |   Gateways    | <--> |   Event Processor    | <--> |   Skill Manager      |  |
|  | (Telegram,    |      | (Input/Output       |      | (Create, Retrieve,   |  |
|  |  Discord,     |      |  Handling, Task     |      |  Execute Skills)     |  |
|  |  MCP, CLI)    |      |  Orchestration)      |      |                      |  |
|  +---------------+      +----------------------+      +----------------------+  |
|         ^                               ^                               ^         |
|         |                               |                               |         |
|         v                               v                               v         |
|  +---------------+      +----------------------+      +----------------------+  |
|  |   Scheduler   | <--> |    Memory System     | <--> |       Tools          |  |
|  | (Cron-based   |      | (Vector DB,          |      | (Web Browsing,       |  |
|  |  Task Trigger)|      |  Long-term Context)  |      |  Code Interpreter,   |  |
|  +---------------+      +----------------------+      |  Custom Tools)       |  |
|                                     ^                               ^         |
|                                     |                               |         |
|                                     v                               v         |
|                          +---------------------------------------------------+  |
|                          |           LLM Interface (via OpenRouter)          |  |
|                          | (GPT-4, Claude, Llama, Mixtral, etc. - 200+ models)|  |
|                          +---------------------------------------------------+  |
+-----------------------------------------------------------------------------------+

关键组件说明:

  1. Gateways (网关): 外部世界与 Hermes Agent 交互的入口。包括消息应用(Telegram, Discord)、多代理通信协议(MCP)以及命令行接口(CLI)。
  2. Scheduler (调度器): 基于 Cron 表达式定时触发任务或事件,实现自动化。
  3. Event Processor (事件处理器): 代理的核心中枢,负责接收来自网关或调度器的事件,解析用户意图,并将任务分解、分配给其他组件。
  4. Memory System (记忆系统): 存储代理的长期记忆、情景记忆和语义记忆。通常利用向量数据库实现高效的上下文检索和管理。
  5. Skill Manager (技能管理器): 负责代理技能的创建、存储、检索和执行。这是学习循环的核心,代理通过它来学习和应用新知识。
  6. Tools (工具): 代理用来与外部环境交互的接口,例如网页浏览器、代码解释器、文件系统操作以及用户自定义的各种 API 或功能。
  7. LLM Interface (LLM 接口): 通过 OpenRouter 聚合了多种大语言模型。它是代理进行复杂推理、生成文本、理解自然语言的关键。

整个流程概括为:感知 (Perceive) 外部输入 -> 规划 (Plan) 响应或行动策略 -> 行动 (Act) 通过工具或技能执行 -> 学习 (Learn) 从经验中提取知识并创建/优化技能。

1.4 Hermes Agent 与 OpenClaw 的关系

理解 Hermes Agent,就不能不提 NousResearch OpenClaw。OpenClaw 是 NousResearch 推出的一个开源的、模块化的 AI 代理框架。它的目标是提供一个灵活且强大的基础,让开发者能够更容易地构建、部署和管理各种 AI 代理。

关系阐述:

  • OpenClaw 是基础框架,Hermes Agent 是具体实现。
    • 你可以把 OpenClaw 想象成一个操作系统,它提供了进程管理、内存管理、文件系统等基础服务。
    • 而 Hermes Agent 则是一个运行在这个操作系统上的“应用程序”,它利用了操作系统的各项服务,并在此基础上构建了特定的功能(如自进化学习、跨会话记忆、多模型支持等)。
  • 能力继承与扩展: Hermes Agent 继承了 OpenClaw 框架的诸多优势,例如其模块化设计、对工具的抽象、事件驱动机制等。在此基础上,Hermes Agent 进一步扩展了这些能力,加入了其独特的自进化学习循环、强大的记忆系统、OpenRouter 集成以及消息网关等高级特性。
  • 生态系统: 它们共同构成了 NousResearch 在 AI 代理领域的一个生态系统。OpenClaw 提供了通用构建块,而 Hermes Agent 则展示了如何利用这些构建块构建一个高度智能和自主的代理。

简而言之,Hermes Agent 是基于 OpenClaw 框架构建的一个功能完备、高度智能的自进化 AI 代理实例。

1.5 支持的 LLM 模型列表 (通过 OpenRouter)

OpenRouter 是 Hermes Agent 连接大语言模型的关键。它不仅提供了统一的 API 接口,更汇集了来自全球顶尖 AI 实验室的 200+ 模型。这意味着 Hermes Agent 能够利用最广泛、最先进的语言能力。

虽然具体列表会实时更新,但通常包括以下几大类及其代表模型:

  • OpenAI 系列:
    • gpt-4-turbo (最新的 GPT-4 Turbo 版本)
    • gpt-4o (最新多模态模型)
    • gpt-3.5-turbo (高效的 GPT-3.5 版本)
  • Anthropic Claude 系列:
    • claude-3-opus (最强大的 Claude 3 模型)
    • claude-3-sonnet (平衡性能与速度)
    • claude-3-haiku (最快、最经济的模型)
  • Google Gemini 系列:
    • gemini-pro (Google 的通用模型)
    • gemini-1.5-flash (快速、高效)
    • gemini-1.5-pro (更强大的版本)
  • Meta Llama 系列:
    • llama-3-8b-instruct (Meta 最新开源模型,80亿参数指令微调版)
    • llama-3-70b-instruct (Meta 最新开源模型,700亿参数指令微调版)
  • Mistral AI 系列:
    • mixtral-8x7b-instruct (稀疏专家混合模型,性能强大)
    • mistral-large (Mistral AI 的旗舰模型)
  • 其他开源与商业模型:
    • 各种 Qwen (通义千问), Cohere, Perplexity, Together AI 等平台提供的模型。
    • 许多经过微调的专业模型。

如何查看最新列表: 您可以访问 OpenRouter 官方网站的 Models 页面 或在 Hermes Agent 命令行中运行 hermes model list 命令来获取当前支持的完整且最新的模型列表。

通过 OpenRouter,Hermes Agent 实现了模型无关性,让用户能够根据具体任务需求和成本预算,灵活选择最适合的 LLM,从而最大化代理的效能。


💻 实战演示

本节将引导您完成 Hermes Agent 的极速安装与初步配置。

2.1 极速安装 Hermes Agent

Hermes Agent 提供了非常便捷的一键安装脚本,支持 Linux、macOS 和 WSL2 环境。

前置条件:

  • 确保您的系统已安装 curlbash(大多数 Linux/macOS/WSL2 系统默认已安装)。
  • 推荐使用 Python 3.9 或更高版本,安装脚本会自动处理 Python 虚拟环境。

安装步骤:

  1. 打开终端: 在您的 Linux、macOS 或 WSL2 环境中打开一个终端窗口。

  2. 执行安装命令: 复制并粘贴以下命令到您的终端中,然后按回车键。

    curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
    
    • curl -fsSL: curl 是一个用于传输数据的命令行工具。
      • -f: 在服务器错误时,不输出 HTTP 错误信息。
      • -s: 静默模式,不显示进度条或错误信息。
      • -S: 即使在静默模式下,也显示错误信息。
      • -L: 允许 curl 跟随重定向。
    • https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh: 这是 Hermes Agent 官方提供的一键安装脚本的原始链接。
    • | bash: 将 curl 下载的脚本内容直接通过管道传输给 bash shell 执行。
  3. 观察安装过程: 脚本会执行以下操作(可能略有差异,取决于您的系统):

    • 检查并安装必要的系统依赖。
    • 创建 Python 虚拟环境。
    • 安装 Hermes Agent 及其所有 Python 依赖。
    • 设置 hermes CLI 命令的软链接,使其在您的 PATH 环境变量中可用。

    您将看到类似以下的输出(部分截取):

    Installing Hermes Agent...
    Checking for Python 3.9+...
    Python 3.10.12 found.
    Creating virtual environment...
    Installing dependencies...
    ... (大量pip安装输出) ...
    Successfully installed hermes-agent-x.x.x ...
    Setting up hermes CLI...
    Hermes Agent installed successfully!
    You can now run 'hermes --help' to get started.
    
  4. 验证安装: 安装完成后,您可以运行 hermes --help 命令来验证 hermes 命令是否已成功添加到您的系统 PATH 中。

    hermes --help
    

    预期输出将显示 Hermes Agent 的主要命令和用法信息:

    Usage: hermes [OPTIONS] COMMAND [ARGS]...
    
      Hermes Agent CLI.
    
    Options:
      --version  Show the version and exit.
      --help     Show this message and exit.
    
    Commands:
      config    Manage Hermes configuration.
      doctor    Check Hermes Agent health.
      gateway   Manage Hermes gateways.
      model     Manage LLM models.
      setup     Run initial Hermes Agent setup.
      tools     Manage Hermes tools.
    

    如果看到类似输出,恭喜您,Hermes Agent 已成功安装!

2.2 首次配置与验证

Hermes Agent 的核心功能依赖于大语言模型,因此,配置 OpenRouter API Key 是首要任务。

  1. 获取 OpenRouter API Key:

    • 访问 OpenRouter 官网
    • 注册或登录您的账户。
    • 导航到您的账户设置或 API Keys 页面,生成一个新的 API Key。请务必妥善保管此 Key,因为它提供了对 200+ LLM 的访问权限。
  2. 运行初始设置向导: Hermes Agent 提供了一个方便的 setup 命令来引导您完成初始配置。

    hermes setup
    

    脚本会询问您一系列问题,例如您的 OpenRouter API Key。

    Welcome to Hermes Agent setup!
    This will guide you through the initial configuration.
    
    Do you want to configure OpenRouter API Key? (y/N): y
    Please enter your OpenRouter API Key: sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    OpenRouter API Key configured successfully.
    
    Do you want to configure any other settings? (y/N): n
    Setup complete!
    

    注意:sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 替换为您实际的 OpenRouter API Key。

  3. 手动配置 OpenRouter API Key(可选): 如果您跳过了 setup 步骤,或者需要修改配置,可以使用 hermes config set 命令。

    hermes config set openrouter_api_key <YOUR_OPENROUTER_API_KEY>
    

    例如:

    hermes config set openrouter_api_key sk-or-v1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    

    成功设置后,通常不会有详细输出,但您可以通过 hermes config get openrouter_api_key 来验证(尽管为了安全,可能不会直接显示完整 key)。

  4. 验证模型列表: 既然已经配置了 OpenRouter API Key,我们可以验证 Hermes Agent 是否能成功连接 OpenRouter 并获取模型列表。

    hermes model list
    

    这将显示 OpenRouter 当前支持的所有模型,以及它们的状态和提供商。输出可能很长,但会是类似以下的格式:

    Available Models:
    ------------------------------------------------------------------------------------------------------
    Model Name                  Provider                 Context Window  Price/Input (USD/M Tokens)  Price/Output (USD/M Tokens)
    ------------------------------------------------------------------------------------------------------
    gpt-4o                      OpenAI                   128000          $5.00                       $15.00
    gpt-4-turbo                 OpenAI                   128000          $10.00                      $30.00
    claude-3-opus               Anthropic                200000          $15.00                      $75.00
    claude-3-sonnet             Anthropic                200000          $3.00                       $15.00
    llama-3-70b-instruct        Meta                     8192            $0.79                       $0.79
    mixtral-8x7b-instruct       Mistral AI               32768           $0.24                       $0.24
    ... (更多模型) ...
    ------------------------------------------------------------------------------------------------------
    

    如果看到模型列表,说明您的 OpenRouter 配置成功,并且 Hermes Agent 能够与 LLM 服务进行通信。

  5. 运行健康检查: hermes doctor 命令可以帮助您检查 Hermes Agent 的运行环境和关键配置是否正常。

    hermes doctor
    

    预期输出:

    Hermes Agent Health Check:
    --------------------------
    ✅ Python Version: 3.10.12 (adequate)
    ✅ Virtual Environment: Active
    ✅ Hermes CLI: Found
    ✅ OpenRouter API Key: Configured (sk-or-v1-...)
    ✅ Connectivity to OpenRouter: Successful
    ✅ Default LLM: gpt-4o (configured)
    ✅ Memory System: Initialized (ChromaDB)
    ✅ Tool Manager: Initialized (0 tools loaded)
    ✅ Skill Manager: Initialized (0 skills loaded)
    
    All essential components are healthy!
    

    如果所有检查项都显示为 ✅,则表明您的 Hermes Agent 已准备就绪!


🔧 涉及的命令与工具

命令/工具 描述 示例
curl 用于从服务器传输数据的命令行工具。在本教程中用于下载安装脚本。 curl -fsSL <URL>
bash Unix shell 和命令语言。在本教程中用于执行安装脚本。 `curl ...
hermes Hermes Agent 的主命令行接口。 hermes --help
hermes --help 显示 hermes 命令的整体帮助信息和可用子命令。 hermes --help
hermes setup 引导用户进行 Hermes Agent 的初始配置,特别是 API 密钥设置。 hermes setup
hermes config 用于管理 Hermes Agent 的配置设置。 hermes config set openrouter_api_key <YOUR_KEY>
hermes config get openrouter_api_key
hermes model 用于管理和查看 Hermes Agent 可用的大语言模型。 hermes model list
hermes model set-default gpt-4o
hermes tools 用于管理 Hermes Agent 可用的工具。 hermes tools list
hermes tools add web_browser
hermes gateway 用于管理 Hermes Agent 的消息网关(如 Telegram, Discord)。 hermes gateway add telegram
hermes doctor 对 Hermes Agent 的运行环境和核心组件进行健康检查。 hermes doctor

📝 本期要点回顾

  • Hermes Agent 是自进化 AI 代理: 它由 NousResearch 开发,通过内置学习循环和跨会话记忆,能够从经验中自主创建和优化技能。
  • OpenClaw 是基础框架: Hermes Agent 基于 NousResearch OpenClaw 框架构建,继承了其模块化和工具抽象能力,并在此基础上扩展了自进化、记忆等高级特性。
  • LLM 接入通过 OpenRouter: Hermes Agent 利用 OpenRouter 统一 API 访问 200+ 大语言模型,提供灵活、经济且强大的语言能力。
  • 多功能设计: 集成了 Telegram/Discord 消息网关、MCP 多代理通信协议和 Cron 调度,支持多种交互和自动化场景。
  • 安装与配置简便: 通过一键 curl | bash 脚本可在 Linux/macOS/WSL2 上快速安装,并通过 hermes setuphermes config set 轻松配置 OpenRouter API Key。

🔗 参考资料