这是一个或许对你有用的社群 一对一交流/面试小册/简历优化/求职解惑欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料《项目实战视频》从书中学往事中“练”《互联网高频面试题》面朝简历学习春暖花开《架构 x 系统设计》摧枯拉朽掌控面试高频场景题《精进 Java 学习指南》系统学习互联网主流技术栈《必读 Java 源码专栏》知其然知其所以然这是一个或许对你有用的开源项目国产Star破10w的开源项目前端包括管理后台、微信小程序后端支持单体、微服务架构RBAC权限、数据权限、SaaS多租户、商城、支付、工作流、大屏报表、ERP、CRM、AI大模型、IoT物联网等功能多模块https://gitee.com/zhijiantianya/ruoyi-vue-pro微服务https://gitee.com/zhijiantianya/yudao-cloud视频教程https://doc.iocoder.cn【国内首批】支持 JDK17/21SpringBoot3、JDK8/11Spring Boot2双版本14.1 万 StarHermes 凭啥这么火一句话定位网关 vs 引擎机制 1Skill 系统——后台 review 比硬触发更聪明机制 2记忆体系——SQLite FTS5 不是笔记本是搜索引擎机制 3七层纵深安全防御写在最后14.1 万 StarHermes 凭啥这么火先把数字甩出来——截至本文发稿Hermes Agent 的 Star 已经飙到 14.1 万——比 OpenClaw 高了整整一档最新版本v0.13.0。但用一句话讲清 OpenClaw 和 Hermes 的根本差异——完全不在同一层做事OpenClaw 想做「Agent 的入口」——把 Agent 接到微信 / Telegram / Discord 让你随时能找到它Hermes 想做「Agent 的大脑」——让 Agent用得越久越聪明、越熟练。这是两个完全不同的产品形态——一个是门铃、一个是大脑。为啥说 Hermes 是大脑因为它把3 件事串成了一条闭环#能力类比1Skill 后台复盘——任务完成后自己琢磨「这次有没有值得固化的经验」资深员工写复盘文档2三块记忆 FTS5 搜索——长期信息分层存、按需搜不全量塞模型一个搜索引擎37 层纵深安全防御——从用户授权到上下文注入扫描层层兜底银行金库这篇就把这 3 个机制讲透——没用过 Hermes 的小白也能跟着看懂。基于 Spring Boot MyBatis Plus Vue Element 实现的后台管理系统 用户小程序支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能项目地址https://github.com/YunaiV/ruoyi-vue-pro视频教程https://doc.iocoder.cn/video/一句话定位网关 vs 引擎一张图先把两个项目讲清OpenClaw 是门铃——重点把 Agent 摆到你能随手按到的地方Hermes 是发动机——重点是让 Agent 越跑越顺、越跑越熟。直接看 Hermes 的代码骨架就懂了——文件名都明示了优先级hermes-agent/ ├── run_agent.py ← 核心对话循环一等公民 ├── model_tools.py ← 工具调度 ├── agent/ ← 记忆/复盘/缓存这些脑子机制 ├── hermes_state.py ← SQLite FTS5 全文检索 ├── ️ tools/ ← 40 工具 危险命令检测 ├── skills/ ← 26 类内置技能模板 └── gateway/ ← 网关放在最后次要run_agent.py排第一、gateway/排最后——和 OpenClaw 正好反过来——这就是「门铃 vs 发动机」的代码层证据。核心循环骨架在AIAgent.run_conversation()里简化后是这样收到用户消息 → 把工具列表喂给 LLM → 模型说要调工具就一个个跑、把结果接回去 → 循环到模型说「OK 我答完了」或者撞到迭代上限。两个细节值得先记最多 90 轮迭代iteration_budget——防 Agent 死循环烧钱⚙️每轮跑完后悄悄触发后台复盘——这就是下面机制 1 的核心入口。基于 Spring Cloud Alibaba Gateway Nacos RocketMQ Vue Element 实现的后台管理系统 用户小程序支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能项目地址https://github.com/YunaiV/yudao-cloud视频教程https://doc.iocoder.cn/video/机制 1Skill 系统——后台 review 比硬触发更聪明这是 Hermes 最有意思的设计——也是社区最容易讲偏的地方。社区流传版本「Agent 完成 5 次以上工具调用后会自动生成 Skill 文件」。翻源码后的实情机制比这柔和得多也聪明得多——它不是达阈值必写硬规则是分了三层。第一层系统提示里的引导agent/prompt_builder.py里有一段明文提示给模型看的SKILLS_GUIDANCESKILLS_GUIDANCE ( After completing a complex task (5 tool calls), fixing a tricky error, or discovering a non-trivial workflow, save the approach as a skill with skill_manage so you can reuse it next time.\n When using a skill and finding it outdated, incomplete, or wrong, patch it immediately with skill_manage(actionpatch) — dont wait to be asked. Skills that arent maintained become liabilities. )关键这里的5 tool calls是写给模型看的经验阈值——是个建议不是硬触发器。第二层后台 review 流程真正推动 Skill 沉淀的是后台 review 机制。run_agent.py里有_skill_nudge_interval默认10self._skill_nudge_interval int( skills_config.get(creation_nudge_interval, 10) )每累计执行 10 轮工具迭代→ 在响应结束后注意不是过程中触发后台 review。_spawn_background_review()会 fork 出一个完整的子AIAgent静默模式、最多 8 轮迭代把当前对话历史传过去_SKILL_REVIEW_PROMPT ( Review the conversation above and consider saving or updating a skill if appropriate.\n\n Focus on: was a non-trivial approach used to complete a task that required trial and error, or changing course due to experiential findings along the way...?\n\n If nothing is worth saving, just say Nothing to save. and stop. )关键词**consider** 和if appropriate。这是个 best-effort 流程不是硬性必达。子 Agent 完全可能判断Nothing to save直接结束。更妙的是这个 review跑在后台线程里——不阻塞用户下一轮对话、不竞争主 Agent 的注意力。一句话前台干活、后台默默写复盘——下次再遇到同类任务直接调出 Skill 用。第三层Skill 索引与加载的两条链路Skill 在系统里有两种工作方式链路入口代码工作方式链路一索引注入build_skills_system_prompt()扫描~/.hermes/skills/把技能索引注入系统提示。LRU 磁盘缓存避免重复扫描链路二用户显式调用skill_commands.py用户输入/skill-name→ Skill 完整内容作为用户消息注入不是系统提示——保护 prompt caching对比 OpenClawOpenClaw 的 Skill 主要靠人工编写 ClawHub 市场社区贡献Hermes 把写 Skill和改 Skill都交给了 Agent 自己——更自动化的路线。仓库内置26 个目录的 Skill 模板覆盖 DevOps、研究、社交媒体、智能家居、数据科学整仓库统计能搜到122 个 SKILL.md文件。Skill 在 Hermes 里不是附属能力是一等公民。机制 2记忆体系——SQLite FTS5 不是笔记本是搜索引擎两个项目都吹自己有跨会话记忆但实现方式完全不同。OpenClaw 的玩法文件即记忆OpenClaw 用SOUL.md人格MEMORY.md记忆走文件即记忆路线。所有聊天记录、角色、偏好、历史任务全写文件。优点透明、容易理解。问题聊天次数一多文件巨大——每次对话开始都要全量丢给模型——注意力分散、token 烧得心疼。这是典型的上下文治理问题。Hermes 的玩法分块 检索翻官方文档和源码默认内建记忆其实有三块组件存储位置内容容量上限MEMORY.md~/.hermes/memories/Agent 的笔记环境事实、惯例、学到的东西~800 tokens2,200 字符USER.md~/.hermes/memories/用户画像偏好、沟通风格、期望~500 tokens1,375 字符state.db~/.hermes/全量对话历史 FTS5 全文检索无上限关键设计前两个文件每次会话开始作为冻结快照注入系统提示会话过程中不变保护 prompt caching。Agent 通过memory工具改的内容立即写盘但要到下次会话才反映到系统提示。state.db是 SQLiteWAL 模式、支持并发读写通过 FTS5 虚拟表支持全文检索CREATE VIRTUAL TABLE IF NOT EXISTS messages_fts USING fts5( content, contentmessages, content_rowidid );Agent 可以通过session_search工具按需搜索过去的对话——不是全量塞给模型而是关键词命中后再让 LLM 摘要召回。一图理解Hermes 不是有记忆——是把长期信息分了 3 层① 小而稳的环境事实 / 用户偏好放前缀里、② 大而杂的历史对话扔数据库里、③ 中间用session_search工具按需搜。直白类比OpenClaw 像给 Agent 一个笔记本——每次打开都从头翻Hermes 给它装了一个搜索引擎——需要哪页就搜哪页。机制 3七层纵深安全防御OpenClaw 偏向靠模型自身判断规避风险Hermes 在框架层面搭了一套纵深防御——官方安全文档定义了七层边界。挑两层最值得讲的展开。危险命令审批tools/approval.py里有 30 条正则规则的DANGEROUS_PATTERNS表。覆盖类目递归删除rm -r世界可写权限chmod 777磁盘写入dd if、 /dev/sdSQL 破坏性操作DROP TABLE/ 不带 WHERE 的DELETE FROM/TRUNCATE远程执行curl ... | bash这种管道执行远程脚本覆写系统配置 /etc/fork 炸弹脚本语言一次性执行-e/-c自杀保护阻止 Agent 杀掉自己进程审批模式三档模式行为manual默认总是问人smart辅助 LLM 评估风险——低风险自动通过、高风险自动拒、不确定才问人off关闭全部审批生产慎用v0.8.0 还给 Slack / Telegram 加了审批按钮——不用再手动输入/approve。上下文注入扫描这一层最值得讲agent/prompt_builder.py里所有上下文文件AGENTS.md、.cursorrules、SOUL.md 等在加载到系统提示之前会先经过注入扫描_CONTEXT_THREAT_PATTERNS [ (rignore\s(previous|all|above|prior)\sinstructions, prompt_injection), (rdo\snot\stell\sthe\suser, deception_hide), (rsystem\sprompt\soverride, sys_prompt_override), (rcurl\s[^\n]*\$\{?\w*(KEY|TOKEN|SECRET|...), exfil_curl), (rcat\s[^\n]*(\.env|credentials|\.netrc|\.pgpass), read_secrets), # ... ]命中任何模式 → 文件直接被阻断——根本不会进入系统提示。日志里记录命中的文件 命中的威胁模式。这一层和工具执行阶段做审批不同——它往前再推了一步在模型看到上下文文件之前就先做了一遍过滤。完整七层概览层防御点1用户授权白名单、DM 配对2危险命令审批正则 LLM 评估3容器隔离Docker / Singularity / Modal4MCP 凭据过滤MCP 子进程的环境变量隔离5上下文文件注入扫描6跨会话隔离会话间数据不互通、cron 路径遍历加固7输入清洗终端后端工作目录参数白名单校验关键这不是单点防御——是从「谁能说话」到「命令怎么执行」再到「上下文怎么进入模型」的纵深防线。即使你给它配了能力一般的模型框架层也有底——这是 OpenClaw 那种靠模型自觉做不到的。写在最后源码翻完一遍——Hermes 和 OpenClaw 看上去都是开源 Agent但解决的不是同一件事——这个分水岭比社区讨论里感受到的还要大一档。OpenClaw 押的是「渠道宽度」——能接的聊天平台多、ClawHub 上社区贡献的 Skill 也成熟。如果你要的就是「一个多渠道都能找到的助理」——它现在仍然是最稳的选择。Hermes 押的是另一头——「Agent 怎么自己进化」。闭环复盘 后台 Skill review FTS5 检索 七层防御——它真正想答的题是怎么让 Agent 越用越熟练、同时不会失控加一条容易被忽略的——做 AI 研究的同学顺手挖下environments/和tinker-atropos/Hermes 内建了轨迹生成trajectory Atropos RL 环境直接能跑强化学习实验——本文没展开但对这块感兴趣的值得自己翻一翻。拿工程底子说话——约 3000 个测试用例 WAL 模式 SQLite FTS5 全文检索 prompt caching 保护 6 种终端后端 7 层安全防御——这种密度不是两个月能从零堆出来的。Nous Research 在 Hermes 这套模型上攒的工程经验这一次都被沉淀进了 runtime 里。稳妥一点说在当下开源 Agent 圈里Hermes 是少数把「执行循环 Skill 沉淀 记忆检索 安全边界」放进同一套 runtime 系统设计的项目。它未必每个环节都已经最强、也未必是终局——但方向看得很清不是只让 Agent 能调工具——是让它在长期使用里慢慢积累方法、少踩坑、保持可控。仓库https://github.com/NousResearch/hermes-agent官方文档https://hermes-agent.nousresearch.com/docs/安全文档https://hermes-agent.nousresearch.com/docs/user-guide/security欢迎加入我的知识星球全面提升技术能力。 加入方式“长按”或“扫描”下方二维码噢星球的内容包括项目实战、面试招聘、源码解析、学习路线。文章有帮助的话在看转发吧。 谢谢支持哟 (*^__^*