返回笔记列表

Hermes Agent 深度使用指南:从入门到精通

|预计阅读 9 分钟
AI编程Hermes AgentAgent架构上下文管理

Hermes Agent 深度使用指南:从入门到精通

Hermes Agent 是一款开源的自主 AI Agent,由 Nous Research 开发,在 GitHub 上获得超过 43,000+ Star(27 天内达成)。项目采用 MIT 协议,完全免费开源。截至 2026 年 5 月,项目已发布 v0.8.0 版本,平均每 3-4 天发布一个更新。

它具备学习能力跨平台支持多模型路由三大核心特性,能够成为你的全能 AI 助手。

最新动态:项目自 2026 年 3 月公开以来快速迭代,目前拥有 70+ 内置技能,支持 14 家 AI 服务商的 200+ 模型。

2026 年 5 月更新:Nous Research 发布 Hermes 2.5 Pro 模型,基于 Llama 3.1 8B,拥有 128K 超长上下文,刷新推理 benchmarks,成为当时最强的开源代理模型。

核心架构

Hermes Agent 采用四层架构设计:

┌─────────────────────────────────────────────────────────┐
│           消息平台层 (Message Platform Layer)            │
│   Telegram | Discord | Slack | WeChat | Email | ...    │
└─────────────────────────────────────────────────────────┘
                           ↓
┌─────────────────────────────────────────────────────────┐
│           消息网关层 (Message Gateway Layer)              │
│   用户识别 | 会话分配 | 定时任务 | 安全检查 | 消息转换     │
└─────────────────────────────────────────────────────────┘
                           ↓
┌─────────────────────────────────────────────────────────┐
│             AI 核心层 (AI Core Layer)                    │
│   模型路由 | 上下文管理 | 记忆系统 | 技能引擎 | 学习循环   │
└─────────────────────────────────────────────────────────┘
                           ↓
┌─────────────────────────────────────────────────────────┐
│           执行终端层 (Execution Terminal Layer)           │
│   本地环境 | Docker 容器 | 远程服务器 | 云环境            │
└─────────────────────────────────────────────────────────┘

各层职责

层级 职责 关键组件
消息平台层 接收和发送多平台消息 Telegram Bot、Discord Bot、Slack App
消息网关层 统一消息格式、用户识别 会话管理器、任务调度器
AI 核心层 智能决策与执行 模型路由、记忆系统、技能引擎
执行终端层 实际执行命令和操作 Shell、Docker、SSH

三大核心特性

1. 学习能力

Hermes Agent 能够从经验中自动提炼技能模板:

完成任务 → 提取模式 → 生成技能模板 → 优化 → 持久化到记忆

学习循环示例

  1. 你让 Agent 帮你部署一个 Next.js 项目
  2. Agent 执行部署,记录关键步骤
  3. 自动生成 deploy-nextjs.md 技能模板
  4. 下次部署时,自动应用这个模板
  5. 根据新情况优化模板

2. 跨平台支持

支持 15+ 消息平台,实现真正的跨平台连续对话:

平台 支持方式 特点
Telegram Bot API 响应快,支持富文本
Discord Bot 支持频道、私聊
Slack App 企业级集成
微信 企业微信/个人号 国内用户友好
钉钉 机器人 企业办公场景
Email SMTP/IMAP 异步沟通

跨平台会话同步:在 Telegram 开始的对话,可以在 Slack 继续,上下文完全保留。

3. 模型自由

支持 200+ 模型,14 家 AI 服务商:

提供商 代表模型 特点
Anthropic Claude 4.x (Opus 4.7, Sonnet 4.6, Haiku 4.5) 推理能力强,支持 Fast Mode
OpenAI GPT-4o 多模态支持
Google Gemini 2.x 长上下文
Meta Llama 3.x 开源可部署
Mistral Mistral Large 性价比高
DeepSeek DeepSeek V3 国产优秀

动态模型路由:根据任务类型自动选择最合适的模型。

安装部署

系统要求

项目 最低要求 推荐配置
CPU 2 核 4 核+
内存 4 GB 8 GB+
存储 20 GB 50 GB+
系统 Linux/macOS Ubuntu 22.04

Mac/Linux 一键安装

curl -fsSL https://get.hermes.ai | bash

Windows 安装

通过 WSL2 安装:

# 启用 WSL2
wsl --install

# 在 WSL2 中安装 Hermes
wsl
curl -fsSL https://get.hermes.ai | bash

Docker 部署

# 拉取镜像
docker pull hermes/hermes-agent:latest

# 运行容器
docker run -d \
  --name hermes \
  -v ~/.hermes:/root/.hermes \
  -p 8080:8080 \
  hermes/hermes-agent:latest

云服务器部署

最低配置($5/月)即可运行:

# 连接服务器
ssh user@your-server

