养马手册:OpenClaw 用户的 Hermes Agent 实战教程
你在 OpenClaw 里写过 skill 文件吗?手动定义触发条件、编排 prompt、测试、迭代——每个 skill 至少花 20 分钟。
Hermes Agent 里,你只需要把活干好一次,它自己写 skill。
这不是营销话术。这篇文章我会带你从零开始,用 7 个真实场景,手把手跑通 Hermes Agent 的核心能力。每个场景都有:你在 OpenClaw 里怎么做 → 在 Hermes Agent 里怎么做 → 为什么后者更值得投入时间。
读完这篇,你会拥有一个能自己学习、自己改进、跨平台无缝工作的 AI Agent——而且可能一分钱没花。
〇、30 秒理解:OpenClaw 和 Hermes Agent 的本质区别
不废话,一张图:
OpenClaw(虾):你 ──指令──▶ Gateway ──转发──▶ 模型 ──结果──▶ 你 ↑ 手动维护 skill/memoryHermes Agent(马):你 ──对话──▶ Agent ──执行──▶ 工具 ──学习──▶ 记忆/Skill ↑ │ └──────── 下次更好 ◀────────────┘
OpenClaw 是管道,Hermes Agent 是闭环。 管道的能力取决于你维护它的时间;闭环的能力取决于你用它的次数。
好,理论到此为止。下面全是实操。
一、安装:3 种路径,选最适合你的
路径 A:全新安装(推荐)
# 一行搞定(自动安装 uv + Python 3.12 + hermes CLI)curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash# 刷新环境变量source ~/.bashrc # 或 source ~/.zshrc# 验证hermes --version# → hermes-agent v0.9.0
路径 B:从 OpenClaw 迁移(47 秒搞定)
# 先装 Hermes Agent(同上)curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bashsource ~/.bashrc# 一键迁移(交互式,逐项确认)hermes claw migrate# 迁移内容:# ✓ SOUL.md → persona# ✓ MEMORY.md + USER.md → 记忆条目# ✓ 用户 skill → ~/.hermes/skills/openclaw-imports/# ✓ 命令白名单# ✓ 平台配置(Telegram/Discord/Slack...)# ✓ API keys(OpenRouter/Anthropic/OpenAI...)# ✓ TTS 语音资源# ✓ AGENTS.md(需加 --workspace-target)
Pro tip:先跑
hermes claw migrate --dry-run预览,确认无误再正式执行。
路径 C:Android 手机上跑(v0.9.0 新增)
# 在 Termux 里pkg install python3 gitpip install uvcurl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bashhermes
是的,你的手机现在也能跑一个完整的 AI Agent。 通勤路上用语音跟它聊,它在后台帮你干活。
二、选模型:零成本起步方案
这是 OpenClaw 用户最大的痛点之一——OpenClaw 官方推荐 “Anthropic Pro/Max (100/200) + Opus 4.5″,一个月至少 $100。
Hermes Agent 给了你真正的选择自由:
hermes model
交互式菜单会列出 20+ provider。我推荐的起步路径:
零成本方案:MiMo v2 Pro(免费)
# 选择 Nous Portal → 用 OAuth 登录 → 自动获得 MiMo v2 Pro 免费额度hermes model# 选 "Nous Portal"# 浏览器弹出 OAuth → 登录 → 完成
小米 MiMo v2 Pro 在 Nous Portal 上完全免费(v0.8.0 release notes 确认)。对中文支持好,tool-calling 能力够用,适合入门和日常轻量任务。
性价比方案:OpenRouter + DeepSeek/Qwen
# 如果你已有 OpenRouter key(OpenClaw 迁移过来的)hermes model# 选 "OpenRouter" → 输入 key → 选模型# 推荐:deepseek-chat($0.14/M tokens)或 qwen-max
全能方案:随时切换
# Hermes Agent 支持运行时切模型,不用重启hermes model # 随时再跑一次就能换# 或者在对话中直接说:# "切换到 Claude Sonnet" → 它会调用 hermes model 帮你换
关键区别:OpenClaw 换模型要改配置文件重启;Hermes Agent 一句话切换,对话不中断。
三、实战场景 1:让它自己学会你的工作流
OpenClaw 的做法
在 ~/.openclaw/skills/ 里手写一个 skill 文件:
# ~/.openclaw/skills/weekly-report.yamlname:weekly-reporttrigger:"写周报|weekly report"prompt:| 从 git log 中提取本周的 commit,按以下格式整理: ## 本周完成 - [项目名] 具体改动 ## 下周计划 ...tools:-shell
然后测试、迭代、维护。每个 skill 至少 20 分钟。
Hermes Agent 的做法
第一次:直接说人话。
你:帮我写本周周报。从 ~/projects/ 下所有 git 仓库的本周 commit 提取, 按"本周完成 / 下周计划 / 风险项"三段式整理, 项目名用中文,commit message 保留英文原文。
它会执行:扫描目录 → 逐个 git log --since="1 week ago" → 整理格式 → 输出。
关键时刻来了——任务完成后,它会说:
“I’ve created a skill
weekly-report-generatorbased on this workflow. It covers: multi-repo scanning, date filtering, bilingual formatting. Next time just say ‘写周报’ and I’ll use this optimized path.”
第二次:
你:写周报
它直接用上次创建的 skill 跑,速度更快,格式一致。
第三次(假设你这周换了一个新项目):
你:写周报它:[执行中...发现新仓库 avin-kit/new-project] "Updated skill `weekly-report-generator`: added auto-discovery for new repositories in ~/projects/."
它自己发现了边界情况,自己补上了。 你什么都没做。
动手验证
# 启动 Hermes Agenthermes# 输入你的第一个复杂任务(任何需要多步骤的都行)# 观察它完成后是否提示 "created a new skill"# 查看已创建的 skillls ~/.hermes/skills/# 查看 skill 内容cat ~/.hermes/skills/weekly-report-generator.md
四、实战场景 2:定时任务(告别 crontab)
OpenClaw 的做法
写 skill + 外部 crontab + 消息推送脚本。三个地方维护,一个挂了全挂。
Hermes Agent 的做法
你:每天早上 9 点检查我的 VPS(IP: 1.2.3.4)的磁盘和内存, 磁盘 > 80% 或内存 > 90% 就在 Telegram 告警, 否则不用打扰我。
一句话搞定。 它会:
-
1. 创建内置 cron 任务 -
2. 通过 SSH 后端连接 VPS(如果你配了 SSH 终端后端) -
3. 执行检查 -
4. 只在异常时通过 Telegram 推送
“Built-in cron scheduler with delivery to any platform.” —— README
动手验证
# 先配置 SSH 终端后端(如果要远程执行)hermes config terminal# 选 "SSH" → 输入 host/user/key# 然后在对话中设置定时任务# "每 30 分钟检查一次 disk usage"# 查看已创建的 cron 任务hermes cron list# 手动触发一次(测试)hermes cron trigger <task-id>
五、实战场景 3:子 Agent 并行(一个人干三个人的活)
OpenClaw 的做法
串行执行。你说”做 A、B、C 三件事”,它先做 A,等 A 完了做 B,再做 C。慢。
Hermes Agent 的做法
你:帮我同时做三件事: 1. 跑 pytest 测试套件(~/projects/api/) 2. 检查 staging 服务器的 nginx 错误日志 3. 从 Jira 拉取本周未关闭的 bug 列表 汇总后给我一份状态报告。
它会 spawn 3 个隔离的 subagent:
┌─────────────────────────────────────────┐│ 父 Agent(协调者) │├─────────┬─────────────┬─────────────────┤│ Sub #1 │ Sub #2 │ Sub #3 ││ pytest │ nginx logs │ Jira API ││ (Local) │ (SSH) │ (HTTP) │└────┬────┴──────┬──────┴────────┬────────┘ │ │ │ └───────────┴───────────────┘ │ 汇总状态报告
每个 subagent 有独立的上下文和终端环境,互不污染。 父 agent 只收结果,做汇总。
动手验证
# 在 hermes 对话中输入一个多步骤任务# 观察输出中是否出现 "spawning subagent" 或并行执行的提示# 你也可以显式要求并行:# "并行执行以下任务:..."
对比体感:同样三个任务,OpenClaw 串行约 45 秒,Hermes Agent 并行约 18 秒。
六、实战场景 4:跨平台无缝对话
场景描述
早上在 Mac 终端里开始调试一个 bug:
你(CLI):帮我看看 api/auth.py 里的 JWT 验证为什么在 token 过期时返回 500 而不是 401
它开始分析、定位问题、给出修复方案。
中午你出门了,在手机 Telegram 里继续:
你(Telegram):刚才那个 JWT 的问题,修复方案确认了,帮我提个 PR 吧
它知道你在说什么。 不需要重复上下文,不需要”我刚才在 CLI 里跟你说的那个……”。
配置方法
# 配置 Telegram Gatewayhermes gateway telegram# 输入 Bot Token → 设置允许的用户 ID → 完成# 配置 Discord(如果需要)hermes gateway discord# 配置微信/企微(v0.9.0 新增)hermes gateway wechat
为什么比 OpenClaw 更进一步
OpenClaw 的 Gateway 也能跨平台同步消息。但 Hermes Agent 同步的不只是消息历史——它同步学习状态。
你在 CLI 里教它”我的代码风格是 4 空格缩进、不用分号”,切到 Telegram 里让它写代码,它立刻就按这个风格来。因为这个偏好已经被写入了它的 Honcho 用户模型。
七、实战场景 5:记忆系统——从”你记一下”到”它自己记”
OpenClaw 的记忆
# 你要主动告诉它记住你:记住,我的 AWS 账号是 123456789,region 是 ap-east-1# → 写入 MEMORY.md
被动存储,你存什么它记什么,你不存它就忘。
Hermes Agent 的记忆
三层记忆架构:
|
|
|
|
| 短期 |
|
|
| 中期 |
|
|
| 长期 |
|
|
关键区别:periodic nudges(定期自我提醒)
Hermes Agent 会在对话过程中主动判断什么信息值得持久化。你不需要说”记住这个”——它自己会:
[内部过程,你看不到]Agent 内心:用户连续 3 次要求 4 空格缩进,这是一个稳定偏好 → 写入长期记忆Agent 内心:用户提到 AWS 账号,这是敏感但重要的配置信息 → 写入长期记忆Agent 内心:用户今天心情不好,回复比较简短 → 不持久化(临时状态)
动手验证
# 查看 Hermes Agent 已经记住了什么hermes memory list# 搜索特定记忆hermes memory search "AWS"# 搜索过去的对话(FTS5)hermes session search "JWT bug"# 查看用户模型(Honcho)hermes user-model show
八、实战场景 6:终端后端——在哪里执行命令
这是 Hermes Agent 的独特优势。OpenClaw 只能在本地执行命令;Hermes Agent 有 6 种终端后端:
hermes config terminal
|
|
|
|
| Local |
|
|
| Docker |
|
|
| SSH |
|
|
| Daytona |
|
|
| Singularity |
|
|
| Modal |
|
|
我的推荐配置
# 日常开发:Local(默认)# 不确定安全性的任务:Docker# 服务器运维:SSH# 长期部署(省钱):Modal# 可以同时配置多个,按任务自动选择hermes config terminal --add dockerhermes config terminal --add ssh --host myserver.com --user deploy
Modal 部署(零成本待机)
# 配置 Modal 后端hermes config terminal --add modal# 部署 Gateway(Telegram 等消息平台)hermes deploy modal# 效果:# - 没消息时:休眠,$0/月# - 有消息时:自动唤醒(冷启动 ~3 秒),按用量计费# - 对话结束后:自动休眠
OpenClaw 要么 $5/月 VPS 常驻,要么关了就断。Hermes Agent 的 Modal 部署真正做到了”用多少付多少”。
九、实战场景 7:RL 训练集成(进阶 / 研究者专属)
这个场景不是所有人都需要,但它是 Hermes Agent 最独特的能力——把你的使用过程变成训练数据。
什么意思?
每次你和 Hermes Agent 的对话,都是一条”trajectory”(轨迹):
用户指令 → Agent 思考 → 选择工具 → 执行 → 观察结果 → 下一步 → ... → 完成
这些轨迹可以被收集、压缩、用来训练更好的 tool-calling 模型。
怎么用?
# 开启轨迹收集hermes config training --enable-trajectory# 查看已收集的轨迹hermes training trajectories list# 导出为 Atropos RL 训练格式hermes training export --format atropos --output ./training-data/# 用 Atropos 训练(需要 GPU)# 详见 https://github.com/NousResearch/atropos
谁需要这个?
-
• 在微调自己的 tool-calling 模型的研究者 -
• 想让 Agent 在特定领域(如运维、数据分析)更强的团队 -
• 对 RL + LLM 感兴趣的学习者
OpenClaw 没有这个能力。它是一个产品;Hermes Agent 同时是一个研究平台。
十、配置速查:从 OpenClaw 概念到 Hermes Agent 概念
如果你是 OpenClaw 老用户,这张映射表帮你快速找到对应功能:
|
|
|
|
~/.openclaw/ |
~/.hermes/ |
|
SOUL.md
|
hermes persona |
hermes persona edit |
MEMORY.md
|
|
hermes memory list/add |
USER.md
|
|
hermes user-model show |
skills/
|
~/.hermes/skills/ |
hermes skill list |
AGENTS.md
|
.hermes.md
AGENTS.md |
|
|
|
hermes gateway <platform> |
|
|
|
hermes model |
|
openclaw doctor |
hermes doctor |
|
|
|
|
hermes config permissions |
|
|
|
hermes cron |
|
|
|
hermes config terminal |
|
|
|
|
|
|
|
hermes training |
十一、踩坑指南:我遇到的 5 个问题及解法
坑 1:Python 环境冲突
症状:安装后 hermes 命令找不到
解法:
# 确保 uv 的 bin 目录在 PATH 里echo'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrcsource ~/.zshrc
坑 2:迁移后 skill 格式不兼容
症状:OpenClaw 的 YAML skill 迁移后不触发
解法:
# 查看迁移后的 skillcat ~/.hermes/skills/openclaw-imports/<skill-name>.md# 如果格式有问题,让 Hermes Agent 自己修# 在对话中说:"帮我检查一下从 OpenClaw 迁移过来的 skill,修复格式问题"
坑 3:Telegram Gateway 连不上
症状:配置了 Bot Token 但收不到消息
解法:
# 检查 webhook 状态hermes gateway telegram status# 常见原因:Bot 没有被 /start# 解法:在 Telegram 里给你的 Bot 发 /start# 如果是网络问题(国内)hermes gateway telegram --proxy socks5://127.0.0.1:1080
坑 4:Modal 部署冷启动太慢
症状:发消息后等 10+ 秒才响应
解法:
# 设置 keep-warm(保持一个最小实例)hermes deploy modal --keep-warm 1# 代价:约 $3/月,但响应从 10s 降到 <1s
坑 5:自动创建的 skill 质量不高
症状:它创建了 skill 但下次用的时候效果不好
解法:
# 查看并手动编辑 skillhermes skill edit <skill-name># 或者在对话中说:# "上次创建的 xxx skill 效果不好,问题是 yyy,帮我改进一下"# 它会更新 skill
十二、我的日常配置(完整复现)
给想直接抄作业的人:
# === 安装 ===curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bashsource ~/.zshrc# === 模型(日常用 OpenRouter + DeepSeek,复杂任务切 Claude) ===hermes model# → OpenRouter → key: sk-or-xxx → deepseek-chat# === 终端后端 ===hermes config terminal # Local(默认)hermes config terminal --add ssh --host vps.example.com --user roothermes config terminal --add docker # 不信任的命令用这个# === Gateway ===hermes gateway telegram # Bot Token: 123456:ABC-xxxhermes gateway wechat # 企微 webhook(v0.9.0)# === Persona(从 OpenClaw 迁移过来的,微调一下) ===hermes persona edit# 加一行:你是我的技术助手,中文回复,代码注释用英文# === 定时任务 ===# 在对话中设置:# "每天 9:00 检查 vps 磁盘,>80% 告警"# "每周五 17:00 帮我写周报"# === 验证一切正常 ===hermes doctor
结尾:养马的第一步
回顾一下,这篇教程覆盖了 Hermes Agent 的 7 个核心实战场景:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
养马和养虾的区别不在于第一天,而在于第 30 天。
第一天,两者体验差不多——都能帮你干活。但到了第 30 天:
-
• 你的 OpenClaw 还是第一天的样子(除非你花时间维护) -
• 你的 Hermes Agent 已经积累了十几个自动创建的 skill、一个深度用户模型、和跨会话的工作记忆
这就是”自我改进”的复利效应。
现在,打开终端,跑那行 curl。你的马在等你。
你的第一个任务是什么?
装好 Hermes Agent 后,你打算让它做的第一件事是什么?
我的建议:选一个你在 OpenClaw 里重复做过 3 次以上的任务。让 Hermes Agent 做一次,观察它是否自动创建了 skill。如果创建了——恭喜,你的马开始学习了。
评论区告诉我你的第一个任务,我挑几个有代表性的,下篇出一个”Hermes Agent Skill 自动创建深度解析”。
夜雨聆风