乐于分享
好东西不私藏

Hermes原理系列-概述及源码调试

Hermes原理系列-概述及源码调试

一、Hermes是什么?

Hermes是一个自托管、自带闭环学习回路的AI智能体框架,由开源AI研究组织 Nous Research 发布。Hermes的设计核心理念是:让AI不仅仅是一个工具,而是一个能持续学习、不断成长的伙伴。它是自我进化的爱马仕。

具体来说,Hermes内置了四大核心能力:

  • 闭环学习回路:从每次对话中总结经验,不断优化自身行为
  • 技能沉淀(Skill):将复杂工作流封装为可复用的技能,下次直接调用
  • 知识持久化:记忆和知识跨会话保留,不会"聊完就忘"
  • 跨会话历史检索:支持从历史对话中快速检索相关信息

用一个简洁的公式概括:

Hermes = Gateway + Agent Loop + Skills + Memory + 自进化

官方开源地址:https://github.com/NousResearch/hermes-agent

二、整体架构:两大核心模块

Hermes的整体架构可以划分为两大块:

1. 消息入口及网关(Gateway)

负责接收来自不同渠道的用户请求,并将请求路由到后端引擎。

支持的接入方式极其丰富——从本地命令行脚本,到终端交互界面,再到浏览器Web界面,甚至还能对接微信、飞书、钉钉、Slack、Discord等20+主流第三方消息平台。

2. AI Agent核心引擎

这是整个系统的"大脑",负责:

  • 理解用户意图
  • 调用各类工具(Tool)
  • 管理短期和长期记忆
  • 执行任务并生成回复

两者之间通过网关进行解耦,使得新增一种前端接入方式变得非常简单,而完全不影响核心逻辑。

三、项目结构及工作空间

Hermes将所有用户数据放在 ~/.hermes/ 目录下,便于管理:

~/.hermes/├── config.yaml      # 全局配置项├── .env             # API密钥与敏感凭证├── auth.json        # OAuth提供商凭证├── SOUL.md          # 主Agent身份及全局规则├── memories/        # 长期记忆目录│   ├── MEMORY.md    # 客观事实记忆│   └── USER.md      # 用户特征、偏好与习惯记忆├── skills/          # Agent沉淀的技能库├── cron/            # 定时任务├── sessions/        # 网关会话└── logs/            # 日志

四、如何快速上手调试?

  1. git clone https://github.com/nousresearch/hermes-agent
  2. vscode导入代码。
  3. powershell 在根目录下执行  & ..venv\Scripts\Activate.ps1 激活环境。执行命令 pip install -e .  安装相关依赖。
  4. hermes setup 配置相关信息,比如LLM调用信息,秘钥在.evn文件配置。在 ~/.hermes/.env 中配置LLM的API密钥等信息。
  5. Hermes支持五种调试模式:
模式
命令
说明
脚本模式
python run_agent.py --query "你的问题"
单次问答,进程退出
TUI-py模式
hermes
Python实现的交互式终端
TUI-ts模式
hermes --tui
Node.js + React实现的终端UI
Web模式
hermes dashboard --tui
浏览器访问管理界面
消息平台模式
hermes gateway
对接飞书、微信等第三方平台
  1. 编辑launch.json脚本,添加以上五种模式的debug启动命令。添加后即可在RUN AND DEBUG中启动,并在关注的地方打断点进行调试。
  1. TUI有两种实现方式,一种是python实现(TUI-py模式),一种是typescript实现(TUI-ts模式)。
  • 直接 hermes 或 hermes chat 命令,默认使用的是python的 prompt_toolkit 库构建的 tui 命令交互窗口。
  • 使用 hermes --tui 命令,使用的是ink + react。实际上是nodejs运行的前端项目,需要打开gateway服务。
  1. Web模式,通过hermes dashboard --no-open --skip-build --tui 命令启动。通过 http://127.0.0.1:9119/chat 进行对话。
  1. 消息平台模式,执行hermes gateway setup配置,选择飞书或其他并扫二维码认证。连接成功后再vscode启动gateway服务,然后通过飞书发消息即可进行调试。