2026年Hermes Agent 安装及配置

Hermes Agent 安装及配置p Hermes Agent 是由 Nous Research 开发的自改进 AI Agent 它具有以下特点 p 内置学习循环 从经验中创建技能 使用过程中不断改进 跨会话记忆 搜索历史对话 建立用户模型 多平台支持 Telegram Discord Slack WhatsApp Signal 和 CLI 多模型支持 支持 Nous

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



 

Hermes Agent 是由 Nous Research 开发的自改进 AI Agent。它具有以下特点:

  • 内置学习循环 — 从经验中创建技能,使用过程中不断改进
  • 跨会话记忆 — 搜索历史对话,建立用户模型
  • 多平台支持 — Telegram、Discord、Slack、WhatsApp、Signal 和 CLI
  • 多模型支持 — 支持 Nous Portal、OpenRouter(200+ 模型)、OpenAI、Anthropic 等多种模型
  • 灵活部署 — 可在 $5 VPS、GPU 集群或无服务器基础设施上运行
  • macOS 10.15 (Catalina) 或更高版本|WSL
  • Python 3.11+
  • 网络连接

打开终端,执行以下命令:

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash 

安装完成后,重新加载 Shell 配置:

source ~/.zshrc # 如果使用 zsh(macOS 默认)

source ~/.bashrc # 如果使用 bash

1. 安装依赖

确保已安装 Python 3.11+,可以使用 Homebrew 安装:

# 安装 Homebrew(如果未安装) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装 Python

brew install python@3.11

2. 安装 uv(Python 包管理器)
curl -LsSf https://astral.sh/uv/install.sh | sh 
3. 克隆仓库并安装
git clone https://github.com/NousResearch/hermes-agent.git cd hermes-agent

创建虚拟环境

uv venv venv –python 3.11 source venv/bin/activate

安装 Hermes Agent

uv pip install -e ".[all]"

hermes 

运行设置向导,配置所有选项:

hermes setup 

或使用单独的命令进行配置:

命令 说明 hermes model 选择 LLM 提供商和模型 hermes tools 配置启用的工具 hermes config set 设置单个配置值 hermes gateway 启动消息网关(Telegram、Discord 等)
  • Nous Portal
  • OpenRouter(200+ 模型)
  • z.ai/GLM
  • Kimi/Moonshot
  • MiniMax
  • OpenAI
  • Anthropic
  • 自定义端点
hermes model 

或在对话中使用:

/model openrouter:anthropic/claude-3.5-sonnet 
命令 说明 /new/reset 开始新对话 /model [provider:model] 更换模型 /personality [name] 设置个性 /retry 重试上一轮 /undo 撤销上一轮 /compress 压缩上下文 /usage 查看使用情况 /skills 浏览技能
命令 说明 hermes update 更新到最新版本 hermes doctor 诊断问题

Hermes Gateway 是一个后台进程,连接所有配置的消息平台,处理会话、运行定时任务并传递语音消息。

hermes gateway # 前台运行(显示实时日志) hermes gateway setup # 交互式配置所有消息平台 hermes gateway install # 安装为系统服务(macOS: launchd) hermes gateway start # 启动服务 hermes gateway stop # 停止服务 hermes gateway status # 查看服务状态

查看日志

tail -f ~/.hermes/logs/gateway.log # 实时查看网关日志 cat ~/.hermes/logs/gateway.log # 查看完整日志

调试模式(显示详细日志)

hermes chat –verbose

hermes gateway install # 安装为 launchd 服务 hermes gateway start # 启动服务 hermes gateway stop # 停止服务 hermes gateway status # 查看状态 tail -f /.hermes/logs/gateway.log # 查看日志 

服务文件位于 /Library/LaunchAgents/ai.hermes.gateway.plist

命令 说明 /new/reset 开始新对话 /model [provider:model] 更换模型 /personality [name] 设置个性 /retry 重试上一条消息 /undo 撤销上一轮对话 /status 显示会话信息 /stop 停止运行中的 agent /approve 批准待处理的危险命令 /deny 拒绝待处理的危险命令 /sethome 将此聊天设为主页频道 /compress 手动压缩对话上下文 /title [name] 设置或显示会话标题 /resume [name] 恢复之前命名的会话 /usage 查看此会话的 token 使用量 /insights [days] 显示使用分析和洞察 /voice [on off tts] 控制语音回复 /background 在后台会话中运行任务 /reload-mcp 重新加载 MCP 服务器 /update 更新 Hermes Agent /help 显示可用命令 / 调用任何已安装的技能
会话持续性

