Hermes Agent 实战指南:自学习 AI 代理的安装、运行与多平台网关操作
本文基于 Hermes Agent 仓库中的官方文档(含乌尔都语本地化版本 README.ur-pk.md),完整梳理这款"自我改进型 AI 代理"的安装方式、首跑命令、Nous Portal 接入、CLI 与消息平台双接口操作对照,以及从 OpenClaw 迁移和贡献者开发环境搭建等全流程,并结合 agent/ 目录下的核心源码说明其学习闭环、定时任务与子代理等特性的实现依据,读完你可以独立完成部署、验证各子系统并按需扩展。
项目定位:内置学习闭环的自我改进 AI 代理
官方文档(README.md 及其乌尔都语版 README.ur-pk.md)将 Hermes 定位为 Nous Research 出品的"自带学习循环(learning loop)"的 AI 代理。它区别于普通聊天机器人的关键能力包括:
- 从复杂任务经验中自主创建技能(skills),并在后续使用中自我改进;
- 维护一套代理自管的记忆(agent-curated memory),并周期性自我提醒以持久化知识;
- 用 FTS5 全文索引 + LLM 摘要检索自己的历史会话,实现跨会话回忆;
- 通过 Honcho 做辩证式用户建模,在不同会话间逐渐加深对用户的理解;
- 兼容 agentskills.io 开放技能标准。
运行形态上,它可以在 $5 的 VPS、GPU 集群或近乎零闲置成本的 serverless 基础设施上运行,且不与笔记本绑定——文档原文明确指出"可以在 Telegram 上与它对话,而它本身在云 VM 上工作"。
模型层面完全开放:Nous Portal、OpenRouter(200+ 模型)、OpenAI、NVIDIA NIM、Kimi/Moonshot、MiniMax、Hugging Face、z.ai/GLM 或自定义端点均可,切换模型只需一条 hermes model 命令,"无需改代码、无厂商锁定"。
设计哲学可从开发指南 AGENTS.md 中得到印证:官方将"按会话的 prompt 缓存神圣不可侵犯"与"核心是窄腰(narrow waist),能力生长在边缘"列为两条核心设计准则——任何会篡改历史上下文或中途重建系统提示的行为都会击穿缓存、放大成本,因此新能力优先以 CLI 命令 + 技能、插件或服务门控工具的形式提供,而不是扩大核心工具面。
七大核心能力全景
官方 README 用一张特性表概括了 Hermes 的能力版图(乌尔都语版与英文版一致,此处按原文组织):
1. 真正的终端界面(TUI)
完整的 TUI 体验:多行编辑、斜杠命令自动补全、会话历史、中断并改向(interrupt-and-redirect)、工具输出流式显示。
2. "你在哪里,它就在哪里"
Telegram、Discord、Slack、WhatsApp、Signal 与 CLI,全部由同一个 gateway 进程承载,支持语音备忘录转写(voice memo transcription)与跨平台会话连续性。
3. 闭合的学习闭环
即上节所述的"代理自管记忆 + 自主技能创建 + 技能使用中自改进 + FTS5 跨会话检索 + Honcho 用户建模"组合。源码层面可以佐证这套闭环并非纸面描述:
- agent/curator.py 中的 Curator 是后台技能维护编排器:它在代理空闲且距上次运行超过
interval_hours时(惰性触发,不依赖 cron 守护进程)派生一个后台评审代理,对代理创建的技能执行固定/归档/合并/打补丁;文档注释明确了三条不变量——只触碰代理创建的技能、绝不自动删除(只归档且可恢复)、被固定(pinned)的技能绕过所有自动流转。 - agent/memory_manager.py 中的 MemoryManager 是记忆后端的单一集成点,委托给已注册的 memory provider,且刻意限制"同一时间只允许一个外部插件记忆 provider",以避免工具 schema 膨胀与后端冲突。
- 技能在 CLI 与 gateway 两个入口的斜杠命令分发由 agent/skill_commands.py 共享实现(模块注释明确"Shared between CLI (cli.py) and gateway (gateway/run.py) so both surfaces can invoke skills via /skill-name commands"),这正是后文 CLI/消息平台命令高度一致的底层原因。
4. 定时自动化(Cron)
内置 cron 调度器,支持投递到任意平台:日报、夜间备份、每周审计等,全部用自然语言定义、无人值守运行。仓库中 agent/monitoring/cron_health.py 提供了"无内容(content-free)的 cron 服务健康与执行遥测投影",配合 agent/monitoring/ 下的网关健康、OTLP 导出等模块,构成对定时任务与网关运行状态的观测层。
5. 委派与并行化
为并行工作流派生相互隔离的子代理;同时支持编写 Python 脚本,通过 RPC 调用工具,把多步流水线折叠为"零上下文成本"的单轮操作。agent/subagent_lifecycle.py 为插件暴露了公开、插件安全的子代发生命周期 API,并刻意只暴露不可变契约而非 AIAgent 对象,是插件监督子会话的受支持边界。
6. 随处运行,而非只跑在笔记本上
文档列举了多终端后端:local、Docker、SSH、Singularity、Modal、Daytona(乌尔都语版列六项;英文 README.md 还多列了 Vercel Sandbox)。其中 Daytona 与 Modal 提供 serverless 持久化——代理空闲时环境休眠(hibernate)、按需自动唤醒,会话之间的成本几乎为零。
7. 面向研究(Research-ready)
支持批量化轨迹(trajectory)生成,以及为训练下一代工具调用模型做轨迹压缩(trajectory compression)。agent/trajectory.py 是轨迹保存与格式转换的落地模块,其中包含把内部推理暂存标签转换为标准 think 标签等静态工具,供批处理运行器调用。
安装实操
Linux / macOS / WSL2 / Termux
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
原生 Windows(PowerShell)
文档特别提示:原生 Windows 无需 WSL 即可运行 Hermes——CLI、gateway、TUI 与工具全部原生工作;如果偏好 WSL2,上面的 Linux/macOS 一行命令同样适用。在 PowerShell 中执行:
iex (irm https://hermes-agent.nousresearch.com/install.ps1)
安装器自动处理全部依赖:uv、Python 3.11、Node.js、ripgrep、ffmpeg,以及一个便携版 Git Bash(MinGit,解包到 %LOCALAPPDATA%\hermes\git——无需管理员权限,与系统已装的 Git 完全隔离)。Hermes 使用这个捆绑的 Git Bash 来执行 shell 命令。若系统已有 Git,安装器会自动识别并改用系统 Git;否则只需下载约 45MB 的 MinGit,不会影响系统 Git。
安装后启动
source ~/.bashrc # 重新加载 shell(zsh 用户:source ~/.zshrc)
hermes # 开始对话
平台要点(文档原文要点继承)
- Android / Termux:Hermes 在 Termux 上安装的是精心挑选的
.[termux]extra,因为完整的.[all]extra 目前会拉取与 Android 不兼容的语音依赖;测试过的完整手动路径见官方文档的 Termux 指南。 - Windows 安装位置:原生 Windows 安装在
%LOCALAPPDATA%\hermes;WSL2 下与 Linux 一致,位于~/.hermes。文档还指出,唯一当前仍较依赖 WSL2/POSIX PTY 的特性是基于浏览器的 dashboard 聊天面板,而经典 CLI 与 gateway 均可原生运行。
首跑命令速查
文档"Getting Started"一节给出的官方命令集合(乌尔都语版完整继承如下):
hermes # 交互式 CLI——开始对话
hermes model # 选择你的 LLM 提供商与模型
hermes tools # 配置启用哪些工具
hermes config set # 设置单个配置项
hermes gateway # 启动消息网关(Telegram、Discord 等)
hermes setup # 运行完整设置向导(一次性配置所有项)
hermes claw migrate # 从 OpenClaw 迁移(如你来自 OpenClaw)
hermes update # 更新到最新版本
hermes doctor # 诊断任何环境问题
Nous Portal:一份订阅覆盖模型与工具密钥
Hermes 坚持"用你喜欢的任何提供商"这一立场不变,但如果你不想为模型、网页搜索、图像生成、TTS 和云浏览器分别收集五个 API 密钥,Nous Portal 用一个订阅覆盖全部:
- 300+ 模型——其中任意一个都可用
/model <name>选择; - Tool Gateway(工具网关)——网页搜索(Firecrawl)、图像生成(FAL)、文本转语音(OpenAI)、云浏览器(Browser Use)全部经由你的订阅路由,无需额外账号。
新安装后一条命令即可:
hermes setup --portal
该命令会完成 OAuth 登录、把 Nous 设为你提供商并开启 Tool Gateway;随时可用 hermes portal info 查看当前接入了哪些服务。文档还强调:网关是按后端生效的,不是"全开或全关"——你仍然可以为任意单个工具自带自己的 API 密钥。
CLI 与消息平台接口对照
Hermes 有两个入口:用 hermes 启动终端 UI,或运行 gateway 后从 Telegram、Discord、Slack、WhatsApp、Signal、Email 与它对话。进入对话后,大量斜杠命令在两个接口中是共享的(其共享分发逻辑见 agent/skill_commands.py)。官方对照表(完整继承):
| 操作 | CLI | 消息平台 |
|---|---|---|
| 开始对话 | hermes |
运行 hermes gateway setup + hermes gateway start,然后给机器人发消息 |
| 开启新会话 | /new 或 /reset |
/new 或 /reset |
| 切换模型 | /model [provider:model] |
/model [provider:model] |
| 设置人格 | /personality [name] |
/personality [name] |
| 重试/撤销上一轮 | /retry、/undo |
/retry、/undo |
| 压缩上下文 / 查看用量 | /compress、/usage、/insights [--days N] |
/compress、/usage、/insights [days] |
| 浏览技能 | /skills 或 /<skill-name> |
/<skill-name> |
| 中断当前任务 | Ctrl+C 或发新消息 |
/stop 或发新消息 |
| 平台状态 | /platforms |
/status、/sethome |
从 OpenClaw 迁移
如果你从 OpenClaw 迁移过来,Hermes 可以自动导入你的配置、记忆、技能与 API 密钥。
首次设置期间:设置向导(hermes setup)会自动检测 ~/.openclaw,并在配置开始前提供迁移选项。
安装后任意时刻可执行:
hermes claw migrate # 交互式迁移(完整预设)
hermes claw migrate --dry-run # 预览将被迁移的内容
hermes claw migrate --preset user-data # 不迁移密钥等敏感信息
hermes claw migrate --overwrite # 覆盖现有冲突文件
会导入的内容清单(文档原文):
- SOUL.md——人格(persona)文件;
- 记忆(Memories)——MEMORY.md 与 USER.md 条目;
- 技能(Skills)——用户创建的技能,导入到
~/.hermes/skills/openclaw-imports/; - 命令白名单(allowlist)——审批模式(approval patterns);
- 消息配置——平台配置、允许的用户、工作目录;
- API 密钥——白名单内的密钥(Telegram、OpenRouter、OpenAI、Anthropic、ElevenLabs);
- TTS 资产——工作区音频文件;
- 工作区指令——AGENTS.md(配合
--workspace-target使用)。
全部选项可用 hermes claw migrate --help 查看;文档还提到存在 openclaw-migration 技能,可在代理引导下完成带 dry-run 预览的交互式迁移。
贡献者与开发环境
仓库同时提供 CONTRIBUTING.md 与 AGENTS.md(面向 AI 编码助手与开发者的开发指南)。乌尔都语文档给出的贡献者快速上手路径:克隆仓库并运行 setup-hermes.sh(安装 uv、创建 venv、安装 .[all]、建立 ~/.local/bin/hermes 软链),随后直接运行 ./hermes 即可,脚本会自动识别 venv。
文档同时给出的等效手动流程(当前仓库快照中可直接核对的部分为 uv + venv + 可编辑安装 + 测试脚本):
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]"
scripts/run_tests.sh
需要说明适用前提:英文 README.md 的贡献者一节采用了更新的"托管安装布局"(安装器在 $HERMES_HOME/hermes-agent 下创建完整 git 检出,与 hermes update 的布局一致),并特别提醒——手动克隆时应把 venv 建在源码树之外,因为代理可能用相对路径命令误删自己检出目录内部的 venv,导致运行中的运行时在会话中途被摧毁。两个流程的适用取舍请以你当前使用的安装方式为准。
官方文档地图与许可
文档主体将全部在线文档按模块组织如下(章节名与覆盖内容完整继承自原文档;具体页面请以官方文档站为准):
| 章节 | 覆盖内容 |
|---|---|
| Quickstart 快速开始 | 安装 → 配置 → 2 分钟开始第一次对话 |
| CLI 使用 | 命令、键位绑定、人格、会话 |
| Configuration 配置 | 配置文件、提供商、模型、全部选项 |
| Messaging Gateway 消息网关 | Telegram、Discord、Slack、WhatsApp、Signal、Home Assistant |
| Security 安全 | 命令审批、DM 配对、容器隔离 |
| Tools & Toolsets 工具与工具集 | 40+ 工具、工具集系统、终端后端 |
| Skills System 技能系统 | 过程性记忆、Skills Hub、创建技能 |
| Memory 记忆 | 持久记忆、用户画像、最佳实践 |
| MCP Integration MCP 集成 | 接入任意 MCP 服务器扩展能力 |
| Cron Scheduling 定时调度 | 带平台投递的定时任务 |
| Context Files 上下文文件 | 影响每次对话的项目上下文 |
| Architecture 架构 | 项目结构、代理主循环、关键类 |
| Contributing 贡献 | 开发环境、PR 流程、代码风格 |
| CLI Reference CLI 参考 | 全部命令与标志 |
| Environment Variables 环境变量 | 完整环境变量参考 |
最后,项目采用 MIT 许可证(详见 LICENSE),由 Nous Research 开发维护。
小结
这篇指南以 Hermes Agent 官方文档为骨架:它给出了从一条安装命令到 hermes model / hermes gateway / hermes claw migrate 的完整操作面,并以 agent/curator.py、agent/memory_manager.py、agent/trajectory.py、agent/subagent_lifecycle.py、agent/monitoring/cron_health.py 等源码印证了"学习闭环、定时自动化、子代理委派、研究轨迹"四大卖点在代码中的真实落点。掌握本文内容后,你可以完成安装部署、在 CLI 与消息平台两个接口间自由切换、接入 Nous Portal 免去多份 API 密钥,并在贡献者流程下本地运行测试。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0623
Hy4-previewHy4 preview 是由腾讯混元团队研发的新一代混合专家(MoE)旗舰模型。模型总参数量 770B,每个 token 激活 49B,主干共包含78层,第一层采用标准 FFN,其余 77 层均为 MoE 结构,每层包含 256 个路由专家与 1 个共享专家,每个 token 激活 top-8 路由专家及共享专家。主干之外原生内置 1 层 MTP(总参数量 10B,激活 0.7B)以支持投机解码。Python00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00