GitHub

Hermes Agent
自我进化的 AI Agent

Nous Research 打造的自主 AI Agent,拥有业界唯一的内置学习闭环。 它能从经验中创建技能、在使用中自我改进、主动持久化知识,并在多次会话中构建对你的深度理解。

核心特性

Hermes Agent 不仅仅是一个 IDE 编程助手,也不是单一 API 的聊天机器人封装。它是一个真正的自主 Agent,运行时间越长,能力越强。

🔄

闭环学习系统

Agent 自主策划记忆、周期性自我提醒、自动创建并优化技能、FTS5 跨会话搜索与 LLM 摘要、Honcho 辩证用户建模。

🌐

随处可运行

6 种终端后端:本地、Docker、SSH、Daytona、Singularity、Modal。支持 serverless 休眠,空闲时几乎零成本。

💬

多平台消息网关

一个网关进程同时支持 Telegram、Discord、Slack、WhatsApp、Signal、Matrix、Mattermost、Email、SMS、钉钉、飞书、企业微信等 15+ 平台。

🛠️

丰富工具生态

内置 47+ 工具,涵盖网页控制、代码执行、文件操作、GitHub 工作流、图像生成、语音合成等。兼容 agentskills.io 开放标准。

🎙️

语音交互

支持 CLI、Telegram、Discord 及 Discord 语音频道的实时语音对话,语音备忘录自动转录。

定时自动化

内置 Cron 调度器,可用自然语言设置定时任务,并将结果推送到任意平台。日报、备份、审计全自动化。

并行子 Agent

可生成隔离的子 Agent 处理并行工作流。通过程序化工具调用将多步流程压缩为单次推理回合。

🔌

MCP 支持

连接任意 MCP 服务器以扩展工具能力,安全地过滤和暴露外部工具给 Hermes 使用。

支持的模型提供商

Hermes Agent 不绑定任何单一模型。通过 hermes model 即可在 200+ 模型间无缝切换,无需修改代码。

Nous Portal

OAuth 认证,Nous Research 官方模型入口。

OpenRouter

200+ 模型,API Key 认证,一键切换全球主流模型。

OpenAI / Codex

设备码认证或 API Key,支持 GPT-4 系列及 Codex。

Anthropic

API Key 或认证,支持 Claude 全系列模型。

GitHub Copilot

OAuth 或 Token 认证,直接使用 Copilot 模型。

Google / Gemini

API Key 认证,Gemini 系列模型支持。

DeepSeek / Groq

API Key 认证,高性能推理与低价模型。

Hugging Face

20+ 模型,API Key 认证。

Ollama / 本地

完全本地化运行,隐私优先。

自定义端点

任何 OpenAI 兼容的自定义 URL 均可接入。

快速安装

Hermes Agent 支持 Linux、macOS、WSL2 以及 Android(Termux)。安装脚本会自动处理 Python、Node.js、依赖项和 hermes 命令。

Windows 用户注意

原生 Windows 目前不受支持,请通过 WSL2 安装并运行。

一键安装

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

安装完成后,重新加载 Shell 并启动 Hermes:

source ~/.bashrc    # 或 source ~/.zshrc
hermes              # 开始对话

开发安装

如果你想参与开发或自定义源码,可使用以下步骤:

git clone --recurse-submodules https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv .venv --python 3.11
source .venv/bin/activate
uv pip install -e ".[all,dev]"
uv pip install -e "./mini-swe-agent"
python -m pytest tests/ -q

Termux (Android)

在 Android Termux 上安装时需使用精简版依赖(避免不兼容的语音组件):

# 手动路径请参考官方 Termux 指南
# 安装时会自动使用 .[termux] 额外依赖
系统要求

最低 2GB RAM(运行本地模型需要更多)、约 1GB 磁盘空间、Python 3.11(安装脚本会自动处理)。

快速开始

