首页
/ Hermes Agent 实战指南:自学习 AI 代理的安装、运行与多平台网关操作

Hermes Agent 实战指南:自学习 AI 代理的安装、运行与多平台网关操作

2026-09-05 18:49:47作者:范靓好Udolf

本文基于 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.mdAGENTS.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.pyagent/memory_manager.pyagent/trajectory.pyagent/subagent_lifecycle.pyagent/monitoring/cron_health.py 等源码印证了"学习闭环、定时自动化、子代理委派、研究轨迹"四大卖点在代码中的真实落点。掌握本文内容后,你可以完成安装部署、在 CLI 与消息平台两个接口间自由切换、接入 Nous Portal 免去多份 API 密钥,并在贡献者流程下本地运行测试。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.12 K
2.72 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
528
588
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
906
1.83 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
854
1.34 K
docsdocs
暂无描述
Markdown
891
5.79 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.53 K
1.01 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.34 K
1.45 K
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
988
506
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
540
384