TL;DR: Hermes Agent 是 Nous Research 出品的开源 AI 助手框架,最大特点是有内置学习循环——它会从对话中创建技能、在使用中自我改进、跨会话记住你的偏好。它不是一个聊天机器人包装,而是一个跑得越久越聪明的自主代理。支持任意 LLM 端点、飞书/微信等 15+ 消息渠道、按需休眠的部署模式,可以跑在 $5 VPS 上。
它是什么
Hermes Agent 不是又一个聊天机器人套壳。
它是 Nous Research(就是做了 Hermes、Nomos、Psyche 模型那家实验室)出品的自改进 AI 代理。核心定位是:你的 AI 助手应该会自己学习和成长,而不是每次对话都从零开始。
大多数 AI 助手——不管接了多少 API、接了什么渠道——本质上都是"你问它答"。关掉对话窗口,它就什么都不记得了。下次打开,是个全新的助手。
Hermes Agent 想解决的是这个问题:让 AI 助手在多次会话中建立持久记忆和技能,像人一样越用越熟练。
核心特性一览
安装:一条命令搞定
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
支持 Linux、macOS、WSL2、Android(Termux)。Windows 不原生支持,需要装 WSL2。
装完之后:
hermes # 进入交互式 CLI
hermes model # 选择 LLM 提供商和模型
hermes tools # 配置启用的工具
hermes config set # 设置配置项
hermes gateway # 启动消息网关(接 Telegram/Discord 等)
hermes setup # 运行完整设置向导
hermes claw migrate # 从 OpenClaw 迁移(如果你在用的话)
内置学习循环:它的核心差异化
这是 Hermes Agent 和其他框架本质不同的地方。
记忆的四个层次
第一层:每次对话的自动摘要
对话结束后,Agent 用 LLM 生成这段对话的核心内容摘要。这个摘要不是给你看的,是给未来的自己看的。下一次对话,Agent 可以检索这些摘要,理解"之前我们聊过什么"。
第二层:FTS5 全文检索
摘要存入 SQLite FTS5 数据库,支持自然语言查询。你问"上次我们讨论的那个 Python 异步问题",Agent 能搜到相关记忆并关联上下文。
第三层:自动创建技能
当你在对话中完成了一个复杂任务(配置服务器、写一个完整的脚本、搭建一个项目),Agent 会自动把操作流程存成技能(Skill)。下次遇到类似任务,它可以直接调用,甚至在调用过程中继续优化这个技能。
第四层:Honcho 用户建模
Honcho 是塑料实验室(Plastic Labs)做的一个方言式用户建模项目。它会持续学习你的偏好:你的写作风格、常用技术栈、沟通习惯、语气特点。简单说,它在建立一个越来越像你的用户模型。
技能自我改进
这是最有趣的部分。
技能(Skills)不是一次性创建的。它会在每次调用时记录效果:如果这次调用很好地解决了问题,技能得到强化;如果效果不好,Agent 会在下一次主动优化这个技能的步骤。
# 查看自动创建的技能
ls ~/.hermes/skills/autogen/
# 查看技能内容
cat ~/.hermes/skills/autogen/my-nginx-setup.md
记忆系统详解
文件结构
~/.hermes/
├── memory/
│ ├── index.fts5 # 全文检索索引
│ └── sessions/ # 按会话整理的记忆片段
├── skills/
│ ├── autogen/ # Agent 自动创建的技能
│ └── installed/ # 手动安装的技能
├── honcho/ # 用户建模数据
├── config.yaml # 配置文件
└── logs/ # 操作日志
记忆工作流
你: "帮我搭一个 Docker + Nginx 的 Web 服务"
│
▼
┌─────────────┐
│ 执行任务 │ ← Agent 调用工具完成部署
└──────┬──────┘
│
▼
┌─────────────┐
│ 生成摘要 │ ← LLM 生成这段对话的核心内容
└──────┬──────┘
│
▼
┌─────────────┐
│ 存入 FTS5 │ ← 持久化到本地数据库
└──────┬──────┘
│
▼
┌─────────────┐
│ 创建技能 │ ← 操作流程被存为可复用技能
└─────────────┘
下一次你说:"再搭一个,,这次用 HTTPS"
│
▼
Agent 搜到之前的记忆 + 调用 Docker-Nginx 技能
│
▼
更快地完成任务,并可能改进这个技能
记忆的局限性
需要诚实说清楚几点:
记忆质量依赖底层模型:如果模型能力弱,摘要和检索的质量都会受影响
自动创建的技能有时会碎片化:Agent 可能为一次性的操作创建一个技能,导致技能库膨胀
黑盒程度比 OpenClaw 高:你不能直接打开文件看它记住了什么(虽然 FTS5 可以查)
跨技能关联需要手动:多个技能之间的依赖关系,Agent 不会自动维护
消息渠道:15+ 平台
支持的消息平台:
CLI(默认)
├── 即时通讯:Telegram · Discord · Slack · WhatsApp · Signal
├── 邮件/短信:Email · SMS
├── 国内平台:DingTalk · Feishu(飞书)· WeCom(企业微信)
├── Apple:BlueBubbles(iMessage)
└── 智能家居:Home Assistant
飞书支持已确认——官方文档有完整的平台对比表,Feishu/Lark 的 Voice、Images、Files、Threads、Reactions、Typing、Streaming 全部打✅,集成度并不低。
⚠️ 更正:我之前写的《OpenClaw vs Hermes》对比文章里,有一处错误——说 Hermes 不支持飞书。这是错的,特此更正。Hermes 支持飞书,支持情况良好。
模型支持:真正的自由
支持的提供商
切换模型的命令
# 交互式选择
hermes model
# 直接指定
hermes model openrouter:anthropic/claude-3-5-sonnet
hermes model nous:portal/gamma
hermes model kimi:moonshot-v1-128k
hermes model minimax:abab6-chat
最大的好处是:运行时切换,不需要改配置文件,不需要重启进程。
部署方式
六种终端后端
Modal 按需计费模式
这是 Hermes Agent 最有成本优势的地方。
传统方式:你在 VPS 上跑 AI 助手,不管有没有人问,机器都得开着,按月付租金。
Modal 方式:
空闲状态:Agent 环境完全休眠 → 不收费
收到消息:自动唤醒 Agent → 开始计费
计费方式:按实际使用时间算,精确到秒
理论上,你可以用 $5/month 的 Modal 用量跑一个全天候的 AI 助手。空闲时不产生费用,只有在处理消息时才会收费。
对于不想维持一台固定 VPS、又想 24 小时在线的人来说,这个模式很有吸引力。
最低配置需求
Modal:免费额度起步,按用量计费
VPS:$5/month 的小鸡可跑
本地:Python 3.11+,无 GPU 也行(用 API)
GPU 集群:支持,想跑本地模型也行
技能系统
技能是什么
技能(Skills)是 Agent 可以调用的一段程序化记忆。它不是 prompt,是有结构的操作步骤。
# 示例:一个技能的简化结构
name: docker-nginx-deploy
description: 使用 Docker 和 Nginx 部署 Web 服务
steps:
1. 创建 Docker network
2. 启动 Nginx 容器
3. 配置反向代理
4. 申请 Let's Encrypt 证书
triggers:
- "部署 web 服务"
- "用 nginx 跑一个站点"
技能的来源
自动创建:Agent 在完成复杂任务后自动生成,存在 ~/.hermes/skills/autogen/
手动安装:通过 agentskills.io 开放市场安装
# 搜索技能
hermes skills search <keyword>
# 安装技能
hermes skills install <skill-name>
# 查看已安装技能
hermes skills list
从 OpenClaw 迁移:
# Hermes 能识别 OpenClaw 的 skills 格式并导入
hermes claw migrate --import-skills
agentskills.io 开放标准
Hermes 支持 agentskills.io 定义的技能标准。这意味着:
OpenClaw 的技能可以被 Hermes 使用(格式兼容)
技能可以在不同框架之间迁移
社区可以共享和贡献技能
安全机制
Hermes 的安全模型围绕「不信任任何未授权用户」设计。
DM 白名单 / 配对码
默认策略:所有非白名单用户都会被拒绝。两种配置方式:
方式一:白名单
FEISHU_ALLOWED_USERS=ou_xxxxxxxx,ou_yyyyyyyy
TELEGRAM_ALLOWED_USERS=123456789,987654321
方式二:配对码审批
未授权用户首次 DM 会收到配对码,管理员审批后才放行:
hermes pairing approve telegram XKGH5N7P # 审批
hermes pairing list # 查看待审批
hermes pairing revoke telegram 123456789 # 撤销权限
配对码 1 小时过期,有频率限制。
审批工作流
高风险操作可配置为需要审批:
hermes approvals list # 查看待审批
hermes approvals approve <id>
hermes approvals deny <id>
可配置级别:
none:完全信任
tool_call:每次工具调用都审批
high_risk:只审批高风险操作(删除文件、发送外部请求等)
审计日志
hermes logs # 查看最近操作
hermes logs --filter tool # 只看工具调用
hermes logs --export json # 导出 JSON
日志内容:时间戳、操作类型、输入参数、执行结果、关联会话 ID。
从 OpenClaw 迁移
如果你已经在用 OpenClaw,迁移成本很低。
# 方式一:交互式迁移向导
hermes claw migrate
# 方式二:预览迁移内容(不实际执行)
hermes claw migrate --dry-run
# 方式三:只迁移用户数据,跳过密钥
hermes claw migrate --preset user-data
# 方式四:覆盖已有冲突文件
hermes claw migrate --overwrite
会迁移的内容:
迁移完成后,你的 Hermes Agent 会以相似的人格和记忆启动,不需要从零开始重建。
实际使用体验
适合的场景
想让 AI 自我成长——你不想手动维护 MEMORY.md,希望 AI 自动记住你说过的重点、你的偏好、你的工作习惯。
预算敏感——你想在 $5 VPS 上跑,或者用 Modal 按需计费模式(空闲休眠不收费)。
需要灵活切换模型——你想试验不同的模型,随时切换,不想改配置重启。
在用 OpenClaw 但想要学习循环——直接迁移,零成本切换。
不适合的场景
需要飞书/微信深度集成——如果需要飞书云盘 API、微信支付这类深度功能,目前 OpenClaw 集成更深。
习惯文件透明——OpenClaw 的记忆在 .md 文件里,你可以随时打开看。Hermes 的记忆在 FTS5 数据库里,检索方便但不能直接编辑。
想要开箱即用的产品体验——OpenClaw 的 Onboarding 流程更完善,配对 App、Canvas、Control UI 这些功能是它特有的。
和 OpenClaw 的关系
Hermes Agent 明确支持从 OpenClaw 迁移,OpenClaw 是 Hermes 官方推荐的「上一代」方案。
但这两者不是替代关系,更像是互补:
OpenClaw → 你管理,文件透明,渠道覆盖广
Hermes Agent → AI 自动进化,更灵活,按需计费
你完全可以同时跑两个:
用 Hermes Agent 做主力 AI(自我学习 + 灵活模型)
用 OpenClaw 接飞书/微信(渠道独占)
用 HybridClaw 做团队层(审批流 + 审计)
总结
Hermes Agent 的核心价值是内置学习循环。它不是帮你管理助手,而是帮你养一个会成长的 AI。
当你用它的时间越长,它就越了解你。它的技能库会越来越大,记忆会越来越准,回答会越来越贴合你的风格。这在其他框架里需要你手动维护的东西,它自己在做。
代价是:比 OpenClaw 更高的黑盒程度,对模型能力的依赖,以及更陡的学习曲线(毕竟是 Python 技术栈,配置比 npm 安装复杂一点)。
如果你想认真做一个长期使用的 AI 助手,Hermes Agent 值得投入。
技术没有捷径,但有方向