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

本文基于两个开源项目的公开代码仓库,从技术架构角度分析 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 Agent OpenClaw
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

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