安装完成后,以下命令将带你完成从配置到第一次对话的全过程。

  1. 选择模型提供商
    hermes model

    交互式浏览并认证你喜欢的模型提供商。支持 Nous Portal、OpenRouter、Anthropic、OpenAI 等。

  2. 配置启用的工具
    hermes tools

    通过 curses TUI 界面选择要启用的工具集。你可以随时回来修改。

  3. 运行完整配置向导
    hermes setup

    一次性完成所有基础配置,包括 API Key、消息网关、工具集和个性设置。

  4. 启动消息网关(可选)
    hermes gateway setup   # 配置 Telegram/Discord 等
    hermes gateway start   # 启动网关

    配置完成后,你可以直接从 Telegram、Discord 等平台向 Bot 发送消息开始对话。

  5. 诊断与更新
    hermes doctor         # 诊断配置问题
    hermes update         # 更新到最新版本

首次对话示例

$ hermes
Welcome to Hermes Agent v0.8.0
Model: anthropic:claude-3-7-sonnet
> 帮我写一个简单的 Python 爬虫,抓取网页标题

【Hermes 将自动调用工具分析需求、编写代码、验证结果,并在完成后询问是否保存为技能】

CLI 使用指南

Hermes 提供两个主要入口:通过 hermes 启动终端 TUI,或通过 hermes gateway 运行消息网关。进入对话后,许多斜杠命令在两个界面中通用。

常用斜杠命令

命令说明
/new/reset开始新对话,清空当前上下文
/model [provider:model]切换模型,例如 /model openrouter:anthropic/claude-3.7-sonnet
/personality [name]切换或加载预设个性
/retry/undo重试或撤销上一回合
/compress压缩上下文以节省 Token
/usage查看当前会话 Token 使用情况
/insights [--days N]查看过去 N 天的使用统计
/skills浏览可用技能
/<skill-name>直接调用指定技能
/stop中断当前工作(消息平台)
/platforms查看平台状态(CLI)
/status / /sethome查看状态 / 设置主页(消息平台)

CLI 专属快捷键

  • Ctrl+C — 中断当前生成
  • Tab — 斜杠命令自动补全
  • / — 浏览对话历史
  • 支持多行编辑和流式工具输出

CLI vs 消息平台对照

操作CLI消息平台
开始聊天hermes运行 hermes gateway setup + start 后发送消息
刷新对话/new/new
切换模型/model .../model ...
设置个性/personality .../personality ...
重试/撤销/retry / /undo/retry / /undo
中断工作Ctrl+C 或新消息/stop 或新消息

配置说明

Hermes 的配置以文件和环境变量两种形式存在。配置文件中可设置模型提供商、工具集、网关平台、安全策略等所有选项。

常用配置命令

hermes config set ANTHROPIC_API_KEY <your-key>    # 设置 API Key
hermes config set MODEL_PROVIDER anthropic         # 设置默认提供商
hermes config get MODEL_PROVIDER                   # 查看配置项
hermes config list                                 # 列出所有配置
hermes config edit                                 # 使用编辑器打开配置文件

配置文件位置

  • 用户配置:~/.hermes/config.toml(或 YAML/JSON 格式)
  • 项目配置:当前目录下的 .hermes/config.toml

关键配置项示例

[model]
provider = "anthropic"
model = "claude-3-7-sonnet-20250219"

[tools]
enabled = ["web_search", "execute_code", "file_edit", "git"]
terminal_backend = "docker"  # local | docker | ssh | daytona | singularity | modal

[gateway]
platforms = ["telegram", "discord"]
auto_start = false

[memory]
provider = "honcho"  # 或 sqlite、postgres 等第三方插件
autosave = true

[security]
approval_mode = "suggest"  # always | suggest | never
allowed_commands = ["git *", "python *", "npm *"]
配置继承规则

环境变量优先级最高,其次是项目本地配置,最后是用户全局配置。这意味着你可以在不同的项目目录中使用不同的模型和工具集。

消息网关

Hermes 的消息网关允许你通过日常使用的聊天平台与 Agent 交互,实现真正的"随时随地"可用。一个网关进程即可同时对接多个平台。

支持的平台

Telegram

Bot 模式,支持私聊和群组。

Discord

支持文字频道和语音频道(Voice Channel)。

Slack

通过 Slack App 接入工作区。

WhatsApp

完整的消息收发支持。

Signal

端到端加密消息支持。

Matrix

去中心化通信协议支持。

Mattermost

企业级团队协作平台。

Email / SMS

通过邮件或短信与 Agent 交互。

钉钉 / 飞书 / 企业微信

国内主流企业 IM 平台支持。

