Hermes Agent
近年来,AI 智能体(AI Agent)领域发展迅猛,从单纯的聊天机器人进化到能真正做事、持久记忆并自主成长的智能体。
Hermes Agent 是 Nous Research 开源的自主 AI Agent 框架。
- GitHub 仓库:https://github.com/nousresearch/hermes-agent
- Hermes Agent 官网:https://hermes-agent.nousresearch.com/

官方定义非常直接:
The agent that grows with you. 一个会随着使用不断成长的 Agent。它是一个自主智能体,运行时间越长,能力就越强。
Hermes Agent 的核心理念是:让 AI 成为长期在线的数字员工,而非一次性聊天机器人。
Hermes Agent 是业内少见的原生内置学习闭环的 AI Agent,可从执行经验中沉淀技能、自主优化能力、持久化知识、检索历史对话,并在跨会话中持续完善用户认知模型。
Hermes Agent 支持自由切换任意大模型,包括 Nous Portal、OpenRouter(200+ 模型)、OpenAI、GLM、Kimi、MiniMax 等,执行 hermes model 即可切换,无需改代码、无厂商锁定。
| 提供商 | 说明 | 设置方式 |
|---|---|---|
| Nous Portal | 订阅制,零配置 | 通过 hermes model 进行 OAuth 登录 |
| OpenAI Codex | ChatGPT OAuth,使用 Codex 模型 | 通过 hermes model 进行设备代码认证 |
| Anthropic | 直接使用 Claude 模型 | 通过 Claude Code 认证或 Anthropic API 密钥 |
| OpenRouter | 多提供商路由 | 输入您的 API 密钥 |
| DeepSeek | 直接 DeepSeek API 访问 | 设置 DEEPSEEK_API_KEY |
| Hugging Face | 通过统一路由器访问 20+ 开放模型 | 设置 HF_TOKEN |
| 自定义端点 | VLLM、SGLang、Ollama 或任何 OpenAI 兼容 API | 设置基础 URL 和 API 密钥 |
当然买 Coding Plan 这种还是最划算的,毕竟包月:
| 特性 | 能力说明 |
|---|---|
| 原生终端交互 | 完整 TUI 界面,支持多行编辑、命令补全、历史回溯、流式输出等 |
| 全平台接入 | 一个网关接入 CLI、Telegram、Discord、Slack、WhatsApp 等多端 |
| 闭环学习体系 | 自主管理记忆、技能生成与优化、跨会话召回、用户建模 |
| 定时自动化 | 内置 Cron 调度,支持日报、备份、审计等 7×24 自动任务 |
| 并行任务处理 | 支持子 Agent 并行执行、多工作流拆分与 RPC 工具调用 |
| 多环境运行 | 支持本地、Docker、SSH、Daytona、Modal 等 6 种后端 |
| 科研级能力 | 支持轨迹生成、强化学习环境、训练数据压缩 |
快速安装
以下安装命令适用于 Linux、macOS 与 WSL2 系统:
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
安装程序会自动处理所有依赖项:
- uv — 快速 Python 包管理器
- Python 3.11 — 通过 uv 安装,无需 sudo
- Node.js v22 — 用于浏览器自动化和 WhatsApp 桥接
- ripgrep — 快速文件搜索
- ffmpeg — TTS 音频格式转换

Windows 系统说明:不支持原生 Windows 环境,请先安装 WSL2,再在 WSL2 终端中执行上述命令。
如果安装过 OpenClaw 还可以直接导入配置:

这里选择不导入,输入 n,进入模型设置,选择第一个快速设置:

接下来我们选择倒数第二项的 More providers:

这里可以选择更多国内或国际的大模型:

以上选项本文使用的是百炼的 Coding Plan 所以选择的是 Customer endpoint,就是自定义 API 地址与 API key。
Base URL 设置百炼兼容 OpenAI 接口协议工具:https://coding.dashscope.aliyuncs.com/v1

设置 API key 与支持的大模型,比如 kimi-k2.5:
安装完成后执行以下命令:
source ~/.bashrc # 重载shell配置(若使用zsh,执行:source ~/.zshrc) hermes # 开启智能体对话!