# 安装
curl -fsSL https://get.hermes.ai | bash

# 启动服务
hermes start --daemon

配置详解

主配置文件

配置文件位于 ~/.hermes/config.yaml

# AI 模型配置
model:
  provider: anthropic        # 主要提供商
  model: claude-sonnet-4-6   # 默认模型
  fallback:                  # 备用模型
    provider: openai
    model: gpt-4o
  routing:                   # 模型路由规则
    code: claude-sonnet-4-6  # 代码任务
    research: claude-opus-4-7 # 研究任务
    chat: claude-haiku-4-5   # 日常对话

# 记忆系统配置
memory:
  enabled: true
  type: persistent           # persistent | ephemeral
  compression_threshold: 0.8 # 上下文使用 80% 时触发压缩
  max_entries: 1000          # 最大记忆条目数
  storage:                   # 存储配置
    type: file               # file | redis | postgres
    path: ~/.hermes/memory

# 平台配置
platforms:
  telegram:
    enabled: true
    token: ${TELEGRAM_BOT_TOKEN}
  discord:
    enabled: true
    token: ${DISCORD_BOT_TOKEN}
  slack:
    enabled: false
    app_id: ${SLACK_APP_ID}
    client_secret: ${SLACK_CLIENT_SECRET}

# 会话配置
session:
  max_turns: 100             # 最大对话轮次
  timeout: 3600              # 会话超时(秒)
  auto_save: true            # 自动保存会话
  context_window: 200000     # 上下文窗口大小

# 执行终端配置
terminal:
  type: local                # local | docker | ssh
  shell: /bin/bash
  timeout: 300               # 命令超时(秒)
  safe_mode: true            # 安全模式(确认危险操作)

# 技能引擎配置
skills:
  auto_learn: true           # 自动学习
  skills_dir: ~/.hermes/skills
  templates_dir: ~/.hermes/templates

# 日志配置
logging:
  level: info                # debug | info | warn | error
  file: ~/.hermes/logs/hermes.log
  max_size: 100MB
  retention: 7d

环境变量

敏感信息通过环境变量配置:

# ~/.hermes/.env

# AI 提供商 API Keys
ANTHROPIC_API_KEY=sk-ant-xxx
OPENAI_API_KEY=sk-xxx
GOOGLE_API_KEY=xxx

# 平台 Token
TELEGRAM_BOT_TOKEN=xxx
DISCORD_BOT_TOKEN=xxx

# 数据库(可选)
DATABASE_URL=postgresql://user:pass@localhost/hermes

# Redis(可选)
REDIS_URL=redis://localhost:6379

核心功能使用

1. 跨平台对话

启动网关后,所有平台共享同一会话:

# 启动网关
hermes gateway start

# 查看状态
hermes gateway status