Home Assistant

智能家居自动化集成。

网关设置流程

# 1. 运行网关配置向导
hermes gateway setup

# 2. 按提示选择平台并输入 Token/API Key
# 3. 启动网关
hermes gateway start

# 4. 在对应平台向 Bot 发送消息即可开始对话
#    Telegram 用户可先发送 /new 激活

跨平台会话连续性

无论你在 CLI、Telegram 还是 Discord 上与 Hermes 对话,它都能通过用户身份识别保持会话连续性。你可以在电脑上开始任务,在手机上继续跟进。

DM 配对与安全

为防止未经授权的访问,消息网关支持 DM 配对模式。首次使用某个平台时,管理员需要先在 CLI 中批准该用户,或配置允许列表。

工具与工具集

Hermes 内置了 47+ 个专业工具,覆盖开发、网络、多媒体、办公自动化等多个领域。工具按工具集(Toolsets)组织,便于按需启用。

6 种终端后端

所有涉及代码执行的工具都可以通过不同的终端后端运行,以平衡便利性与安全性:

后端说明
local直接在本地 Shell 执行,速度最快
docker在隔离的 Docker 容器中执行
ssh通过 SSH 在远程主机执行
daytonaServerless 开发环境,空闲时休眠
singularityHPC 环境容器后端
modalServerless GPU/CPU 云端执行

主要工具分类

🌐

网页控制

搜索、网页提取、浏览、视觉识别、图像生成、TTS。支持 Browser Use 集成进行自动化浏览器操作。

💻

开发工具

代码执行、文件编辑、GitHub 工作流(Issue、PR、Code Review、Repo 管理)、代码库分析、结构化生成。

🎨

创意多媒体

ASCII 艺术、Excalidraw 手绘图、Manim 数学动画、p5.js 生成艺术、Stable Diffusion 图像生成、AudioCraft 音乐生成。

🧪

AI/ML 研究

Hugging Face Hub、vLLM 部署、llama.cpp 推理、Axolotl 微调、Unsloth 加速、W&B 实验追踪、EleutherAI 评测。

办公与生产力

Google Workspace、Notion、Linear、PDF 编辑、PPT 处理、OCR、arXiv 论文检索、RSS 监控。

🎮

娱乐与其他

Minecraft 服务器搭建、游戏模拟器控制(如 Pokemon)、Apple 生态集成(Reminders、Notes、iMessage)。

程序化工具调用

通过 execute_code 工具,你可以让 Hermes 编写 Python 脚本并通过 RPC 调用其他工具,将原本需要多步推理的复杂流程压缩为零上下文成本的单次调用

技能系统

技能(Skills)是 Hermes 的程序性记忆。当 Hermes 完成一个复杂任务后,它可以自动将其总结为一个可复用的技能;在后续遇到类似场景时,直接调用该技能即可大幅提高效率。

技能的三种来源

  1. 自动创建 — 完成复杂任务后,Agent 自主分析并生成技能
  2. 使用中改进 — 技能在每次调用时都会被评估和优化
  3. 社区导入 — 从 agentskills.io 或 Skills Hub 下载安装

Skills Hub

Hermes 官方 Skills Hub 汇集了来自 4 个注册表的 644+ 个技能,分为 16 个类别:

  • 78 个内置技能 — 随 Hermes 一起安装
  • 45 个可选技能 — 按需安装
  • 521 个社区技能 — 由全球开发者贡献

技能管理命令

hermes skills list              # 列出已安装技能
hermes skills search <query>    # 在 Hub 中搜索技能
hermes skills install <name>    # 安装技能
hermes skills update            # 更新所有技能
hermes skills create            # 交互式创建新技能

技能文件格式

所有技能都遵循 agentskills.io 开放标准,以 Markdown 格式的 SKILL.md 文件存储。这使得技能具有以下特点:

  • 可移植 — 任意兼容 Agent 均可读取
  • 可共享 — 直接发布到 GitHub 或 Skills Hub
  • 版本可控 — 纯文本,易于 Git 管理

记忆系统

Hermes 的记忆系统是其区别于其他 Agent 的核心能力之一。它不会在每个新会话中"从零开始",而是通过多层记忆结构持续积累对你的理解。

记忆的四个层次