快速上手
hermes # 交互式命令行界面 — 开启对话 hermes model # 选择大语言模型服务商与对应模型 hermes tools # 配置启用的工具集 hermes config set # 设置单项配置项 hermes gateway # 启动消息网关(支持Telegram、Discord等平台) hermes setup # 运行全量配置向导(一站式完成所有配置) hermes claw migrate # 从OpenClaw迁移数据(适用于原OpenClaw用户) hermes update # 更新至最新版本 hermes doctor # 诊断运行环境与配置问题
手动安装
如果您更喜欢完全控制安装过程,请按照以下步骤操作。
步骤 1:克隆仓库
使用 --recurse-submodules 克隆以获取所需的子模块:
git clone --recurse-submodules https://github.com/NousResearch/hermes-agent.git cd hermes-agent
如果已经克隆但没有子模块:
git submodule update --init --recursive
步骤 2:安装 uv 并创建虚拟环境
# 安装 uv(如果尚未安装) curl -LsSf https://astral.sh/uv/install.sh | sh # 创建 Python 3.11 的虚拟环境(uv 会在需要时下载,无需 sudo) uv venv venv --python 3.11
hermes。入口点有一个硬编码的 shebang 指向虚拟环境中的 Python,因此全局链接后即可使用。
步骤 3:安装 Python 依赖
# 告诉 uv 要安装到哪个虚拟环境 export VIRTUAL_ENV="$(pwd)/venv" # 安装所有扩展 uv pip install -e ".[all]"
如果您只想要核心智能体(不包含 Telegram/Discord/cron 支持):
uv pip install -e "."
可选扩展说明:
| 扩展 | 功能 | 安装命令 |
|---|---|---|
all |
包含以下所有功能 | uv pip install -e ".[all]" |
messaging |
Telegram 和 Discord 网关 | uv pip install -e ".[messaging]" |
cron |
定时任务的 Cron 表达式解析 | uv pip install -e ".[cron]" |
voice |
CLI 麦克风输入和音频播放 | uv pip install -e ".[voice]" |
mcp |
模型上下文协议支持 | uv pip install -e ".[mcp]" |
honcho |
AI 原生记忆(Honcho 集成) | uv pip install -e ".[honcho]" |
我们可以组合使用:uv pip install -e ".[messaging,cron]"
步骤 4:创建配置目录
# 创建目录结构
mkdir -p ~/.hermes/{cron,sessions,logs,memories,skills,pairing,hooks,image_cache,audio_cache,whatsapp/session}
# 复制示例配置文件
cp cli-config.yaml.example ~/.hermes/config.yaml
# 创建空的 .env 文件用于存储 API 密钥
touch ~/.hermes/.env
步骤 5:添加 API 密钥
打开 ~/.hermes/.env 并添加至少一个 LLM 提供商密钥:
# 必需 — 至少一个 LLM 提供商: OPENROUTER_API_KEY=sk-or-v1-your-key-here # 可选 — 启用其他工具: FIRECRAWL_API_KEY=fc-your-key # 网页搜索和抓取 FAL_KEY=your-fal-key # 图像生成(FLUX)
或者通过 CLI 设置:
hermes config set OPENROUTER_API_KEY sk-or-v1-your-key-here
步骤 6:将 hermes 添加到 PATH
mkdir -p ~/.local/bin ln -sf "$(pwd)/venv/bin/hermes" ~/.local/bin/hermes
如果 ~/.local/bin 不在 PATH 中,请添加到 shell 配置:
# Bash echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc # Zsh echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc
步骤 7:配置您的提供商
hermes model # 选择您的 LLM 提供商和模型
步骤 8:验证安装
hermes version # 检查命令是否可用 hermes doctor # 运行诊断以验证一切正常 hermes status # 检查您的配置 hermes chat -q "Hello! What tools do you have available?"
故障排除
| 问题 | 解决方案 |
|---|---|
hermes: command not found |
重新加载 shell(source ~/.bashrc)或检查 PATH |
| API 密钥未设置 | 运行 hermes model 配置提供商,或 hermes config set OPENROUTER_API_KEY your_key |
| 更新后配置丢失 | 运行 hermes config check 然后 hermes config migrate |
如需更多诊断信息,运行 hermes doctor — 它会告诉您缺少什么以及如何修复。
提示:您可以随时通过
hermes model切换提供商——无需更改代码,没有锁定。
消息网关
Hermes Agent 消息网关允许您通过多个平台与智能体交互——Telegram、Discord、Slack、WhatsApp、Signal、Email、Home Assistant 等。
从一个网关向 15+ 个平台发送消息。无论您身在何处,都可以与 Hermes 保持联系。
支持的平台
| 平台 | 说明 | 状态 |
|---|---|---|
| Telegram | 最完整的消息平台集成 | ✅ 支持 |
| Discord | 支持服务器和语音频道 | ✅ 支持 |
| Slack | 工作区集成 | ✅ 支持 |
| 通过 WhatsApp Web | ✅ 支持 | |
| Signal | 隐私消息应用 | ✅ 支持 |
| Matrix | 去中心化通信 | ✅ 支持 |
| Mattermost | 自托管消息 | ✅ 支持 |
| SMTP 邮件 | ✅ 支持 | |
| SMS | 短信发送 | ✅ 支持 |
| DingTalk | 钉钉 | ✅ 支持 |
| Feishu | 飞书 | ✅ 支持 |
| WeCom | 企业微信 | ✅ 支持 |
| BlueBubbles | macOS iMessage | ✅ 支持 |
| Home Assistant | 智能家居 | ✅ 支持 |
| Webhooks | 自定义 HTTP 回调 | ✅ 支持 |
设置消息平台
交互式设置:
hermes gateway setup
这将启动交互式配置向导,引导您完成每个平台的设置。
手动配置:
或直接编辑 ~/.hermes/config.yaml:
Telegram:
# 在 ~/.hermes/.env 中
TELEGRAM_BOT_TOKEN=your-bot-token
# config.yaml
gateway:
adapters:
telegram:
enabled: true
Discord:
# 在 ~/.hermes/.env 中
DISCORD_BOT_TOKEN=your-discord-token
# config.yaml
gateway:
adapters:
discord:
enabled: true
allowed_channels:
- "123456789"
Slack:
# 在 ~/.hermes/.env 中
SLACK_BOT_TOKEN=xoxb-your-token
SLACK_SIGNING_SECRET=your-signing-secret
# config.yaml
gateway:
adapters:
slack:
enabled: true
WhatsApp:
# WhatsApp 需要浏览器自动化
# 首次设置需要扫描二维码
# config.yaml
gateway:
adapters:
whatsapp:
enabled: true
session_dir: ~/.hermes/whatsapp/session
Email (SMTP):
# 在 ~/.hermes/.env 中 SMTP_HOST=smtp.gmail.com SMTP_PORT=587 [email protected] SMTP_PASSWORD=your-app-password # config.yaml gateway: adapters: email: enabled: true from_email: [email protected]
Home Assistant:
# 在 ~/.hermes/.env 中
HA_URL=http://homeassistant.local:8123
HA_TOKEN=your-long-lived-access-token
# config.yaml
gateway:
adapters:
homeassistant:
enabled: true
启动网关
前台运行:
hermes gateway
后台运行(推荐):
hermes gateway & # 或使用 systemd systemctl enable hermes-agent systemctl start hermes-agent
Docker 运行:
docker run -d \ --name hermes-gateway \ -v ~/.hermes:/home/hermes/.hermes \ ghcr.io/nousresearch/hermes-agent:latest \ hermes gateway
平台特定配置
Telegram:
- 通过 @BotFather 创建新机器人
- 获取 bot token
- 配置并运行 Hermes
- 在 Telegram 中向您的机器人发送
/start
Discord:
- 在 Discord 开发者门户创建应用
- 添加机器人到服务器
- 获取 bot token
- 配置并运行 Hermes
Slack:
- 在 Slack 应用门户创建新应用
- 添加 bot token 作用域
- 安装到工作区
- 配置并运行 Hermes
发送消息:
使用 send_message 工具通过任何配置的通道发送消息:
send_message( platform="telegram", chat_id="123456789", message="Hello from Hermes!" )
或通过 cron 安排自动化消息:
# 设置每日简报 hermes ❯ 每天早上9点检查 Hacker News 上的 AI 新闻,并通过 Telegram 给我发送摘要
语音支持
某些平台支持语音交互:
- Telegram:语音消息和语音通话
- Discord:语音频道和语音消息
- CLI:麦克风输入和 TTS
有关语音模式的详细信息,请参阅语音模式指南。
安全考虑
- 不要将 API 密钥提交到源代码控制
- 使用环境变量或安全的凭据存储
- 限制允许与智能体交互的用户/频道
- 定期轮换 API 密钥
- 在公共平台上启用命令审批
故障排除
| 问题 | 解决方案 |
|---|---|
| 机器人无响应 | 检查网关是否正在运行 |
| 权限错误 | 验证 bot token 和权限 |
| 消息未发送 | 检查通道 ID 和配置 |
| 连接超时 | 检查网络和防火墙设置 |
提示:使用
hermes gateway --verbose查看详细日志以调试问题。
点我分享笔记