Skip to content

第一章 认识 Hermes Agent

1.1 什么是 Hermes Agent

Hermes Agent 是由 Nous Research 开发的自改善 AI 代理(Self-improving AI Agent)。它不仅仅是一个聊天机器人,而是一个能够持续学习、积累经验、并自动进化的智能代理框架。

核心特性

特性说明
Learning Loop(学习循环)从每次交互中提取经验,自动转化为可复用的技能
Skills(技能系统)Markdown 格式的可分享技能包,支持 Hub 分发
Cross-Platform(跨平台)统一接口接入 Telegram / Discord / Slack / WhatsApp / Signal / Matrix 等十余个平台
Multi-Model(多模型)通过 OpenRouter 支持 200+ 模型,也可直连 Anthropic / Gemini / Bedrock / Ollama 等
TUI with Ink基于 Node/Ink 的终端界面,提供图形化交互体验
Scheduled Automations内置 Cron 调度器,支持自然语言定义定时任务
Subagent Delegation子 Agent 隔离执行,支持并行批处理

1.2 五分钟体验

安装

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

启动

bash
# 启动交互式 TUI
hermes

# 查看可用模型
hermes model

# 切换模型
hermes model anthropic/claude-sonnet-4-20250514

常用命令速查

命令功能
hermes启动 TUI 交互界面
hermes model列出可用模型
hermes gateway启动消息网关
hermes skills list列出已安装技能
hermes doctor诊断环境配置
/help在 TUI 中查看帮助
/reset重置当前会话
/model <name>在会话中切换模型
/skills查看技能列表
/cron管理定时任务

1.3 项目全景图

目录结构

路径说明
run_agent.py核心入口 — AIAgent 类定义,主循环,工具调用编排
model_tools.py工具编排层 — schema 收集、dispatch、类型转换、async bridging
toolsets.py工具集定义 — TOOLSETS 字典,组合/递归解析
cli.pyCLI 入口 — 命令行参数解析,Fire 集成
agent/Agent 核心模块 — prompt_builder, context_engine, memory_manager 等
tools/工具实现 — registry.py + 各工具实现文件
gateway/消息网关 — run.py, platforms/, session.py
ui-tui/Ink 前端 — Node.js/TypeScript TUI 界面
tui_gateway/TUI 后端 — Python JSON-RPC server
hermes_cli/CLI 命令 — commands.py, config.py, skin_engine.py 等
cron/定时任务 — scheduler.py, jobs.py
skills/内置技能 — 按 category 组织的 SKILL.md
tests/测试套件 — 单元测试和集成测试

1.4 架构总览

请求处理流程

Hermes Agent 的架构遵循管道式处理模式:用户输入经过多个处理阶段,最终返回响应。

模块依赖关系

设计哲学

Hermes Agent 的架构遵循以下原则:

  1. Singleton Registry(单例注册)ToolRegistry 使用单例模式 + threading.RLock 保证线程安全
  2. Import-Time Registration(导入时注册):每个工具文件在模块级别调用 registry.register(),无需手动维护导入列表
  3. AST Discovery(AST 发现)discover_builtin_tools() 通过 AST 扫描自动发现工具,无需导入即可检测
  4. Progressive Disclosure(渐进式披露):技能索引只注入 Tier 1 元数据到 system prompt,减少 token 开销
  5. Pluggable Context(可插拔上下文引擎)ContextEngine 抽象基类支持第三方替换
  6. Cross-Platform Adapter(适配器模式):每个消息平台实现 BasePlatformAdapter 接口

下一章第二章 Agent 核心循环 — 深入 AIAgent 的主循环机制

基于 MIT 许可发布