01
Hermes Agent 是什么:自带学习循环的开源 Agent
Hermes Agent 是 Nous Research 出品的免费开源 AI Agent(MIT 协议),macOS、Windows、Linux 都能跑。大多数 Agent 用完即忘,它的差异点在于内置学习循环:对话之外会周期性地做一次自我评审,把值得留的东西自动写进两套存储——持久记忆(你的偏好、环境事实、踩过的坑)和技能(可复用的操作流程,写成 SKILL.md,下次像命令一样调用)。
它同样是一台「可长期自主运行」的机器:通过网关接到 Telegram、Discord、Slack、WhatsApp、Signal、Email,定时任务用内置 cron,还能派生隔离子 Agent 并行干活。新版本支持完全本地跑开源模型(管理自己的 llama.cpp 运行时,或接 Ollama 等 OpenAI 兼容端点)——模型和记忆都在你机器上,数据不出门。
和仓库里的编码 Agent(Claude Code、Codex 那类)比,定位并不重叠:编码 Agent 围绕「一个仓库里的任务」设计,会话结束基本就散了;Hermes 围绕「一个长期跟着你的助手」设计——跨平台收发消息、跨会话记住你和项目、把重复劳动沉淀成技能。当然它也能读代码、跑命令、写文件,纯当编码助手用完全没问题,只是它的杀手锏在「记得住」。
- 出品方
- Nous Research
- 开源协议
- MIT
- 仓库 / 官网
- github.com/NousResearch/hermes-agent · hermes-agent.nousresearch.com
- 当前版本
- v0.22.x(写作时,以仓库 Releases 为准)
- 平台
- macOS 12+ / Windows 10+ / Linux / WSL2 / Android(Termux)
- 数据目录
- ~/.hermes/
- 技能 / 记忆
- ~/.hermes/skills/ · ~/.hermes/memories/
- 版本迭代速度
- 极快,命令与配置以官方文档当前版为准
02
安装:脚本一条命令,桌面版双击
CLI 和桌面 App 共用同一套 Agent、技能与记忆,装一种即可,两种都装也不冲突。
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
# 验证 + 自检
hermes --version
hermes doctor
iex (irm https://hermes-agent.nousresearch.com/install.ps1) hermes --version
# macOS 12+:官网下载 Hermes-Setup.dmg # Windows 10/11:Microsoft Store 搜 Hermes,或官网下载 Hermes-Setup.exe # 按引导连接模型供应商后,即可开始对话 # Bot 模式、技能审批等都在图形界面里操作
hermes serve 起后端。
hermes update 升级,再 hermes doctor --fix 自检配置;「以官方安装页与仓库 Releases 为准」在这里不是客套话。03
第一次启动:接模型、说第一句话
hermes setup --portal # 交互向导:一次 OAuth 配好模型 + 网关工具 hermes chat # 进入交互对话 > /status # 会话信息 + 本地摘要 > /help skills # 只看技能相关的帮助 > /quit
-
01
接一个模型供应商
最快是
hermes setup --portal:一次 OAuth 同时拿到模型与 Tool Gateway 工具。也可以用hermes model交互选择 Nous Portal、OpenRouter、OpenAI 或任意 OpenAI 兼容端点。 -
02
在对话里试一个真实任务
给它一件会重复做的事,比如「总结这个仓库最近一周的改动并写份周报」。工具调用默认会请求批准,先熟悉它的审批面板。
-
03
确认它记住了你
退出重进后说「还记得我上次让你干什么吗」。它的长期记忆在会话开始时注入,跨会话生效;
hermes journey能看它学到了什么的时间线。
hermes config set OPENROUTER_API_KEY sk-or-… 会写进 ~/.hermes/.env;非密钥配置统一在 ~/.hermes/config.yaml。日常巡检:五个高频诊断命令
hermes status --full # Agent、凭证、平台全量状态 hermes doctor --fix # 配置与依赖体检,能修的直接修 hermes logs # 看 / 过滤 agent、gateway、error 日志 hermes usage # 当前账户的用量与限流窗口 hermes sessions list # 历史会话都在,可续聊
还有一个网页版管理台:hermes dashboard,改配置、填密钥、管会话都在浏览器里点点就行。
长会话救急:压上下文,别硬扛
> /context # 看上下文窗口被什么占了 > /compress 保留架构结论 # 手动压缩,可指定要留的重点 > /undo # 撤掉最近一次问答再重问 > /new # 彻底重开;记忆快照重新加载
04
记忆与技能:它靠什么「越用越懂你」
持久记忆:两份小文件
核心记忆就是 ~/.hermes/memories/ 下的两个文件:MEMORY.md(环境事实、项目约定、经验教训,上限约 2200 字符)和 USER.md(你的偏好与沟通风格,上限约 1375 字符)。它们在会话开始时冻结成快照注入提示词——会话中它写的新记忆立即落盘,但要到下一次会话才进提示词。历史会话则存在 SQLite(~/.hermes/state.db)里,用 FTS5 全文检索按需召回,几乎零 token 成本。
记忆是按 profile 隔离的:默认档案读 ~/.hermes/memories/,名为 work 的档案读 ~/.hermes/profiles/work/memories/。如果你发现它「忘了」某件事,先确认没切错档案,再直接 cat 那两个文件看它到底记没记。
cat ~/.hermes/memories/MEMORY.md # 它记了什么,一目了然 hermes memory setup # 可选:接入外部语义记忆供应商 hermes journey # 学习时间线:哪些记忆/技能何时产生
技能:写成文件的流程
技能是目录 ~/.hermes/skills/<名字>/ 下的 SKILL.md:YAML frontmatter(name、description、version…)加正文(When to Use / Procedure / Pitfalls / Verification)。Agent 通过 skill_manage 工具自己创建和修改技能;/learn 能把本地文档、URL、笔记整本蒸馏成技能。技能走「渐进披露」:先看技能列表(约 3k token),用到哪个再加载哪个,不会撑爆上下文。
--- name: weekly-report description: 整理 git log 按固定格式产出周报 version: 1.0.0 --- ## When to Use 用户要求整理一周改动 / 产出周报时。 ## Procedure 1. git log --since="7 days ago" 取提交 2. 按 功能/修复/其他 分组 …… ## Pitfalls merge 提交不要重复计数。 ## Verification reports/ 下生成的文件能通过用户确认。
这是结构示意,不是它的某份真实文件;具体字段(platforms、requires_toolsets 等进阶项)以官方 Skills 文档为准。技能还可以带 references/、scripts/、templates/ 等子目录。
hermes skills list # 本地技能一览 hermes skills search <关键词> # 从 Skills Hub 搜 hermes skills install <名> # 安装(自动做安全扫描) > /skills pending # 开 write_approval 后,待批的写入在这里 > /skills diff <id> # 看它想改什么 > /skills approve <id> # 批准落盘
学习循环:后台评审 + 策展器
每轮对话结束后,后台会跑一次自我评审:把值得沉淀的内容写成记忆或技能(提示词里表现为「💾 Memory updated」这类通知),频率用 memory.nudge_interval / skills.creation_nudge_interval 调节;/refine 让它立刻评审一轮。后台还有一个策展器(curator)负责技能的日常维护——去重、瘦身、修错,hermes curator lock <技能> 可以把重要技能设为只读,防止它越改越歪。
长期自主:网关、cron 与 Bot 模式
把常驻的 hermes gateway 接上任意消息平台,它就是一个 24 小时在线的助手;/heartbeat 与 /loop 让它在空闲时定期自检推进;Bot 模式把多个 profile 变成一群「有独立模型、记忆、技能和人设(SOUL.md)的 Bot」,各自挂各自的 cron 例行任务。自主运行的安全阀在下面第 07 节展开。
hermes profile create # 一个 profile 就是一个 Bot 的全部家当 hermes gateway start # 常驻网关,接管各消息平台的收发 hermes cron list # 例行任务一览(Bot 的任务带 bot:<名> 前缀) # config.yaml 里与自主运行相关的安全阀 approvals.single_query_mode: deny # 一次性请求默认拒绝自动执行 agent.bot_mode_protocol: on # Bot 群聊协议(默认开)
05
速查表:概念、命令、操作、配置一张表
这块能搜。忘了某个入口直接搜 技能、记忆、模型 这样的词。
| 概念 | 是什么 |
|---|---|
| 长期记忆 MEMORY.md | ~/.hermes/memories/ 下,约 2200 字符(≈800 token),每次会话开始注入 |
| 用户画像 USER.md | 你的偏好与沟通风格,约 1375 字符(≈500 token) |
| 冻结快照 | 记忆在会话开始时注入并固定;会话内新写入只落盘,下次会话生效 |
| 会话检索 FTS5 | ~/.hermes/state.db(SQLite)全文检索历史会话,按需召回、零 token 成本 |
| 外部语义记忆 | hermes memory setup 接入(Mem0、Honcho 等),与内置记忆并行不替代 |
| 技能 SKILL.md | ~/.hermes/skills/<名>/SKILL.md,YAML frontmatter + When to Use/Procedure/Pitfalls/Verification |
| 学习循环 | 每轮后台自我评审,自动沉淀记忆/技能;/refine 立即触发一次 |
| 策展器 curator | hermes curator 后台维护技能质量;curator lock 把技能设为只读 |
| 写审批 write_approval | memory.write_approval / skills.write_approval 开启后,写入先进 ~/.hermes/pending/ 待批 |
| profile 档案 | ~/.hermes/profiles/<名>/,独立配置、模型、记忆、技能、凭证;SOUL.md 定人设 |
| 网关 gateway | hermes gateway 把 Agent 常驻接到 Telegram / Discord / Slack / WhatsApp / Signal / Email |
| 沙箱 terminal | 命令执行后端:local / Docker / SSH / Singularity / Modal 等五种 |
| 子 Agent | 隔离的并行工作流;/bg 把任务丢到后台会话,/agents 看活跃任务 |
| journey 时间线 | hermes journey(别名 learning / memory-graph):它学到的记忆与技能的成长记录 |
| 渐进披露 | 技能按需加载:列表约 3k token → 展开单个 SKILL.md → 再读其参考文件 |
| SOUL.md | 每个 profile 的人设文件;Bot 的性格、口吻、行为边界都写在这里 |
| 命令 | 作用 |
|---|---|
| curl -fsSL …/install.sh | bash | macOS / Linux / WSL2 官方安装脚本 |
| iex (irm …/install.ps1) | Windows PowerShell 官方安装命令 |
| hermes setup --portal | 交互向导:一次 OAuth 配好模型与 Tool Gateway 工具 |
| hermes chat | 交互对话主入口(全局参数:--resume、--continue、--yolo 等) |
| hermes -z "<提示>" | 程序化一次性调用:只输出最终回复文本 |
| hermes model | 交互选择默认供应商与模型(含本地模型目录) |
| hermes status [--full] | Agent、凭证、平台状态 |
| hermes doctor [--fix] | 诊断并修复配置与依赖问题 |
| hermes update | 升级到最新稳定版并重装依赖 |
| hermes serve | 无头后端服务器(供桌面 App / 远程接入) |
| hermes backup / import | 把 ~/.hermes 打包备份 / 从 zip 恢复 |
| hermes profile create / list | 管理多个隔离档案(Bot 的载体) |
| hermes cron list / status | 例行任务调度器;create、pause、runs 等子命令齐全 |
| hermes gateway start / status | 常驻消息网关:跑起来、看状态、装成系统服务 |
| hermes dashboard | 打开网页版管理台(配置、密钥、会话) |
| hermes logs [名称] | 查看 / 跟踪 agent、gateway、error 日志 |
| hermes uninstall | 卸载 |
| 斜杠命令 | 作用 |
|---|---|
| /help [关键词] | 帮助面板,支持按关键词过滤 |
| /new [名] | 新开会话(别名 /reset);记忆快照下次会话刷新 |
| /model [名] | 查看/切换模型;--provider、--reasoning 等旗标 |
| /status | 会话信息与本地摘要 |
| /context | 上下文窗口占用可视化(别名 /ctx) |
| /compress [焦点] | 手动压缩上下文 |
| /memory [pending|approve|reject] | 记忆写审批:查看/批准/拒绝待写入 |
| /skills [pending|diff|approve] | 技能写审批与技能搜索安装 |
| /learn <资料> | 把文档/URL/笔记蒸馏成技能 |
| /refine [焦点] | 立刻跑一次记忆/技能自我评审 |
| /goal <文本> | 跨轮次的常驻目标;/heartbeat、/loop 做定时自检 |
| /yolo | 跳过危险命令审批——想清楚再开 |
| /approvals [manual|smart|off] | 审批模式三档 |
| /usage | token 用量、费用与限额 |
| /<技能名> | 把已装技能当命令直接跑(最多可链 5 个) |
| /journey [list|delete] | 学习时间线:看它最近沉淀了什么,删掉不要的 |
| /bg <提示> | 把任务丢进独立后台会话,不占当前对话 |
| /handoff <平台> | 把当前会话移交给某个消息平台继续 |
| /retry / /undo | 重发上一条 / 撤掉最近一次问答 |
| /btw <问题> | 不占当前会话的快速插问 |
| /quit / /exit | 退出(--delete 连会话历史一起删) |
| 配置项 / 命令 | 作用 |
|---|---|
| ~/.hermes/config.yaml | 主配置文件(非密钥);hermes config show / edit / get / set |
| ~/.hermes/.env | 所有密钥放这里;UPPER_SNAKE 键名自动视为环境变量 |
| hermes config set OPENROUTER_API_KEY … | 写密钥的标准姿势(保存进 .env,不进 config.yaml) |
| hermes model → Local models | 本地模型入口:按你的机器列出目录、装引擎、下载、设默认 |
| local_runtime.enabled | true 时随 Hermes 启动托管的 llama.cpp 服务 |
| local_runtime.backend | auto | cuda | metal | vulkan | hip | cpu |
| providers.llamacpp.base_url | 自建 llama-server,如 http://127.0.0.1:8081/v1 |
| Ollama 接入 | 任意运行中的 OpenAI 兼容服务器都能填;官方另有「Run Hermes Locally with Ollama」专文 |
| hermes moa / hermes fallback | 混合多 Agent 预设 / 主模型出错时的备选链 |
| auxiliary.background_review | 把后台评审交给更便宜的模型跑,可设 token 上限 |
| hermes portal status | Nous Portal 订阅状态与 Tool Gateway 路由 |
| hermes usage | 会话外查看账户额度与限流窗口 |
没有匹配的条目。换个词试试,比如「技能」「审批」「模型」。
06
实战:亲手跑通一次「长出技能」
目标是让它把一件你每周都做的事固化成技能。全程不到半小时,做完你就理解了记忆、技能、审批三件事如何咬合。
第一步:把任务交给它
hermes chat
> 看看这个仓库最近一周的 git log,按「功能/修复/其他」分类,
写成一份周报存到 reports/ 目录。以后每周一都按这个格式来。
它会探索仓库、跑 git 命令、写文件——每一步都要你在终端里批准。这是正常节奏,先让它把事情做完。
第二步:让它复盘,触发评审
> /refine 把刚才的流程整理成可复用的技能 # 也可以什么都不打:每轮结束的后台评审会自动做这件事
它会从这次经历里提炼「步骤 + 坑 + 验证方法」——技能沉淀的是经验而不是流水账,这正是它和「导出聊天记录」的区别。
第三步:检查与批准落盘
> /skills pending # 开了 write_approval 时,待批写入在这里 > /skills diff <id> # 逐行看它想写什么 > /skills approve <id> cat ~/.hermes/skills/weekly-report/SKILL.md # 成品长这样,随时手改
第四步:下次当命令用
hermes chat > /weekly-report 本周重点写后端性能优化 # 复盘时间线,看它这段时间学会了什么 hermes journey
hermes bundles create 把多个技能捆成一个 /<bundle> 命令;把周报类例行任务挂到 /cron 或网关平台,让它每周一自动交作业——这就是「长期自主」的最小可用形态。第五步:把例行任务挂上 cron
> /cron add 每周一早上九点,跑 weekly-report 技能并把周报发给我 > /cron list # 所有例行任务、下次触发时间 > /cron pause <id> # 出门前先按下暂停
cron 也能在会话外管理(hermes cron status / runs)。挂定时任务的前提是把审批与沙箱想清楚——见下一节坑一。
07
避坑:自主性是双刃剑
坑一:自主权限的边界没想清楚
/yolo 跳过危险命令审批,/approvals off 全放行——配合常驻网关和 cron,等于让它 24 小时无人值守地在你机器上执行东西。默认档位是安全的:一次性请求默认拒绝自动执行(approvals.single_query_mode: deny),写审批默认关闭但建议打开(memory.write_approval / skills.write_approval)。把它的「放行层级」记成三道闸:
- 第一道:工具审批
- 跑命令、改文件默认弹审批;/approvals manual → smart → off 逐级放开
- 第二道:写入审批
- memory.write_approval / skills.write_approval,管住它对记忆和技能的改写
- 第三道:全局急停
- hermes pause 一键冻结所有 cron 与网关轮次,hermes resume 恢复
养成两个习惯:
hermes pause # 全局急停:cron、网关轮次全部暂停 hermes resume # 恢复 > /approvals smart # 长期自主前至少用 smart,别一上来就 off
坑二:记忆膨胀
MEMORY.md 有 2200 字符硬上限,写满了工具会报错并要求它「先删再加」;但更隐蔽的问题是记了没用的——过期结论、一次性事实慢慢挤占常驻 token。定期做三件事:hermes journey list 看沉淀了什么、journey delete <id> 清掉过时项、直接手编 ~/.hermes/memories/MEMORY.md(它就是普通 Markdown)。改完记忆记得 /new 开新会话,新快照才生效。
坑三:技能质量退化
自进化系统的通病:技能越写越多、越写越肥,坏技能还会被后续修改放大。官方自带的防线要知道:尺寸警戒线(正文过大约 24k 字符会触发 oversized-body 告警)、引用膨胀(references 超过 60 个文件告警)、内容扫描(skills.guard_agent_created)与安装时安全扫描。你要做的是三招:
hermes skills audit # 体检:找出有问题的技能 hermes curator status # 策展器在维护什么 hermes curator lock <技能> # 核心技能设为只读,不许它乱改
坑四:本地小模型 vs 云端模型的能力差
本地跑开源模型很香(数据不出机器),但别高估小模型:官方排障文档明确提示,30B 以下的小模型经常「嘴上说保存了」,实际根本没调用工具——这是幻觉,不是记忆丢失,先查 /memory pending 和技能目录。官方对本地配置的底线是:显存 8 GB 起跑小模型、16 GB 跑 27–35B 高质量档、量化别低于 4-bit、上下文至少 64K。务实做法是混合:主力任务用云端强模型,后台评审(auxiliary.background_review)这类低成本环节交给本地小模型。
08
进阶方向与官方资源
- hermes-agent.nousresearch.com — 官网与下载入口
- 官方文档 — 配置、记忆、技能、Bot 模式、CLI 全参考
- github.com/NousResearch/hermes-agent — 源码仓库
- Releases — 版本以这里为准(写作时 v0.22.x)
- Skills Hub — 官方技能目录,兼容 agentskills.io 开放标准
- Agent 质量排障指南 — 回答变差、技能退化时先翻这篇
- 环境变量参考 — 密钥与开关的标准写法
- Nous Portal — 官方托管:云端 Agent 与订阅模型
local_runtime 或 Ollama 端点;想研究国产开源模型驱动的工程化脚手架,翻 deepseek-harness.html。09
收尾:照着勾一遍
0 / 5