基于开源代码仓库的技术分析报告

本文基于两个开源项目的公开代码仓库,从技术架构角度分析 Hermes Agent 和 OpenClaw 的设计思路、核心特性以及各自的适用场景。

先说结论:作为开源项目,龙虾和 Hermes 各有优势。而且在国内,已经出现了一键集成的方案。


如何一键使用

如果想要一键部署,也可以进入腾讯官网:
腾讯云
直接选择:
在这里插入图片描述
在这里插入图片描述
然后,这就完成了!!

Hermes Agent 技术架构分析

Hermes Agent 是 Nous Research 开发的开源 Agent 框架,当前版本 v0.14.0,已发布 13 个主要版本。项目代码量约 20 万行 Python,包含 78 个核心模块文件、76 个内置工具、25 个技能模板和 17 个插件。

核心特性:自改进学习循环

Hermes 最具技术特色的设计是其自改进学习循环机制,主要由以下几个组件构成:

Curator 记忆审查系统(约 7500 行代码):定期在后台运行,对历史对话进行审查和归纳。它不是简单的摘要,而是通过模式识别提取可复用的知识片段、任务流程和决策逻辑。这部分代码独立于主对话循环,通过队列机制异步处理,不会影响在线响应速度。

自动技能生成:当 Curator 检测到某个任务模式被重复执行时,会自动将该流程抽象为一个可复用的技能模板,包括参数定义、执行步骤、错误处理逻辑等。生成的技能可以直接被后续调用,实现了"越用越聪明"的效果。

智能会话压缩:与常见的截断式上下文管理不同,Hermes 采用 LLM 驱动的语义压缩。通过分层摘要技术,在保留关键决策点和上下文语义的前提下,将历史对话体积压缩约 70%,实际测试显示信息保留率可达 90% 以上。

全文检索引擎:基于 SQLite FTS5 实现,配合 trigram 索引提供跨会话的语义检索能力,对中文等 CJK 语言有良好支持。检索结果会作为上下文补充到当前对话中,实现长期记忆的调用。

状态管理模块实现细节

hermes_state.py 模块(约 3300 行代码)是整个框架的状态管理核心,其工程化实现值得关注:

  • WAL 模式并发控制:SQLite 配置为 WAL(Write-Ahead Logging)模式,支持高并发读写场景。实际测试显示在 100 并发写入下无明显性能下降
  • 声明式 Schema 迁移:内置版本化的 schema 定义,升级时自动执行迁移脚本,无需人工操作数据库
  • 指数退避重试机制:写入操作遇到锁时自动重试,每次重试间隔加入随机抖动避免惊群效应
  • 网络文件系统兼容:针对 NFS/SMB 等分布式文件系统的锁机制问题做了专门适配

供应链安全措施

项目的依赖管理采取了严格的锁定策略:

  • 所有依赖包版本精确锁定,不使用范围符
  • 包含 hash 校验,防止依赖投毒
  • CI 流程中自动执行安全扫描
  • 定期自动更新并运行回归测试

这一设计正是针对类似 mistralai 包被投毒这类供应链攻击的防护措施。

模型支持与部署模式

模型提供商覆盖主流选择:Nous Portal、OpenRouter、OpenAI、Anthropic、Google Gemini、月之暗面、MiniMax、AWS Bedrock、LLaMA.cpp 等。通过 OpenRouter 可接入超过 200 个模型。

部署支持 7 种后端沙箱环境:本地进程、Docker、SSH 远程、Singularity、Modal、Daytona、Vercel Sandbox。其中 Modal 和 Daytona 支持无服务器休眠模式,闲时资源成本接近于零。


OpenClaw 技术架构分析

OpenClaw 是一个以消息网关为核心设计的 Agent 框架,采用 TypeScript 开发。项目包含 14,613 个源文件、139 个插件扩展、59 个内置技能模板。

消息网关:28+ 平台接入

OpenClaw 的技术优势在于其消息接入层的广度。网关层采用异步事件驱动架构,每个平台对应一个独立的适配器:

全球主流平台:WhatsApp、Telegram、Discord、Slack、Signal、iMessage
国内平台:飞书、微信、QQ、钉钉
企业协作:Microsoft Teams、Google Chat、Mattermost
开源协议:Matrix、Nostr、Tlon
其他:LINE、Zalo、Twitch、WebChat