会话在重置前会持续保留,agent 会记住对话上下文。

重置策略
策略 默认值 说明 每日 4:00 AM 每天特定时间重置 闲置 1440 分钟 闲置 N 分钟后重置 组合 (综合) 触发时更早的那个

可以在 ~/.hermes/gateway.json 中为每个平台配置覆盖:

,

"discord": {"mode": "idle", "idle_minutes": 60} 

} }

在独立的背景会话中运行任务,让 agent 独立工作而主聊天保持响应:

/background 检查集群中的所有服务器,报告任何宕机的服务器 

Hermes 会立即确认:

🔄 Background task started: "检查集群中的所有服务器…" Task ID: bg__a1b2c3 

后台任务完成时,结果会发送回同一聊天,前缀为 “✅ Background task complete”。

默认情况下,网关拒绝所有不在白名单中或未通过 DM 配对的用户。 这是具有终端访问权限的机器人的安全默认设置。

用户白名单
# 限制特定用户(推荐): TELEGRAM_ALLOWED_USERS=, DISCORD_ALLOWED_USERS= SIGNAL_ALLOWED_USERS=+155*4567,+155*6543 FEISHU_ALLOWED_USERS=ou_xxxxxxxx,ou_yyyyyyyy

或允许所有用户(不推荐):

GATEWAY_ALLOW_ALL_USERS=true

DM 配对(白名单的替代方案)

不需要手动配置用户 ID,未知用户在 DM 机器人时会收到一次性的配对码:

# 用户看到:"配对码: XKGH5N7P"

您批准他��:

hermes pairing approve telegram XKGH5N7P

其他配对命令:

hermes pairing list # 查看待批准 + 已批准用户 hermes pairing revoke telegram # 移除访问权限

配对码 1 小时后过期,有速率限制,使用加密随机数。

平台 语音 图片 文件 线程 表情 打字 流式 Telegram ✅ ✅ ✅ ✅ — ✅ ✅ Discord ✅ ✅ ✅ ✅ ✅ ✅ ✅ Slack ✅ ✅ ✅ ✅ ✅ ✅ ✅ WhatsApp — ✅ ✅ — — ✅ ✅ Signal — ✅ ✅ — — ✅ ✅ 飞书/Lark ✅ ✅ ✅ ✅ ✅ ✅ ✅ 企业微信 ✅ ✅ ✅ — — ✅ ✅ 微信 ✅ ✅ ✅ — — ✅ ✅

Hermes Agent 支持通过 Open WebUIAPI Server 提供 Web 界面。

Open WebUI 是一个开源的 Web UI,可以连接到 Hermes 作为后端。

配置步骤

  1. 首先在 Hermes 中配置 API 服务器
  2. 然后将 Open WebUI 连接到 Hermes

具体配置请参考官方文档:Open WebUI + API Server

Hermes 也提供 API 服务器模式,可以通过 HTTP API 访问。

Hermes 支持 Webhooks,可以接收外部 HTTP 请求触发。

具体配置请参考官方文档:Webhooks


Hermes Agent 可以作为飞书或 Lark 机器人进行集成,支持私聊和群聊、定时任务通知、文本/图片/音频/文件附件等。

支持两种连接模式:

模式 说明 适用场景 websocket(推荐) Hermes 主动建立出站连接,无需公网地址 笔记本、工作站、私有服务器 webhook 飞书推送事件到 Hermes 的 HTTP 端点 已有公网可访问的 HTTP 服务
方式一:扫码创建(推荐)
hermes gateway setup 

选择 Feishu / Lark,使用飞书或 Lark 移动端应用扫描二维码。Hermes 会自动创建机器人应用并保存凭证。