📝

会话记忆

当前对话的完整上下文。支持 FTS5 全文搜索,可快速召回过去对话中的关键信息。

💾

持久记忆

跨会话保存的重要事实、偏好和决策。以结构化形式存储在本地数据库或外部后端中。

🧠

用户画像

基于 Honcho 的辩证用户建模,持续构建你的兴趣、工作流、沟通风格和长期目标模型。

🔄

自我提醒

Agent 会周期性地"提醒自己"回顾和整理知识,主动将短期信息升级为长期记忆。

记忆后端(v0.7.0+)

从 v0.7.0 开始,记忆系统变为可插拔的 Provider 接口。第三方可以通过实现 ABC 接口并注册插件来扩展记忆后端。官方参考实现是 Honcho,支持基于 profile 的主机/对等解析。

记忆最佳实践

  • 定期使用 /compress 压缩长篇上下文,节省 Token
  • 让 Hermes 将重要配置保存到 MEMORY.md 或 USER.md
  • 通过 /insights 查看长期交互趋势
  • 避免在单一会话中塞入过多无关话题,善用 /new 切换上下文

MCP 集成

MCP(Model Context Protocol)是 Anthropic 提出的开放标准,用于连接 AI 与外部数据源和工具。Hermes Agent 从 v0.6.0 起内置 MCP 支持,可安全地扩展其能力边界。

MCP 服务器管理

hermes mcp list                    # 查看已配置的 MCP 服务器
hermes mcp add <name> <command>    # 添加本地 MCP 服务器
hermes mcp add <name> --sse <url>  # 添加远程 SSE 服务器
hermes mcp remove <name>           # 移除服务器
hermes mcp test <name>             # 测试连接

工具过滤与安全

连接到 MCP 服务器后,Hermes 会自动发现其提供的所有工具。你可以在配置中精细控制哪些工具对 Agent 可见:

[mcp.servers.my-server]
enabled_tools = ["read_file", "search_web"]
disabled_tools = ["execute_shell", "delete_file"]
MCP 编辑器集成

你可以将支持 MCP 的编辑器(如 Claude Desktop、Cursor 等)指向 Hermes 的 MCP 服务器模式,从而在编辑器中直接调用 Hermes 的工具和技能。

语音模式

Hermes 支持在 CLI、Telegram、Discord 和 Discord 语音频道中进行实时语音交互,提供自然的对话体验。

语音功能特性

  • 语音转文字 — 接收语音消息并自动转录为文本输入
  • 文字转语音 — 将 Agent 的回复通过 TTS 发送为语音消息
  • 实时语音对话 — 在 Discord Voice Channel 中进行低延迟语音通话
  • 跨平台连续性 — 语音消息与文字消息共享同一会话上下文

配置语音

hermes config set TTS_PROVIDER elevenlabs
hermes config set ELEVENLABS_API_KEY <your-key>
hermes config set STT_PROVIDER whisper
hermes config set WHISPER_MODEL base
Termux 限制

Android Termux 环境目前不安装语音依赖(部分 TTS 库不兼容)。如需在 Termux 使用,需手动安装兼容的轻量语音组件。

定时任务

Hermes 内置了基于 Cron 的调度器,让你可以用自然语言设置自动化任务,并将执行结果推送到任意消息平台。

使用场景

  • 每天早上 8 点发送日报摘要到 Slack
  • 每周日凌晨执行数据库备份并通过 Telegram 报告状态
  • 每小时监控网站可用性,异常时发送告警邮件
  • 定时整理本周的会议纪要并更新到 Notion

定时任务命令

hermes cron list                   # 查看所有定时任务
hermes cron add "0 8 * * *" "总结昨日邮件并发送到 Slack"
hermes cron remove <id>            # 删除任务
hermes cron logs <id>              # 查看任务执行日志
hermes cron run <id>               # 立即手动运行一次

自然语言调度

除了标准 Cron 表达式,Hermes 也支持自然语言解析:

hermes cron add "every weekday at 9am" "检查 GitHub Issues 并报告"
hermes cron add "every 30 minutes" "监控 API 健康状态"

安全

Hermes 提供了多层安全机制,确保 Agent 在自主运行的同时不会对你的系统造成意外损害。

命令审批机制