# 输出示例
┌─────────────────────────────────────────────┐
│  Hermes Gateway Status                       │
├─────────────────────────────────────────────┤
│  Platforms:                                  │
│    ✓ Telegram  (@my_hermes_bot)             │
│    ✓ Discord   (Hermes#1234)                │
│    ✗ Slack     (disabled)                   │
│                                              │
│  Active Sessions: 3                          │
│  Messages Today: 156                         │
└─────────────────────────────────────────────┘

跨平台连续对话示例

# 在 Telegram 中
你: 帮我分析一下这个项目的架构
Hermes: [分析结果...]

# 切换到 Discord
你: 继续刚才的分析,给出重构建议
Hermes: 基于刚才的分析,我建议...  # 完全记住上下文

2. 自动化运维

配置定时任务:

# ~/.hermes/tasks.yaml

tasks:
  - name: daily-report
    schedule: "0 9 * * *"    # 每天 9 点
    action: |
      分析昨日代码提交
      生成日报
      发送到 Slack #daily-channel

  - name: backup-check
    schedule: "0 */6 * * *"  # 每 6 小时
    action: |
      检查备份状态
      如有异常,发送告警

  - name: dependency-update
    schedule: "0 0 * * 0"    # 每周日
    action: |
      检查依赖更新
      生成更新报告

管理定时任务:

# 列出所有任务
hermes tasks list

# 手动触发任务
hermes tasks run daily-report

# 暂停/恢复任务
hermes tasks pause daily-report
hermes tasks resume daily-report

3. 远程开发助手

连接远程服务器:

# 添加远程终端
hermes terminal add --name prod --host user@prod-server --key ~/.ssh/id_rsa

# 在远程执行命令
hermes exec --terminal prod "npm run deploy"

# 交互式远程会话
hermes shell --terminal prod

4. 技能系统

查看已安装技能

hermes skills list

# 输出
┌─────────────────────────────────────────────┐
│  Installed Skills                            │
├─────────────────────────────────────────────┤
│  • code-review        代码审查               │
│  • deploy-nextjs      Next.js 部署          │
│  • api-docs           API 文档生成          │
│  • db-migrate         数据库迁移            │
└─────────────────────────────────────────────┘

创建自定义技能

<!-- ~/.hermes/skills/my-deploy.md -->
---
name: my-deploy
description: 部署项目到生产环境
triggers:
  - "部署"
  - "deploy"
---

## 部署流程

1. 运行测试:`npm test`
2. 构建项目:`npm run build`
3. 同步文件:`rsync -avz dist/ user@server:/var/www/`
4. 重启服务:`ssh user@server "pm2 restart app"`
5. 验证部署:检查健康检查端点

## 注意事项
- 确保测试通过后再部署
- 保留上一个版本的备份
- 部署后监控错误日志 5 分钟

技能自动学习

当 Agent 完成一个复杂任务后,会提示是否保存为技能:

Hermes: 我已完成数据库迁移任务。是否保存为技能模板?
你: 是的,保存为 db-migrate

Hermes: 已创建技能 `db-migrate`,包含以下步骤:
  1. 备份当前数据库
  2. 执行迁移脚本
  3. 验证迁移结果
  4. 更新版本记录

上下文管理

上下文压缩机制

当上下文接近模型容量时,Hermes 自动执行压缩:

┌─────────────────────────────────────────────────────────┐
│  上下文窗口 (200K tokens)                                │
├─────────────────────────────────────────────────────────┤
│  ████████████████████████████████████████░░░░░░░  85%   │
│                                          ↑              │
│                                    触发压缩阈值          │
└─────────────────────────────────────────────────────────┘
                    ↓ 压缩
┌─────────────────────────────────────────────────────────┐
│  压缩后上下文                                            │
├─────────────────────────────────────────────────────────┤
│  • 系统提示词 (保留)                                     │
│  • 最近 10 轮对话 (保留)                                 │
│  • 历史对话 → 摘要形式                                   │
│  • 关键决策 → 提取保存                                   │
│  • 代码片段 → 引用索引                                   │
├─────────────────────────────────────────────────────────┤
│  ████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  45%   │
└─────────────────────────────────────────────────────────┘

手动上下文管理

# 查看上下文使用情况
hermes context stats

# 输出
Context Usage: 156,234 / 200,000 tokens (78%)
├─ System Prompt:     4,200 tokens
├─ Memory:            2,100 tokens
├─ Conversation:     85,000 tokens
├─ Working Files:    60,000 tokens
└─ Tool Results:      4,934 tokens

# 手动压缩
hermes context compress

# 清除上下文(保留记忆)
hermes context clear

# 导出上下文
hermes context export > context-backup.json

记忆系统

记忆类型

类型 存储位置 生命周期 用途
短期记忆 内存 会话内 当前对话上下文
长期记忆 文件/数据库 永久 跨会话知识
技能记忆 技能文件 永久 可复用模式

记忆操作

# 查看记忆内容
hermes memory show

# 添加记忆
hermes memory add "项目使用 Next.js 14,数据库是 PostgreSQL"

# 搜索记忆
hermes memory search "数据库"

# 清除记忆
hermes memory clear --confirm

高级用法

1. 多 Agent 协作

Hermes 支持多个 Agent 实例协作:

# ~/.hermes/agents.yaml

agents:
  - name: architect
    role: 系统架构师
    model: claude-opus-4-7
    focus: 架构设计、技术选型

  - name: developer
    role: 开发工程师
    model: claude-sonnet-4-6
    focus: 代码实现、调试

  - name: reviewer
    role: 代码审查员
    model: claude-sonnet-4-6
    focus: 代码质量、安全审查

协作示例:

你: 设计并实现用户认证模块

# Agent 协作流程
architect: 设计认证模块架构...
         → 输出架构设计文档

developer: 根据架构实现代码...
         → 输出实现代码

reviewer: 审查代码质量...
         → 输出审查报告

Hermes: 认证模块已完成
       - 架构设计: docs/auth-architecture.md
       - 实现代码: src/auth/
       - 审查报告: 3 个问题待修复

2. 浏览器自动化

# 启用浏览器能力
hermes capabilities enable browser

# 使用示例
你: 帮我测试登录流程

Hermes: 
  1. 打开 https://app.example.com
  2. 填写用户名: test@example.com
  3. 填写密码: ****
  4. 点击登录按钮
  5. 验证跳转到仪表盘
  ✓ 登录流程测试通过

3. 知识管理

# 导入知识库
hermes knowledge import ./docs/

# 查询知识
hermes knowledge query "如何配置数据库连接"

# 更新知识
hermes knowledge update --auto  # 从对话中自动提取知识

4. 团队协作

# ~/.hermes/team.yaml

team:
  name: dev-team
  members:
    - id: alice
      role: lead
      platforms: [telegram, slack]
    - id: bob
      role: developer
      platforms: [discord]
    - id: carol
      role: reviewer
      platforms: [slack]

  shared_memory: true        # 共享记忆
  notification:
    on_task_complete: all     # 任务完成通知所有人
    on_error: lead            # 错误只通知 lead

与 Claude Code 集成

架构组合

┌──────────────────┐      ┌──────────────────┐
│   本地开发环境    │      │   服务器端        │
│                  │      │                  │
│  ┌────────────┐  │      │  ┌────────────┐  │
│  │ Claude Code │  │ ←──→ │  │HermesAgent │  │
│  │   (CLI)    │  │      │  │  Gateway   │  │
│  └────────────┘  │      │  └────────────┘  │
│        │         │      │        │         │
│        ↓         │      │        ↓         │
│  ┌────────────┐  │      │  ┌────────────┐  │
│  │ CLAUDE.md  │  │      │  │ 持久化记忆  │  │
│  │ Auto Memory│  │      │  │ 跨平台同步  │  │
│  └────────────┘  │      │  └────────────┘  │
└──────────────────┘      └──────────────────┘

配置同步

在 CLAUDE.md 中配置 Hermes 集成:

# 项目配置

## Hermes 集成
- 网关地址: https://hermes.example.com
- 同步记忆: true
- 同频技能: true

## 构建命令
- 开发:`npm run dev`
- 测试:`npm test`
- 构建:`npm run build`

使用场景

场景 推荐方案
本地开发 Claude Code CLI + CLAUDE.md
团队协作 共享 CLAUDE.md + Hermes 网关
多设备切换 Hermes 跨平台同步
长期项目 Auto Memory + Hermes 持久化

已知限制与最佳实践

已知限制

  1. 上下文管理:这是最大的痛点,有 322 个相关 Issue,需要定期压缩
  2. 学习效果:自动学习的技能可能需要人工优化,效果缺乏定量验证
  3. 稳定性:项目较新(2026年3月公开),存在 900+ 待解决问题
  4. 平台支持:不支持 Windows 原生,需通过 WSL2 运行
  5. 安全边界:不适合金融、医疗等关键领域

最佳实践

防止会话丢失

  1. 启用持久化记忆
  2. 定期导出上下文备份
  3. 使用跨平台网关保持连续性

防止上下文溢出

  1. 设置合理的压缩阈值(推荐 0.8)
  2. 定期清理无用记忆
  3. 使用技能系统而非长对话

提高学习效果

  1. 审阅自动生成的技能模板
  2. 手动优化技能描述
  3. 删除不准确的技能

故障排查

常见问题

Q: 网关无法启动

# 检查端口占用
lsof -i :8080

# 检查配置
hermes config validate

# 查看日志
hermes logs --tail 100

Q: 记忆不持久化

# 检查存储配置
hermes config get memory.storage

# 检查权限
ls -la ~/.hermes/memory

# 手动保存
hermes memory save

Q: 模型调用失败

# 检查 API Key
hermes config get model.provider

# 测试连接
hermes model test

# 查看配额
hermes model quota

总结

Hermes Agent 是一款强大的自主 AI Agent,核心优势在于:

  1. 跨平台连续性:真正实现多平台无缝切换
  2. 自动学习能力:从经验中提炼可复用技能
  3. 灵活模型路由:200+ 模型按需选择
  4. 快速迭代:平均 3-4 天发布一个版本

结合 Claude Code 使用,可以构建完整的 AI 辅助开发体系:本地用 Claude Code 快速迭代,服务器端用 Hermes 实现跨平台协作和持久化记忆。

未来展望

时间线 规划
短期 更多 AI 模型支持、Windows 原生支持
中期 多 Agent 协作、企业级功能、可视化控制面板

适用人群:适合想要免费、不被锁定、跨平台 AI 助手的个人用户;暂不适合对稳定性要求极高的企业场景。

Hermes 2.5 Pro 模型更新(2026 年 5 月)

特性 说明
模型名称 Hermes 2.5 Pro
基础模型 Llama 3.1 8B
上下文窗口 128K tokens
训练数据 进一步优化的多阶段训练数据集
推理能力 在多个 benchmarks 上超越前代版本
代理能力 增强的任务规划和工具使用能力

主要改进

  1. 更长上下文:支持 128K tokens,可处理更长的文档和对话历史
  2. 推理优化:通过更精细的监督微调提升逻辑推理能力
  3. 工具调用:改进的函数调用和工具使用能力
  4. 代码能力:在代码生成和理解任务上表现更好

参考资料

更新日期:2026-05-19 | 当前版本:v0.8.0 | 推荐模型:Claude Opus 4.7 / Sonnet 4.6 / Hermes 2.5 Pro

评论