方式二:手动创建
  1. 打开飞书开发者控制台:
    • 飞书:https://open.feishu.cn/
    • Lark:https://open.larksuite.com/
  2. 创建新应用
  3. 凭证与基础信息 中复制 App IDApp Secret
  4. 启用应用的 机器人 能力
  5. 运行 hermes gateway setup,选择 Feishu / Lark 并输入凭证

⚠️ 注意:请妥善保管 App Secret,拥有它的人可以冒充您的应用。

WebSocket 模式(推荐)

当 Hermes 运行在笔记本、工作站或私有服务器时使用,无需公网 URL:

FEISHU_CONNECTION_MODE=websocket 

要求:需要安装 websockets Python 包。SDK 会自动处理连接生命周期、心跳和自动重连。

Webhook 模式

仅当您已有可访问的 HTTP 端点时使用:

FEISHU_CONNECTION_MODE=webhook 

在 webhook 模式下,Hermes 启动 HTTP 服务器(通过 aiohttp),端点路径为 /feishu/webhook

可自定义 webhook 服务器配置:

FEISHU_WEBHOOK_HOST=127.0.0.1 # 默认:127.0.0.1 FEISHU_WEBHOOK_PORT=8765 # 默认:8765 FEISHU_WEBHOOK_PATH=/feishu/webhook # 默认:/feishu/webhook 
方式一:交互式配置
hermes gateway setup 

选择 Feishu / Lark 并按提示填写。

方式二:手动配置

~/.hermes/.env 中添加:

FEISHU_APP_ID=cli_xxx FEISHU_APP_SECRET=secret_xxx FEISHU_DOMAIN=feishu FEISHU_CONNECTION_MODE=websocket

可选但强烈推荐

FEISHU_ALLOWED_USERS=ou_xxx,ou_yyy FEISHU_HOME_CHANNEL=oc_xxx

FEISHU_DOMAIN 取值:

  • feishu - 飞书(中国)
  • lark - Lark(国际版)
hermes gateway 

然后从飞书/Lark 给机器人发送消息,确认连接正常。

场景 行为 私聊 Hermes 响应每条消息 群聊 仅当 @提及 机器人时响应 共享群聊 默认每个用户有独立的会话历史

共享群聊行为可通过 config.yaml 控制:

group_sessions_per_user: true 

设为 false 则整个群聊共享一个对话。

用户白名单

生产环境建议设置飞书 Open ID 白名单:

FEISHU_ALLOWED_USERS=ou_xxx,ou_yyy 

如果白名单为空,任何能访问机器人的用户都可以使用它。

Webhook 加密密钥

在 webhook 模式下,设置加密密钥以启用签名验证:

FEISHU_ENCRYPT_KEY=your-encrypt-key 

此密钥可在飞书应用配置的 事件订阅 部分找到。

验证令牌

额外的身份验证层:

FEISHU_VERIFICATION_TOKEN=your-verification-token 

FEISHU_GROUP_POLICY 环境变量控制群聊响应行为:

值 行为 open 响应任何用户在任何群中的 @提及 allowlist 仅响应白名单用户的 @提及(默认) disabled 忽略所有群消息

在飞书/Lark 聊天中使用 /set-home 将其标记为定时任务结果和跨平台通知的主页频道。

也可以预配置:

FEISHU_HOME_CHANNEL=oc_xxx 

当用户点击机器人发送的交互式卡片按钮时,适配器将其路由为 /card 命令事件。

必须的飞书应用配置(交互式卡片)

交互式卡片需要在飞书开发者控制台完成 三项 配置:

  1. 订阅卡片操作事件:在 事件订阅 中添加 card.action.trigger
  2. 启用交互式卡片能力:在 应用功能 > 机器人 中启用 消息卡片 开关
  3. 配置卡片请求 URL(仅 webhook 模式):在 应用功能 > 机器人 > 消息卡片请求 URL 设置与事件 webhook 相同的端点

⚠️ 警告:缺少任何配置都会导致点击卡片按钮时返回错误 。