你可以配置 Hermes 在执行敏感命令前的审批行为:

模式说明
always每次执行命令前都请求确认
suggest对潜在危险命令请求确认,安全命令自动执行
never完全自动执行(仅限受信任环境)

容器隔离

建议在生产环境或共享主机中将终端后端设置为 dockersshmodal,使 Hermes 的所有工具执行都在隔离环境中进行,避免直接接触宿主机文件系统。

DM 配对与授权

消息网关支持基于用户 ID 的访问控制:

  • 只允许预先授权的用户与 Bot 交互
  • 管理员可通过 CLI 审批新用户
  • 支持按平台配置独立的允许列表

Secrets 管理

API Key 和敏感令牌存储在 Hermes 的加密配置存储中,不会以明文形式出现在日志或会话历史里。迁移工具也支持安全地导入 OpenClaw 中的凭据。

从 OpenClaw 迁移

如果你之前使用 OpenClaw,Hermes 提供了官方的迁移工具,可以一键导入你的设置、记忆、技能和 API Key。

迁移命令

hermes claw migrate              # 完整交互式迁移
hermes claw migrate --dry-run    # 预览将要迁移的内容
hermes claw migrate --preset user-data   # 仅迁移用户数据,跳过密钥
hermes claw migrate --overwrite  # 覆盖现有冲突

迁移内容清单

