
Hermes Agent 是由 Nous Research 开发的开源自改进 AI Agent。它不是普通的聊天机器人,而是一个具备闭环学习系统的智能代理:
技能自创建:遇到复杂任务时自动生成新技能,并在使用中持续优化
持久记忆:跨会话的记忆系统,能够记住你是谁、你的偏好和历史对话
多平台接入:同时支持 Telegram、Discord、Slack、WhatsApp、Signal、Email 等
多模型兼容:OpenRouter、OpenAI、Anthropic、NVIDIA NIM、Xiaomi MiMo、Kimi 等 200+ 模型
定时任务:内置 Cron 调度器,支持无人值守的自动化
MCP 集成:可接入任意 MCP Server 扩展能力
低成本运行:可在 $5/月的 VPS 上运行,或通过 Daytona/Modal 实现 Serverless
项目 | 最低要求 | 推荐 |
Python | 3.11+ | 3.11 或 3.12 |
Node.js | 22+ | 22 LTS |
操作系统 | Linux / macOS / WSL2 | Ubuntu 22.04+ |
内存 | 2GB RAM | 4GB+ |
磁盘 | 5GB 可用空间 | 10GB+ |
网络 | 可访问 GitHub 和 LLM API | 稳定的外网连接 |
不支持原生 Windows,Windows 用户请使用 WSL2。
Hermes 提供四种部署方式:
方式 | 适用场景 | 难度 |
一键安装脚本 | 快速体验、个人使用 | 简单 |
手动开发环境 | 二次开发、贡献代码 | 中等 |
Docker 部署 | 生产环境、服务器部署 | 中等 |
云平台(Daytona/Modal) | Serverless、弹性伸缩 | 高级 |
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
安装器会自动完成以下操作:
检测操作系统(Linux/macOS/WSL2/Termux)
安装 uv(Python 包管理器,如果未安装)
安装 Python 3.11(如果未安装)
克隆仓库到 ~/.hermes/hermes-agent
创建虚拟环境并安装依赖
创建 hermes 命令符号链接到 ~/.local/bin/
运行交互式设置向导
# 跳过设置向导 curl -fsSL ... | bash -s -- --skip-setup # 不创建虚拟环境(使用系统 Python) curl -fsSL ... | bash -s -- --no-venv # 指定安装分支 curl -fsSL ... | bash -s -- --branch dev # 指定安装目录 curl -fsSL ... | bash -s -- --dir /opt/hermes
# 重新加载 shell source ~/.bashrc # 或 source ~/.zshrc # 启动交互式 CLI hermes # 启动消息网关(支持 Telegram/Discord/Slack 等) hermes gateway # 完整设置向导 hermes setup
在 Termux 中执行:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
Termux 会安装精简版(不含语音依赖),详细指南见 Termux 文档。
uv 是 Hermes 推荐的 Python 包管理器,比 pip 更快:
curl -LsSf https://astral.sh/uv/install.sh | sh
安装后确保 ~/.local/bin 在 PATH 中。
git clone https://github.com/NousResearch/hermes-agent.git cd hermes-agent
./setup-hermes.sh
这个脚本会自动完成 uv 安装、Python 3.11 配置、venv 创建、依赖安装和命令链接。
# 创建 Python 3.11 虚拟环境 uv venv venv --python 3.11 source venv/bin/activate # 安装核心依赖 uv pip install -e "." # 安装全部功能(含消息平台、定时任务、语音等) uv pip install -e ".[all]" # 仅安装开发依赖 uv pip install -e ".[dev]" # 运行测试 python -m pytest tests/ -q
Extra | 说明 | 安装命令 |
| 完整功能 |
|
| Telegram/Discord/Slack 等 |
|
| 定时任务 |
|
| MCP 集成 |
|
| 本地语音识别 |
|
| ElevenLabs TTS |
|
| Web API 服务 |
|
| Modal 云平台 |
|
| Daytona 云平台 |
|
| 开发测试依赖 |
|
# 克隆仓库 git clone https://github.com/NousResearch/hermes-agent.git cd hermes-agent # 构建镜像 docker build -t hermes-agent . # 运行容器 docker run -it \ -v hermes-data:/opt/data \ -e HERMES_HOME=/opt/data \ hermes-agent
docker run -d \ --name hermes \ -v hermes-data:/opt/data \ -e HERMES_UID=$(id -u) \ -e HERMES_GID=$(id -g) \ -e OPENROUTER_API_KEY=sk-or-xxx \ -p 8080:8080 \ hermes-agent gateway start
参数 | 说明 |
| 数据持久化卷 |
| 映射宿主机用户权限 |
| API 密钥 |
| Web API 端口 |
| 启动消息网关 |
/opt/hermes/ # 应用代码 /opt/data/ # 持久化数据 ├── .env # 环境变量 ├── config.yaml # 主配置 ├── SOUL.md # 角色设定 ├── cron/ # 定时任务 ├── sessions/ # 会话数据 ├── logs/ # 日志 ├── hooks/ # 钩子脚本 ├── memories/ # 记忆文件 ├── skills/ # 技能目录 ├── skins/ # 皮肤/主题 ├── plans/ # 计划任务 ├── workspace/ # 工作目录 └── home/ # 子进程 HOME
Dockerfile 采用多阶段构建:
使用 uv 官方镜像作为基础
Node.js 依赖和 Playwright 浏览器预先缓存
Web 前端(Vite)在构建时编译
非 root 用户运行(UID 10000)
Daytona 提供按需唤醒的容器环境,空闲时几乎不产生费用:
# 安装 Daytona 扩展 uv pip install -e ".[daytona]" # 配置 Daytona daytona create
Modal 提供 GPU 和 CPU 的 serverless 运行环境:
# 安装 Modal 扩展 uv pip install -e ".[modal]" # 部署 modal deploy hermes_modal.py
适用于 HPC 集群环境:
singularity build hermes.sif docker://hermes-agent:latest singularity run hermes.sif
文件 | 路径 | 说明 |
|
| 主配置文件 |
|
| 环境变量/API 密钥 |
|
| Agent 角色设定 |
# 交互式选择模型 hermes model # 直接设置 hermes config set model.provider openrouter hermes config set model.model anthropic/claude-3.5-sonnet hermes config set model.api_key sk-or-xxx
支持的提供商:
Nous Portal — Nous Research 官方
OpenRouter — 200+ 模型,推荐入门
NVIDIA NIM — Nemotron 系列
OpenAI — GPT-4o, o1 等
Anthropic — Claude 3.5 Sonnet
Xiaomi MiMo — 小米大模型
Kimi/Moonshot — 月之暗面
MiniMax — 稀宇科技
Hugging Face — 开源模型
自定义端点 — 任意 OpenAI 兼容 API
# 设置 Telegram Bot hermes gateway setup telegram # 设置 Discord hermes gateway setup discord # 设置 Slack hermes gateway setup slack # 启动网关 hermes gateway start
# 查看可用工具 hermes tools # 启用/禁用工具 hermes tools enable web_search hermes tools disable code_execution
内置工具包括:
Web 搜索(Exa、Firecrawl)
代码执行(多种终端后端)
文件操作
浏览器自动化(Playwright)
图像生成(FAL)
语音合成(Edge TTS / ElevenLabs)
变量 | 说明 |
| OpenRouter API 密钥 |
| OpenAI API 密钥 |
| Anthropic API 密钥 |
| Telegram Bot Token |
| Discord Bot Token |
| Slack Bot Token |
| ElevenLabs API 密钥 |
| 数据目录(默认 ~/.hermes) |
如果你之前使用 OpenClaw,Hermes 提供自动迁移:
# 交互式迁移(首次安装时自动检测) hermes claw migrate # 预览迁移内容 hermes claw migrate --dry-run # 仅迁移用户数据(不含密钥) hermes claw migrate --preset user-data # 覆盖已有配置 hermes claw migrate --overwrite
迁移内容包括:SOUL.md、 记忆 、技能、API 密钥、消息平台配置等。
hermes # 启动交互式 TUI hermes -q "你好" # 直接提问(非交互式) hermes model # 切换模型 hermes tools # 配置工具 hermes config set # 修改配置 hermes gateway # 消息网关管理 hermes setup # 完整设置向导 hermes update # 更新到最新版 hermes doctor # 诊断问题 hermes skills # 管理技能 hermes cron # 定时任务管理
命令 | 作用 |
| 开始新会话 |
| 重置当前会话 |
| 切换模型 |
| 切换人格 |
| 重试最后一条 |
| 撤销上一步 |
| 压缩上下文 |
| 查看 token 用量 |
| 浏览技能 |
| 停止当前任务 |
# 添加每日报告任务 hermes cron add "0 9 * * *" "生成昨日工作总结并发送到 Slack" # 查看所有定时任务 hermes cron list # 删除任务 hermes cron remove <id>
hermes doctor # 运行完整诊断
Q: Windows 上无法安装?
A: Hermes 不支持原生 Windows,请使用 WSL2。
Q: 安装后 hermes 命令找不到?
A: 确保 ~/.local/bin 在 PATH 中,执行 source ~/.bashrc。
Q: Python 版本不兼容?
A: 必须使用 Python 3.11+,使用 uv python install 3.11 安装。
Q: 消息网关启动失败?
A: 检查对应平台的 Bot Token 是否正确,以及网络是否能访问 Telegram/Discord API。
Q: 如何更新?
A: 执行 hermes update,或 git pull && uv pip install -e ".[all]"。
Hermes Agent 架构 ├── CLI (prompt_toolkit + Rich) # 交互式终端界面 ├── Gateway # 消息网关 │ ├── Telegram Bot │ ├── Discord Bot │ ├── Slack Bot │ ├── WhatsApp │ ├── Signal │ └── Email ├── Agent Loop # ReAct 循环 │ ├── LLM Client (多提供商) │ ├── Tool Registry (40+ 工具) │ ├── Skill System (技能创建/优化) │ └── Memory Manager (持久记忆) ├── Cron Scheduler # 定时任务 ├── MCP Client # MCP 集成 └── Web Dashboard (Vite) # Web 管理界面
资源 | 链接 |
GitHub 仓库 | |
官方文档 | |
Discord 社区 | |
Skills Hub | |
问题反馈 | |
OpenClaw 迁移 |
|