所有平台的消息经过统一的标准化处理后进入核心路由层,共享同一会话状态和记忆系统。这种设计使得用户在不同平台与 Agent 的对话可以无缝延续。

插件生态系统

OpenClaw 的插件系统采用微内核架构,核心代码只负责插件生命周期管理和消息路由,具体功能全部由插件实现。

插件主要分为以下几类:

  • 网页浏览类:browser、firecrawl、tavily、parallel-web
  • 模型接入类:OpenAI、Anthropic、Google、xAI、StepFun 等
  • 媒体生成类:图片生成、视频生成、音乐生成
  • 语音处理类:TTS、语音通话、实时对话
  • 记忆检索类:Honcho 集成、Voyage 向量数据库
  • 会议集成类:Google Meet 深度集成
  • 可观测性类:运行状态看板、结构化日志
  • DevOps 类:磁盘清理、Docker 管理
  • 工作流类:团队协作管道、WebHooks 集成

企业级安全设计

OpenClaw 的安全机制面向生产环境设计:

  • DM 配对机制:来自未知发送者的消息需要先通过配对码验证,防止滥用和攻击。配对码采用一次性密码方案,具有时效性。
  • 沙箱隔离:非主会话默认运行在 Docker 或 SSH 沙箱环境中,文件系统和网络权限严格隔离。
  • 细粒度权限控制:每个工具的访问权限可独立配置,支持基于角色和基于用户的双重权限校验。
  • 凭证安全管理src/secrets/ 模块采用加密存储,密钥从环境变量注入,不写入配置文件。
  • 安全审计日志:所有敏感操作记录审计日志,支持导出和合规检查。

技术架构对比

两个项目虽然都是 Agent 框架,但技术路线的选择差异显著。

技术栈选型分析

Hermes Agent 选择 Python 的原因:

  • AI/ML 生态成熟,便于集成各种模型和处理库
  • 快速原型开发,适合研究导向的项目迭代
  • 数据处理和分析工具链完善

OpenClaw 选择 TypeScript 的原因:

  • Node.js 异步 I/O 性能优异,适合高并发网关场景
  • 消息平台接入大多有成熟的 Node.js SDK
  • 便于与前端和全栈技术栈集成

核心模块横向对比

模块Hermes AgentOpenClaw
Agent 运行时业界领先水平
约 4000 行 conversation_loop
内置 Curator 记忆审查
支持自改进学习循环基础实现
主要通过 ACP 协议调用外部 Agent
自身逻辑相对轻量
消息网关基础支持,6-8 个平台
Python asyncio 实现业界领先水平
28+ 平台深度集成
企业级高可用设计
守护进程 + 自动故障恢复
记忆系统功能最完整
SQLite + FTS5 全文搜索
Trigram 索引支持中文
智能会话压缩
跨会话语义检索功能良好
支持向量数据库
但缺少智能压缩和审查机制
插件生态17 个插件,聚焦核心功能139 个插件,覆盖几乎所有场景
模型、搜索、语音、媒体、DevOps
技能系统可自动学习生成
Agent 从任务中自动提取技能
支持动态技能生成静态可扩展
手动定义和安装技能
版本化管理

ACP 协议与互操作性

两个项目通过 ACP(Agent Client Protocol)协议实现原生兼容。OpenClaw 有完整的 src/acp/ 目录实现该协议,可以将 Hermes Agent 作为其智能核心使用。

这种架构组合形成了一种互补模式:OpenClaw 负责接入所有消息平台和管理插件生态,Hermes Agent 负责深度思考和智能记忆管理。


技术选型建议

基于两个项目的技术特性,给出以下选型建议:

场景推荐方案
主要关注 Agent 智能本身直接使用 Hermes Agent
需要接入多个消息平台使用 OpenClaw 作为网关层
生产环境部署、有高可用需求OpenClaw 网关 + 加固配置
AI 研究方向、实验自改进机制Hermes Agent 是首选框架
插件开发、生态扩展OpenClaw 生态更成熟

对于大多数企业级应用,推荐采用组合架构:OpenClaw 作为接入层处理所有消息平台和插件,Hermes Agent 作为智能核心负责对话处理和记忆管理,两者通过 ACP 协议通信。


本文基于 Hermes Agent 和 OpenClaw 公开仓库代码进行技术分析,所有数据来源于代码统计和文档。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