Skip to content

OpenClaw与Hermes工程哲学深度对比:架构/工具系统/记忆/上下文压缩

2026年5月15日

OpenClaw 与 Hermes 的工程哲学对比。从源码架构出发,分析两个最受关注的开源 AI Agent 框架的根本分歧。

背景:一条迁移命令背后的故事

Hermes Agent 的 README 里有这样一条命令:

bash
hermes claw migrate

它会从 OpenClaw 的配置目录里导入:

  • SOUL.md
  • MEMORY.md
  • 用户创建的技能
  • 命令白名单
  • 消息设置
  • API Keys

这说明两者的关系不是并行发展,而是直接竞争。

项目GitHub Stars
OpenClaw364k
Hermes118k

Star 数量反映的是用户规模,不是工程深度。

运行时形态对比

核心差异

维度OpenClawHermes
语言Node.js + TypeScriptPython
形态Gateway + Pi AgentPython 单体进程 + SQLite
架构控制平面 + 执行进程单体进程
配套macOS/iOS/Android 原生应用轻量 CLI

OpenClaw:控制平面架构

核心组件

  • Node.js Gateway:WebSocket 控制平面
  • Pi Agent:通过 RPC 连接的子进程
  • 原生应用:macOS 菜单栏 / iOS / Android

为什么用 TypeScript

  • Gateway 需要 WebSocket 控制平面
  • 实时事件推送
  • Canvas 渲染
  • npm 生态丰富
  • 跨端协作成本低

代价:整个系统更重,需要运行 Gateway 进程。

Hermes:单体进程架构

核心组件

  • Python 单体进程
  • SQLite 文件
  • run_agent.py 中的 AIAgent 类(约 3600 行)

为什么用 Python

  • 批量轨迹生成
  • Atropos RL 环境集成
  • 轨迹压缩
  • ML 工具链优势

优势:轻量、部署简单。

工具系统设计对比

六大工程模式

模式OpenClawHermes说明
命名空间隔离防止工具名冲突
Schema 验证类型安全
延迟加载⚠️按需加载
版本管理工具升级
权限控制⚠️细粒度权限
动态注册运行时添加

工具注册对比

OpenClaw 工具注册

typescript
// 命名空间 + Schema 验证
{
  namespace: 'filesystem',
  name: 'read_file',
  schema: z.object({
    path: z.string(),
    encoding: z.string().optional()
  })
}

Hermes 工具注册

python
# 装饰器方式
@hermes.tool(namespace='filesystem')
def read_file(path: str, encoding: str = 'utf-8'):
    pass

记忆系统设计对比

OpenClaw 的记忆系统

组件说明
MEMORY.md长期记忆
会话历史短期记忆
技能库知识沉淀

特点

  • Markdown 格式
  • 易于编辑和同步
  • Git 版本控制友好

Hermes 的记忆系统

组件说明
SQLite结构化存储
记忆向量语义检索
轨迹压缩历史优化

特点

  • 结构化查询
  • 语义搜索
  • 自动压缩历史

上下文压缩对比

Hermes 的上下文压缩四阶段

┌─────────────────────────────────────────────────────────────┐
│                  上下文压缩四阶段                             │
├─────────────────────────────────────────────────────────────┤
│                                                             │
│   阶段 1:识别                                          │
│   └── 识别可压缩的对话段                                  │
│                                                             │
│   阶段 2:提取                                            │
│   └── 提取核心信息点                                      │
│                                                             │
│   阶段 3:压缩                                            │
│   └── 生成压缩表示                                        │
│                                                             │
│   阶段 4:替换                                            │
│   └── 用压缩表示替换原始对话                              │
│                                                             │
└─────────────────────────────────────────────────────────────┘

OpenClaw 的上下文管理

策略说明
Token 预算设置上下文上限
摘要生成自动生成对话摘要
分层存储重要信息 → MEMORY

安全模型对比

安全机制对比

机制OpenClawHermes
权限模型细粒度 RBAC基础 ACL
工具白名单✅ 支持✅ 支持
操作审计✅ 完整日志⚠️ 基础日志
沙箱执行✅ 隔离环境❌ 直接执行
敏感数据保护✅ 加密存储⚠️ 基础保护

工具执行安全

OpenClaw

typescript
// 权限检查
{
  tool: 'execute_command',
  allowed: true,
  constraints: {
    allowed_paths: ['/project'],
    forbidden_patterns: ['rm -rf', 'sudo']
  }
}

Hermes

python
# 基础权限
ALLOWED_COMMANDS = ['git', 'npm', 'python']
FORBIDDEN_PATTERNS = ['rm -rf /', 'sudo']

核心哲学差异

OpenClaw 的哲学

理念说明
生态优先丰富的工具和集成
体验至上原生应用、多端支持
可扩展性插件系统、灵活配置

Hermes 的哲学

理念说明
简单为王单体进程、轻量部署
ML 集成Python 原生、AI 优先
自主学习内置学习能力

六大可借鉴工程模式

模式说明来源
命名空间隔离防止工具名冲突OpenClaw
Schema 验证类型安全保证OpenClaw
轨迹压缩上下文管理Hermes
记忆向量语义检索Hermes
权限模型细粒度控制OpenClaw
自主学习内置成长能力Hermes

适用场景推荐

场景推荐原因
多端应用OpenClaw原生应用支持
轻量部署Hermes单体进程简单
复杂集成OpenClaw丰富的工具生态
ML 工作流HermesPython 原生
团队协作OpenClaw完善的权限系统
个人使用Hermes轻量易用

一句话总结

OpenClaw vs Hermes = 生态优先 vs 简单为王。

OpenClaw:控制平面架构、丰富的工具生态、多端原生应用。适合需要完整解决方案的团队。

Hermes:单体进程、ML 原生集成、自主学习能力。适合追求简洁和 AI 能力的开发者。

核心启示:没有最好的框架,只有最适合场景的选择。

不要孤军奋战啦!

加入微信群一起学习交流 AI

与大神一起使用 OpenClaw、Hermes、Claude Code、Seedance 2.0、GPT-Image-2 等

微信公众号

扫码关注微信公众号
私信 "加群",将自动获取微信群二维码

探索 AI 世界,掌握智能未来