Hermes Agent 教程:从零搭建你的自进化 AI 智能代理
Hermes Agent 教程:从零搭建你的自进化 AI 智能代理
小新软件平替Hermes Agent 是由 Nous Research 开源的 AI 智能代理框架,GitHub 星标超过 15 万。它不仅能帮你写代码、管理系统、分析数据,更重要的是——它会从经验中学习,自动创建技能,在跨会话中持续进化。
为什么选择 Hermes Agent?
在 AI 代理领域,Hermes Agent 与 OpenClaw、Claude Code、Codex 等工具属于同一类别——它们都是能够调用工具、自主执行任务的 AI 助手。但 Hermes Agent 有几个独特的优势:
自进化学习闭环
Hermes Agent 内置学习循环——它在完成复杂任务后自动创建可复用的”技能”(Skills),这些技能会保存在本地,在未来的会话中自动加载。每次使用技能时,它还会自我改进。这意味着随着使用时间增长,Hermes 会越来越懂你的工作环境和需求。
持久化记忆
Hermes 会记住你的偏好、环境细节和学习到的经验。每次开启新会话时,它都能回溯过往对话,形成对你的深度理解。
真正的跨平台
同一个 Hermes Agent 实例可以同时运行在 CLI 终端、Telegram、Discord、Slack、WhatsApp、Signal、Matrix 等 10+ 平台上。你在手机上给 Telegram 发消息,Hermes 在服务器上执行任务,结果实时推送回来。
20+ LLM 提供商支持
Hermes 不绑定任何特定 AI 模型。你可以使用 OpenRouter(200+ 模型)、Anthropic、OpenAI、DeepSeek、小米 MiMo、Kimi、MiniMax、Hugging Face 等任意提供商,甚至支持本地模型。用一条命令即可切换,无需修改代码。
与 OpenClaw 的核心区别
| 特性 | Hermes Agent | OpenClaw |
|---|---|---|
| 语言 | Python | TypeScript/Node.js |
| 学习闭环 | ✅ 自动技能创建与进化 | ❌ 无 |
| 持久化记忆 | ✅ 跨会话记忆 | ❌ 有限 |
| 多模型支持 | 20+ 提供商,可中途切换 | 有限 |
| 终端后端 | 7 种(本地/Docker/SSH/Modal 等) | 本地为主 |
| 研究功能 | ✅ 轨迹生成与压缩 | ❌ |
| 移动端 | ❌ | ✅ macOS/iOS/Android 应用 |
| 语音唤醒 | ❌ | ✅ Voice Wake |
| 许可证 | MIT | MIT |
简单来说:Hermes 更适合开发者、研究者和需要跨平台自动化的高级用户;OpenClaw 更适合追求”个人助理”体验、需要语音和移动端集成的普通用户。
前提条件
在开始之前,请确保:
- 一台运行 Linux、macOS、WSL2 或 Termux 的设备
- Python 3.11 或更高版本
- 一个或多个 LLM API 密钥(如 OpenRouter、Anthropic 等)
- 网络访问权限(用于下载安装和调用 API)
第一步:安装 Hermes Agent
Linux / macOS / WSL2
一行命令即可完成安装:
1 | curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash |
安装完成后重新加载 shell:
1 | source ~/.bashrc # 或 source ~/.zshrc |
Windows
推荐使用 WSL2 环境安装(最稳定)。如果要在原生 Windows 上运行,可以使用 PowerShell:
1 | iex (irm https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.ps1) |
提示:Windows 原生支持目前处于早期测试阶段,如果遇到任何问题,建议切换到 WSL2。
第二步:初始化配置
安装完成后,运行设置向导:
1 | hermes setup |
向导会引导你完成以下配置:
- 模型选择 — 选择 LLM 提供商和模型
- 终端设置 — 配置终端后端
- 网关配置 — 设置消息平台
- 工具启用 — 选择需要使用的工具集
- 代理设置 — 配置代理行为
选择 LLM 提供商
你也可以单独运行模型选择器:
1 | hermes model |
这将进入交互式菜单,你可以从支持的 20+ 提供商中选择:
| 提供商 | 认证方式 | 环境变量 |
|---|---|---|
| OpenRouter | API 密钥 | OPENROUTER_API_KEY |
| Anthropic | API 密钥 | ANTHROPIC_API_KEY |
| Nous Portal | OAuth | hermes auth |
| OpenAI | API 密钥 | OPENAI_API_KEY |
| DeepSeek | API 密钥 | DEEPSEEK_API_KEY |
| 小米 MiMo | API 密钥 | XIAOMI_API_KEY |
| Kimi/Moonshot | API 密钥 | KIMI_API_KEY |
| MiniMax | API 密钥 | MINIMAX_API_KEY |
| Hugging Face | Token | HF_TOKEN |
💡 提示:如果你不确定选哪个,推荐从 OpenRouter 开始——它聚合了 200+ 模型,一个 API 密钥即可使用所有模型。
第三步:开始对话
配置完成后,启动交互式聊天:
1 | hermes |
你将看到一个功能完整的终端用户界面(TUI),支持:
- 多行编辑 — 按
Ctrl+Enter输入多行消息 - 斜杠命令自动补全 — 输入
/后按 Tab 查看可用命令 - 流式工具输出 — 工具执行结果实时显示
- 对话历史 — 随时查看和管理历史会话
快速命令
在聊天过程中,你可以使用斜杠命令:
| 命令 | 功能 |
|---|---|
/new 或 /reset |
开始新对话 |
/model [provider:model] |
切换模型 |
/skills |
浏览技能 |
/stop |
中断当前工作 |
/usage |
查看 Token 用量 |
/compress |
压缩上下文 |
/tools |
管理工具集 |
第四步:配置消息网关
Hermes 的强大之处在于它可以通过消息平台远程使用。启动网关:
1 | hermes gateway setup # 配置消息平台 |
支持的平台
| 平台 | 说明 |
|---|---|
| Telegram | 最流行的选择,配置简单 |
| Discord | 适合团队协作 |
| Slack | 企业级集成 |
| 个人日常使用 | |
| Signal | 注重隐私的用户 |
| 邮件收发 | |
| Matrix | 开源即时通讯 |
| 飞书 | 国内办公场景 |
| 钉钉 | 国内办公场景 |
| 微信 | 通过社区桥接 |
💡 提示:Telegram 是最容易上手的平台。只需创建一个 Telegram Bot(通过 @BotFather),获取 Bot Token,然后在网关配置中输入即可。
API Server(API 服务)
Hermes 提供了 Web Dashboard 来管理配置和会话(见下方),同时支持通过消息网关和 CLI 进行远程交互。如果你需要编程方式调用 Hermes,可以直接通过 Telegram/Discord 等消息平台的 Bot API 实现。
💡 提示:Hermes 的架构设计以消息平台为核心交互入口,而非传统的 HTTP API。通过网关启动后,任何支持的平台都可以作为你的”API 客户端”。
第五步:探索核心功能
技能系统(Skills)
技能是 Hermes 最独特的功能之一。当 Hermes 完成一个复杂任务后,它会自动将工作流程保存为技能文档。这些技能会在未来的会话中自动加载,让 Hermes 越来越擅长你的特定任务。
查看已安装的技能:
1 | hermes skills list |
浏览技能中心安装新技能:
1 | hermes skills browse |
安装一个技能:
1 | hermes skills install <技能ID> |
持久化记忆
Hermes 会自动保存你的偏好和环境信息。你可以在配置中查看和管理:
1 | hermes config edit # 编辑配置文件 |
关键配置项包括:
1 | memory: |
定时任务(Cron)
Hermes 内置 cron 调度器,可以定时执行任务:
1 | # 创建每 30 分钟执行一次的定时任务 |
Web Dashboard(Web 管理面板)
Hermes 提供了一个基于 Web 的管理面板,无需编辑 YAML 文件即可配置设置、管理 API 密钥和监控会话:
1 | # 启动 Web Dashboard |
默认在 http://127.0.0.1:9119 打开,面板包含以下页面:
- 状态页 — 实时概览:Agent 版本、网关状态(运行/停止)、已连接平台、最近会话(每 5 秒自动刷新)
- 聊天页 — 在浏览器中嵌入完整的 Hermes TUI,支持斜杠命令、模型选择、工具调用卡片、Markdown 流式输出
- 配置编辑器 — 表单式编辑
config.yaml,150+ 配置项按分类组织(模型、终端、显示、代理、委派、记忆、审批等),布尔值显示为开关,已知值显示为下拉菜单 - API 密钥管理 — 按类别管理
.env中的凭证(LLM 提供商、工具 API 密钥、消息平台) - 会话浏览器 — 使用 FTS5 全文搜索所有消息内容,展开查看带颜色编码的消息和工具调用块
💡 提示:默认安装不包含 Web 依赖,需要安装额外组件:
1 pip install 'hermes-agent[web,pty]'高级选项:
hermes dashboard --port 8080(自定义端口)、hermes dashboard --tui(启用聊天页)、hermes dashboard --no-open(不自动打开浏览器)。⚠️ 安全提示:Dashboard 默认绑定
127.0.0.1。绑定到0.0.0.0会将 API 密钥暴露到网络上 — 仅在配置防火墙和强认证的情况下使用。
API Server(API 服务)
Hermes 提供了一个 OpenAI 兼容的 HTTP API 端点,任何支持 OpenAI 格式的客户端(Open WebUI、LobeChat、LibreChat、NextChat、ChatBox 等)都可以连接它作为后端。你的 Agent 使用完整的工具集处理请求,并返回最终回复。
设置步骤:
- 在
~/.hermes/.env中启用 API Server:
1 | API_SERVER_ENABLED=true |
- 启动网关:
1 | hermes gateway |
你会看到:[API Server] API server listening on http://127.0.0.1:8642
- 连接任何 OpenAI 兼容客户端到
http://localhost:8642/v1:
1 | curl http://localhost:8642/v1/chat/completions \ |
功能特性:
- 标准 OpenAI Chat Completions 格式 — 可直接替代 OpenAI API
- 流式支持 — Server-Sent Events (SSE),支持逐 token 输出和自定义
hermes.tool.progress事件 - 内联图片输入 — 支持
image_url内容部分,包含远程 URL 和数据 URI - 完整工具集访问 — 与标准 OpenAI 端点不同,Hermes Agent 可以调用工具、浏览网页、执行代码和访问记忆
- 流式工具进度 — 流式传输时,工具进度指示器内联显示,前端可以展示 Agent 的实时操作
- Responses API 支持 — 支持 OpenAI Responses 格式,通过
previous_response_id维护多轮对话上下文
子代理委派
Hermes 可以生成隔离子代理来处理并行任务:
1 | # 在 Python 脚本中调用 |
7 种终端后端
Hermes 支持多种运行环境:
| 后端 | 适用场景 |
|---|---|
| Local | 本地开发 |
| Docker | 容器化部署 |
| SSH | 远程服务器 |
| Modal | Serverless GPU |
| Daytona | Serverless 开发环境 |
| Singularity | HPC 集群 |
| Vercel Sandbox | 边缘计算 |
第六步:安全配置
Hermes 提供了多层次的安全控制:
命令审批
默认情况下,Hermes 在执行危险命令(如 rm -rf、git reset --hard)前会向你确认:
1 | # 智能审批:低风险自动通过,高风险需要你确认 |
密钥隐藏
启用后可自动隐藏工具输出中的 API 密钥等敏感信息:
1 | hermes config set security.redact_secrets true |
DM 配对
对于消息平台,默认启用 DM 配对机制——未知发送者需要先获得配对码才能与 Hermes 对话:
1 | hermes pairing approve <平台> <配对码> |
常见问题(FAQ)
Q: 如何从 OpenClaw 迁移到 Hermes?
Hermes 提供了自动迁移工具:
1 | hermes claw migrate # 交互式迁移 |
迁移内容包括:SOUL.md 人格文件、记忆、技能、命令白名单、消息配置、API 密钥等。
Q: 如何在远程服务器上运行 Hermes?
推荐使用 hermes gateway 模式。在服务器上启动网关,然后通过 Telegram/Discord 等消息平台远程使用。Hermes 的 Gateway 支持 systemd 用户服务,可以随系统自动启动。
Q: 如何切换模型?
在聊天中使用斜杠命令:
1 | /model anthropic/claude-sonnet-4 |
或者在终端中使用 CLI:
1 | hermes model |
Q: Hermes 支持本地模型吗?
是的。你可以使用任何通过 OpenAI 兼容 API 提供的本地模型(如 Ollama、vLLM、llama.cpp 等)。在配置中设置 base_url 为你的本地模型端点即可。
进阶技巧
使用配置文件自定义行为
Hermes 的配置文件 ~/.hermes/config.yaml 包含丰富的选项:
1 | model: |
创建自定义技能
你可以手动创建技能来固化特定的工作流程:
1 | # 创建技能目录 |
技能文件应包含清晰的步骤说明、前置条件和注意事项。
使用工作树模式并行运行
当需要并行运行多个 Hermes 实例时,使用 -w 工作树模式避免 Git 冲突:
1 | hermes -w # 工作树模式 |
总结
Hermes Agent 是一个功能强大、持续进化的 AI 智能代理框架。通过本教程,你已经学会了:
- ✅ 安装和配置 Hermes Agent
- ✅ 选择 LLM 提供商并连接模型
- ✅ 启动交互式聊天和消息网关
- ✅ 使用技能系统和持久化记忆
- ✅ 配置定时任务和子代理委派
- ✅ 使用 Web Dashboard 进行可视化配置管理
- ✅ 通过 API Server 连接 OpenAI 兼容前端
- ✅ 设置安全策略
Hermes 的核心价值在于它的自进化能力——使用时间越长,它越了解你的需求,工作效率越高。立即开始你的 Hermes 之旅吧!
📖 官方文档:https://hermes-agent.nousresearch.com/docs/
🐛 问题反馈:https://github.com/NousResearch/hermes-agent/issues
💬 社区 Discord:https://discord.gg/NousResearch