项目迁移后位置
SOUL.md全局个性文件
MemoriesMEMORY.md 和 USER.md 条目
Skills~/.hermes/skills/openclaw-imports/
命令白名单审批模式配置
消息设置网关平台配置、允许用户列表、工作目录
API Keys加密的配置存储(Telegram、OpenRouter、OpenAI、Anthropic、ElevenLabs)
TTS 资源工作区音频文件
工作区指令AGENTS.md(使用 --workspace-target
首次安装自动检测

运行 hermes setup 时,如果检测到 ~/.openclaw 目录,向导会自动提示是否先执行迁移。

架构

Hermes Agent 采用模块化分层架构,核心是一个事件驱动的 Agent 循环,围绕记忆、技能和工具三个支柱构建。

核心组件

🔄

Agent Loop

核心事件循环处理用户输入、调用 LLM、解析工具调用、执行动作、更新记忆,并决定是否创建或改进技能。

🧠

Memory Manager

负责会话上下文管理、持久化记忆读写、FTS5 搜索摘要、以及用户画像建模。支持可插拔后端。

🛠️

Tool Registry

动态注册和发现所有内置工具、MCP 工具以及技能生成的程序化调用。负责权限检查和执行调度。

💬

Gateway Manager

统一抽象所有消息平台,将平台特定的事件转换为标准内部消息格式,实现跨平台会话同步。

项目目录结构

hermes-agent/
├── hermes/              # 核心 Agent 代码
│   ├── agent.py         # Agent 主循环
│   ├── memory/          # 记忆系统
│   ├── tools/           # 内置工具实现
│   ├── skills/          # 技能引擎
│   ├── gateway/         # 消息网关适配器
│   ├── mcp/             # MCP 客户端实现
│   └── cli/             # CLI 和 TUI
├── scripts/             # 安装和部署脚本
├── docs/                # 文档源码
├── tests/               # 测试套件
└── tinker-atropos/      # RL 训练环境(子模块)

研究支持

Hermes 内置了批量轨迹生成、轨迹压缩和与 Atropos RL 环境的集成,可用于训练下一代工具调用模型。这是 Nous Research 作为模型训练实验室的独特优势。

贡献指南

Hermes Agent 是 MIT 许可的开源项目,我们欢迎所有形式的贡献:代码、文档、技能和问题反馈。

快速开始(开发者)

git clone --recurse-submodules https://github.com/NousResearch/hermes-agent.git
cd hermes-agent
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv venv --python 3.11
source venv/bin/activate
uv pip install -e ".[all,dev]"
python -m pytest tests/ -q

RL 训练开发(可选)

git submodule update --init tinker-atropos
uv pip install -e "./tinker-atropos"

贡献流程

  1. Fork 仓库 并在本地创建功能分支
  2. 编写代码 并确保通过所有测试
  3. 更新文档 如果更改了用户可见的行为
  4. 提交 Pull Request 并描述变更动机和影响范围

社区渠道

CLI 命令参考

以下是 Hermes Agent 提供的完整 CLI 命令列表。

核心命令

命令说明
hermes启动交互式 CLI TUI
hermes model选择模型提供商和模型
hermes tools配置启用的工具(TUI)
hermes setup运行完整配置向导
hermes config set <key> <value>设置配置项
hermes config get <key>获取配置项
hermes config list列出所有配置
hermes config edit编辑配置文件

网关命令

命令说明
hermes gateway setup配置消息网关平台
hermes gateway start启动消息网关
hermes gateway stop停止消息网关
hermes gateway status查看网关状态
hermes gateway logs查看网关日志

技能命令

命令说明
hermes skills list列出已安装技能
hermes skills search <q>搜索技能
hermes skills install <name>安装技能
hermes skills update更新所有技能
hermes skills create交互式创建技能

MCP 命令

命令说明
hermes mcp list列出 MCP 服务器
hermes mcp add <name> <cmd>添加本地 MCP 服务器
hermes mcp remove <name>移除 MCP 服务器
hermes mcp test <name>测试连接

定时任务命令

命令说明
hermes cron list查看定时任务
hermes cron add <expr> <cmd>添加定时任务
hermes cron remove <id>删除定时任务
hermes cron run <id>手动运行任务
hermes cron logs <id>查看任务日志

维护命令

命令说明
hermes update更新到最新版本
hermes doctor诊断配置问题
hermes logs查看结构化日志(v0.8.0+)
hermes claw migrate从 OpenClaw 迁移
hermes version显示版本信息

环境变量参考

你可以通过环境变量覆盖任何配置项。以下是常用的环境变量。

变量名说明示例
ANTHROPIC_API_KEYAnthropic API 密钥sk-ant-...
OPENAI_API_KEYOpenAI API 密钥sk-...
OPENROUTER_API_KEYOpenRouter API 密钥sk-or-...
NOUS_PORTAL_TOKENNous Portal 认证令牌...
ELEVENLABS_API_KEYElevenLabs TTS API 密钥...
TELEGRAM_BOT_TOKENTelegram Bot Token...
DISCORD_BOT_TOKENDiscord Bot Token...
SLACK_BOT_TOKENSlack Bot Tokenxoxb-...
HERMES_INSTALL_DIR自定义安装目录~/.hermes
HERMES_CONFIG_PATH自定义配置文件路径~/.hermes/custom.toml
HERMES_BACKEND默认终端后端docker
HERMES_MEMORY_PROVIDER记忆后端 Providerhoncho

常见问题

Hermes Agent 与之前的 Hermes 模型有什么区别?

以往的 Hermes 系列主要是静态语言模型,专注于文本生成。而 Hermes Agent 是一个完整的自主 Agent 框架,强调与用户一起成长和进化,具备学习闭环、持久记忆和多平台集成能力。

Windows 能直接运行吗?

原生 Windows 目前不支持。请安装 WSL2,然后在 WSL2 环境中运行 Linux 安装脚本。

有官方浏览器界面吗?

截至 v0.8.0,官方没有内置浏览器 UI。你可以通过以下两种方式在浏览器中使用:(1) 将 Hermes 接入 Discord/Slack/Matrix,使用这些平台的 Web 客户端;(2) 通过 MCP 服务器模式将其接入支持 MCP 的编辑器。

可以在 $5/月的 VPS 上跑吗?

可以。官方最低要求是 2GB RAM 和约 1GB 磁盘。如果你要运行本地模型,则需要更多内存和 GPU。使用云端 API 时,VPS 只需作为控制节点即可。

如何彻底卸载?

rm ~/.local/bin/hermes
rm -rf ~/.hermes/hermes-agent
# 如果安装时自定义了 HERMES_INSTALL_DIR,请删除对应路径

遇到 Bug 如何反馈?

请前往 GitHub Issues 提交问题。如果是使用问题,建议在 Discussions 中发起讨论。

这个中文文档站是官方的吗?

本中文文档是基于 Hermes Agent 官方公开资料(官网文档、GitHub README、Release Notes 和社区文章)整理翻译而成的非官方中文参考站点,仅供学习和交流使用。最新权威信息请以 官方文档 为准。