E听说小学
76.52M · 2026-04-09
"又一个Agent框架?"——这大概是很多人看到Hermes Agent时的第一反应。Agent框架已经多到让人麻木,大部分做的事差不多:接LLM、挂工具、编排流程。
但Hermes Agent不是框架。它的定位是一个具体的、会成长的个人Agent。
核心差异在于一个闭环:Agent在完成任务后自主创建技能,这些技能在后续使用中持续自我改进,同时Agent会主动持久化知识并跨会话搜索自身历史。这不是"接了个记忆模块"那么简单——它形成了一个从经验到能力的完整进化回路。
Hermes Agent由开源LLM社区知名的NousResearch开发,目前GitHub 16,819 Stars,MIT开源,不到3周发布了4个大版本。本文将从自我进化闭环、工具与技能生态、统一消息网关、上手部署四个方面展开介绍。
项目信息
README中有一句话值得注意:"the only agent with a built-in learning loop"。这个learning loop是Hermes Agent最核心的设计,拆开来看包含三层。
当Agent完成一个复杂任务(涉及5个以上工具调用)后,会自动从这次经验中提取模式,创建一个可复用的技能(Skill) 。这些技能不是预设的,而是Agent在实际使用中自己"学"出来的。除了复杂任务触发外,当Agent发现非平凡的工作流,或在用户纠正、错误恢复后,也会主动创建技能。
创建出的技能不是一成不变的。Agent在后续调用技能时,会根据执行效果持续优化——支持patch、edit等操作来修改技能内容。
记忆系统采用MEMORY.md + USER.md双文件结构,存储在~/.hermes/memories/下:
| 文件 | 容量上限 | 记录内容 |
|---|---|---|
| MEMORY.md | ~2,200字符 / ~800 tokens | Agent个人笔记:环境配置、使用约定、技术发现 |
| USER.md | ~1,375字符 / ~500 tokens | 用户画像:身份、偏好、沟通风格 |
这两个文件以冻结快照的形式注入system prompt,每个session开始时自动加载。Agent通过内置的memory工具管理条目(add/replace/remove),容量接近上限时会自动提醒合并和清理。
在此基础上,所有CLI和消息会话都持久化到SQLite数据库(~/.hermes/state.db),通过FTS5全文搜索实现跨session的历史检索,查询结果附带AI生成的摘要。持久化记忆约1,300 tokens常驻,会话搜索则按需检索——这意味着Agent不会因为记忆膨胀而挤占上下文空间。
此外,还有可选的Honcho集成,提供辩证式的跨session用户建模。默认的混合模式下,它在保留标准记忆文件的同时,叠加一层持续深化的用户理解。
Hermes Agent内置了40+工具和105个内置技能,但逐个列举没有意义。下面按使用场景分类,挑重点说。
工具是Agent执行动作的底层能力,按功能分组为toolset,可按需启用或禁用:
| 场景 | 代表性工具 | 说明 |
|---|---|---|
| 搜索与浏览 | web_search、web_extract、11个browser_*工具 | 支持Firecrawl/Tavily等搜索后端,浏览器支持Browserbase、Browser Use、本地Chrome CDP |
| 代码与终端 | terminal、execute_code、delegate_task | 命令执行、Python脚本运行、子Agent并行委派 |
| 文件操作 | read_file、write_file、patch、search_files | patch支持模糊匹配 |
| 视觉与媒体 | vision_analyze、image_generate、text_to_speech | 图像分析、FAL后端图像生成、4种TTS Provider(Edge免费322声音/74语言、ElevenLabs、OpenAI、NeuTTS) |
| 规划与记忆 | todo、memory、session_search | 任务追踪、持久化记忆、历史会话搜索 |
| 定时任务 | cronjob | 支持自然语言调度、cron表达式、技能绑定 |
| 高级推理 | mixture_of_agents | 混合Agent推理 |
值得一提的是,工具支持并发执行——通过ThreadPoolExecutor并行执行独立的工具调用,而不是串行排队。
技能和工具不同。工具是执行动作的能力,技能则是按需加载的知识文档,遵循agentskills.io开放标准。
技能采用渐进式加载设计,分三级:
skills_list()只返回元数据(约3K tokens)skill_view(name)获取完整内容skill_view(name, path)访问特定参考文件这样设计的好处是减少token消耗——Agent不需要一次性加载所有105个技能的全部内容。
105个内置技能覆盖15+类别,精选几个方向看看:
| 类别 | 数量 | 代表性技能 |
|---|---|---|
| MLOps | 27个 | axolotl微调、vLLM服务部署、GRPO强化学习训练、Weights & Biases实验追踪、HuggingFace Hub管理 |
| Software Dev | 7个 | TDD循环、系统化调试(四阶段根因调查)、子Agent驱动开发、代码审查 |
| GitHub | 6个 | 完整PR生命周期管理、代码审查并留行内评论、Issues管理 |
| Productivity | 6个 | Google Workspace集成(Gmail/Calendar/Drive/Sheets/Docs)、Notion管理、PDF编辑 |
| Autonomous Agents | 4个 | 委托编码给Claude Code CLI、委托给OpenAI Codex CLI、生成Hermes子进程 |
| Apple | 4个 | Apple Notes管理、Reminders管理、FindMy设备追踪、iMessage收发 |
| Research | 6个 | arXiv论文检索、博客/RSS坚控、ML论文写作 |
除了内置技能,Hermes Agent还有一个Skills Hub,接入了7个外部技能源:
官方可选技能(仓库内维护)、skills.sh(Vercel公共目录)、Well-Known Endpoints(URL发现约定)、Direct GitHub(默认包括openai/skills和anthropics/skills)、ClawHub(第三方市场)、Claude Marketplace、LobeHub目录。
安全方面采用4级信任模型:builtin(随Hermes分发)> official(仓库内维护)> trusted(openai/skills等)> community(其他来源)。community级别的技能如标记为dangerous则需要--force覆盖才能安装。
Hermes Agent不是只能在终端里用的工具。通过统一消息网关(Gateway) ,它可以接入12+平台,从T@elegrimm发消息就能让它在云端干活。
| 平台 | 备注 |
|---|---|
| T@elegrimm | v0.5.0增加Private Chat Topics |
| Discord | 含语音频道支持 |
| Slack | — |
| 通过WhatsApp Web Bridge | |
| Signal | SSE连接 |
| Email (IMAP/SMTP) | — |
| 钉钉(DingTalk) | v0.4.0新增 |
| 飞书/Lark | 最新添加 |
| SMS (Twilio) | v0.4.0新增 |
| Mattermost | v0.4.0新增 |
| Matrix | 含E2EE端到端加密 |
| Webhook | v0.4.0新增 |
| Home Assistant | 增强设备控制 |
网关层做了几件重要的事:统一会话管理确保跨平台对话连续性、语音备忘录自动转写、媒体附件支持、流式编辑模式(T@elegrimm/Discord/Slack支持)、后台任务执行(/background命令),以及失败平台的自动重连(指数退避策略)。
默认拒绝所有未知用户,支持三种接入方式:
Hermes Agent在MCP生态中是双向的:
hermes mcp serve向其他MCP客户端(Claude Code、Cursor等)暴露10个工具v0.4.0新增了完整的MCP Server管理CLI(add/remove/list/test/configure),以及OAuth 2.1 PKCE认证流。工具注册时自动加前缀(mcp_<server_name>_<tool_name>),支持include/exclude过滤。
Hermes Agent内建15+推理Provider,包括:
Nous Portal(OAuth,400+模型)、OpenRouter(200+模型)、OpenAI、Anthropic、GitHub Copilot、Hugging Face、Vercel AI Gateway、z.ai/ZhipuAI GLM、Kimi/Moonshot、MiniMax、阿里云/DashScope等。
同时支持自托管的OpenAI兼容端点:Ollama、vLLM、SGLang、llama.cpp、LiteLLM Proxy等。
高级路由方面,支持Fallback模型(限速/服务器错误时自动切换)和Smart Model Routing(简单对话路由到便宜模型,复杂任务用主模型)。
README明确写到:"Run it on a $5 VPS, a GPU cluster, or serverless infrastructure that costs nearly nothing when idle." 以及 "It's not tied to your laptop — talk to it from T@elegrimm while it works on a cloud VM."
一键安装(支持Linux、macOS、WSL2,唯一前提是git):
curl -fsSL | bash
脚本自动处理Python、Node.js依赖,安装完成后直接使用hermes命令。
开发者安装:
git clone
cd hermes-agent
curl -LsSf | sh
uv venv venv --python 3.11
source venv/bin/activate
uv pip install -e ".[all,dev]"
python -m pytest tests/ -q
此外还支持Docker部署和Nix安装(v0.5.0新增完整uv2nix构建)。
Agent的代码执行不限于本地,提供6种终端后端:
| 后端 | 说明 |
|---|---|
| local | 默认,本地执行 |
| docker | 容器化隔离执行 |
| ssh | 远程服务器执行 |
| daytona | Serverless持久化,空闲休眠按需唤醒 |
| singularity | HPC容器技术 |
| modal | Serverless云执行,v0.5.0改用原生Modal SDK |
其中Daytona和Modal对低成本部署尤其友好——空闲时环境休眠,按需唤醒,不用的时候几乎不产生费用。
所有终端后端支持持久Shell:跨工具调用保持shell状态(cd、环境变量、别名),不需要每次重新设置环境。
/rollback一键恢复hermes -w启动隔离会话,安全并行工作Hermes Agent的核心定位是个人Agent,而不是Agent开发框架。这意味着它面向的是想要一个长期陪伴、越用越好用的AI助手的用户,而不是需要搭建Agent工作流的开发者。
它的核心价值在于自我进化闭环:自主创建技能 → 技能使用中改进 → 持久化记忆跨会话积累 → 下次任务时调用。这使得Agent的能力不是在安装时固定的,而是随使用不断增长的。目前在开源Agent中,这是一个比较少见的设计。
从实用角度看,几个特点值得关注:
不过也需要注意几点局限:
NousResearch在开源LLM社区有较高知名度,Hermes模型系列(14B/36B/70B/405B)有持续的社区关注。Agent项目与自研模型的结合(通过Nous Portal提供400+模型接入),是其相对于纯Agent框架的一个差异化优势。