接收媒体
类型 扩展名 处理方式 图片 .jpg, .jpeg, .png, .gif, .webp, .bmp 通过飞书 API 下载并缓存 音频 .ogg, .mp3, .wav, .m4a, .aac, .flac, .opus, .webm 下载并缓存 视频 .mp4, .mov, .avi, .mkv, .webm, .m4v, .3gp 作为文档下载缓存 文件 .pdf, .doc, .docx, .xls, .xlsx, .ppt, .pptx 等 作为文档下载缓存
发送媒体
方法 发送内容 send 文本或富文本消息 send_image / send_image_file 图片气泡(可选标题) send_document 文件附件 send_voice 音频文件附件 send_video 视频消息

当输出文本包含 markdown 格式时,适配器会自动将其作为飞书 帖子 消息发送,支持富文本渲染。

如果飞书 API 拒绝帖子内容,会自动回退为纯文本发送。

适配器收到消息后会立即添加 ✅ 表情反应,表示消息已接收并正在处理。

变量 必需 默认值 说明 FEISHU_APP_ID ✅ — 飞书/Lark App ID FEISHU_APP_SECRET ✅ — 飞书/Lark App Secret FEISHU_DOMAINfeishu feishu(中国)或 lark(国际) FEISHU_CONNECTION_MODEwebsocket websocketwebhook FEISHU_ALLOWED_USERS — (空) 用户白名单 Open ID,逗号分隔 FEISHU_HOME_CHANNEL — — 定时任务/通知输出的聊天 ID FEISHU_ENCRYPT_KEY — (空) Webhook 签名验证加密密钥 FEISHU_VERIFICATION_TOKEN — (空) Webhook 载荷验证令牌 FEISHU_GROUP_POLICYallowlist 群消息策略: openallowlistdisabled FEISHU_BOT_OPEN_ID — (空) 机器人的 open_id(用于 @提及 检测) FEISHU_BOT_NAME — (空) 机器人显示名称 FEISHU_WEBHOOK_HOST127.0.0.1 Webhook 服务器绑定地址 FEISHU_WEBHOOK_PORT8765 Webhook 服务器端口 FEISHU_WEBHOOK_PATH/feishu/webhook Webhook 端点路径
问题 解决方案 lark-oapi not installed 安装 SDK: pip install lark-oapi websockets not installed 安装: pip install websockets aiohttp not installed 安装: pip install aiohttp 机器人不在群聊中响应 确保机器人被 @提及,检查 FEISHU_GROUP_POLICY 和白名单 Webhook rejected: invalid verification token 确保 FEISHU_VERIFICATION_TOKEN 匹配飞书应用配置 Webhook rejected: invalid signature 确保 FEISHU_ENCRYPT_KEY 匹配飞书应用配置 图片/文件未被机器人接收 为飞书应用授予 im:messageim:resource 权限 错误 (点击按钮) 启用交互式卡片能力并配置卡片请求 URL

如果您之前使用 OpenClaw,可以自动迁移设置:

# 交互式迁移 hermes claw migrate

预览迁移内容

hermes claw migrate –dry-run

仅迁移用户数据(不含密钥)

hermes claw migrate –preset user-data

覆盖已存在的内容

hermes claw migrate –overwrite

迁移内容包括:

  • SOUL.md(个性文件)
  • 记忆(MEMORY.md 和 USER.md)
  • 技能
  • 命令白名单
  • 消息设置
  • API 密钥
  • TTS 资源
~/.hermes/ ├── config.yaml # 主配置文件 ├── memories/ # 持久化记忆 ├── skills/ # 用户技能 ├── sessions/ # 会话历史 └── context/ # 上下文文件 
  1. 命令未找到
    source ~/.zshrc

或重新打开终端

  • Python 版本问题
    # 检查 Python 版本 python3 –version
  • 使用指定版本

    uv venv venv –python 3.11

  • 权限问题
    # 确保脚本有执行权限 chmod +x ~/.hermes/scripts/* 
  • hermes doctor 
    • 📚 官方文档
    • 💬 Discord 社区
    • 🐛 问题反馈
    • 💡 讨论区
    • 🔌 Skills Hub
    • 📦 GitHub 仓库

    MIT License — 详见 LICENSE。

    小讯
    上一篇 2026-04-18 17:39
    下一篇 2026-04-18 17:37

    相关推荐

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
    如需转载请保留出处:https://51itzy.com/kjqy/269821.html