- BUILD.md: checkout 分支 v5.1.1→v5.1.3,any 计数修正 - DEVELOPMENT.md: 目录结构更新(tool-handlers 拆分、新服务文件), 工具数 25→38,数据库 6→7 表,新增 browser/mcp/skill/cron/sub-agent - OPENCLAW-HERMES-ANALYSIS.md: 10 个路线图功能标记已实现状态, 更新优先级表和待实施清单 - HERMES-AGENT-DEEP-STUDY.md: 对比表更新(记忆/工具/Agent Loop), P0-P2 改进清单标记实施状态
12 KiB
OpenClaw & Hermes Agent 对比分析 — Metona 改进路线图
基于 2026 年 4 月对 OpenClaw 和 Hermes Agent 两个开源 AI Agent 项目的深度研究, 梳理 Metona Ollama Desktop 可吸收和改进的功能点。
一、项目概览
OpenClaw(原 Clawdbot)
- 定位:个人 AI 助手运行平台(Gateway 中心化架构)
- 核心哲学:编排 + 生态 — 你配置模型、工具、通道,网关负责路由
- GitHub Stars:6 万+(2026 年初现象级项目)
- 特点:技能市场成熟、多通道接入、团队协作友好、生态丰富
Hermes Agent(Nous Research)
- 定位:自进化 AI 智能体(Learning Agent 架构)
- 核心哲学:学习循环 — Agent 从经验中积累技能,越用越强
- GitHub Stars:6.4 万+(2026 年 2-4 月爆火)
- 特点:技能自动生成、分层记忆、执行轨迹反哺、多实例隔离
Metona Ollama Desktop
- 定位:本地 Ollama 桌面 AI Agent 客户端(Electron + TypeScript)
- 核心哲学:原生桌面体验 — 零配置、全离线、系统级集成
- 差异化优势:系统托盘、原生文件对话框、工作空间面板、暖色调 UI
架构对比
OpenClaw: Gateway 中心化 → 路由/编排/生态 → 偏「平台」
Hermes: 学习循环核心 → 记忆/技能/进化 → 偏「个体智能体」
Metona: Electron 桌面 → 工具调用/UI → 偏「客户端」
Metona 进化方向:
当前 = 工具调用客户端
目标 = 会学习的桌面 Agent(吸收 Hermes 的学习能力 + OpenClaw 的工程化能力)
二、从 Hermes Agent 吸收
1. 技能自动生成(Skill Learning Loop) ✅ 已实现 v5.1.0
Hermes 做法
完成复杂任务后自动将执行轨迹抽取为结构化 Skill,包含:
- 任务分解步骤
- 关键判断节点
- 潜在陷阱
- 验证方式
下次遇到类似任务时直接复用已有技能,跳过重新推理。多次使用中持续优化技能实现。
Metona 现状 ✅ 已实现
skills 表 + skill-manager.ts 自动提取 + skill_list / skill_view 工具(Level 0 渐进式)。
Agent Loop 结束后从 traces 提取成功工具链,下次自动匹配复用。
2. 分层记忆 + 用户画像模型 ✅ 已实现 v5.0.0
Hermes 做法
memory.md:事实卡片(技术栈、项目上下文、常用工具)user.md:用户画像(角色、领域经验、编码风格、偏好)- 构建一个「关于用户的深层模型」,跨会话持续积累
Metona 现状 ✅ 已实现
- fact/preference/rule 三类记忆 + FTS5 搜索 + 向量语义搜索
- 用户画像自动推断:检测 14 种技术栈,自动注入 system prompt
memory_replace/memory_remove支持修改和删除(v5.1.0)- 记忆写入前安全扫描(prompt injection / 敏感信息检测)(v5.1.0)
- 记忆容量管理:上限 500 条,超限自动清理低价值条目(v5.1.2)
- 记忆过期衰减:90 天未使用自动降低 importance(v5.1.3)
3. 执行轨迹导出 → 自训练数据 🔵 P3(未实现)
Hermes 做法
将工具调用轨迹导出为训练数据,可用于后续模型微调。Agent 不仅在「用模型」,也在不断生产可以反哺模型的训练数据。
Metona 现状
traces 表已记录每步 Thought → Action → Observation,但没有导出功能。
改进方案
- 新增「导出训练数据」功能
- 将 traces 转换为 SFT 格式:
{ "instruction": "帮我查询项目中所有 TypeScript 文件", "input": "", "output": "我来帮你搜索...", "tool_calls": [ {"name": "search_files", "arguments": {"path": ".", "query": "*.ts"}} ], "observations": ["找到 42 个文件..."], "final_answer": "项目中有 42 个 TypeScript 文件..." } - 设置中新增「允许导出训练数据」开关
- 导出格式支持 JSON / JSONL
三、从 OpenClaw 吸收
4. Heartbeat 主动检查机制 ✅ 已实现 v5.0.0
OpenClaw 做法
Agent 定期(默认 30 分钟)主动检查邮箱、日历、通知等,有事才通知用户,没事保持安静(HEARTBEAT_OK)。支持在 HEARTBEAT.md 中配置检查项。
Metona 现状 ✅ 已实现
后台 heartbeat 定时器,检查 Ollama 连接状态等,通过 Electron Notification API 推送通知。
5. Cron 定时任务 ✅ 已实现 v5.0.0
OpenClaw 做法
支持 at(一次性)和 cron(周期性)两种调度,systemEvent(注入文本)和 agentTurn(隔离执行)两种任务类型。
Metona 现状 ✅ 已实现
cron-manager.ts 已集成,支持一次性 / 周期性任务调度,任务结果显示在聊天区域。
6. MCP(Model Context Protocol)生态对接 ✅ 已实现 v5.0.0
OpenClaw + Hermes
均支持 MCP 协议,可连接外部工具和 IDE(Cursor、VS Code、Claude Desktop)。工具从硬编码 → 动态发现。
Metona 现状 ✅ 已实现
mcp-manager.ts(主进程)+mcp-client.ts(渲染进程)- JSON-RPC 2.0 over stdio 通信
- 7 个 IPC 通道(startServer / stopServer / stopAll / callTool / getTools / getStatuses / refreshTools)
- Shadowing 防护:MCP 工具注册时自动检测与内置工具重名(v5.1.2)
- 设置面板管理:添加 / 启用 / 禁用 / 删除
7. 浏览器控制(Browser Automation) ✅ 已实现 v5.0.0
OpenClaw
内置 Playwright 浏览器自动化,支持截图、表单填写、页面交互。
Metona 现状 ✅ 已实现
browser.ts(主进程)提供 8 个浏览器工具:browser_open / browser_screenshot / browser_evaluate / browser_extract / browser_click / browser_type / browser_scroll / browser_close。
8. 子代理委派(Sub-Agent Delegation) ✅ 已实现 v5.0.0
OpenClaw
sessions_spawn 生成独立子会话,支持 run(一次性)和 session(持久化)两种模式。
Metona 现状 ✅ 已实现
sub-agent.ts + spawn_task 工具,主 Agent 可委派独立子任务执行。
四、从两者共同吸收(通用最佳实践)
9. 会话管理增强 ✅ 部分实现 v5.0.0
| 功能 | OpenClaw | Hermes | Metona 现状 |
|---|---|---|---|
/new /reset |
✅ | ✅ | ✅ 已有 |
/retry 重试 |
✅ | ✅ | ✅ 已实现 |
/undo 撤销 |
✅ | ✅ | ✅ 已实现 |
/compress 压缩 |
✅ | ✅ | ❌ 未实现(上下文压缩) |
/usage 统计 |
✅ | ✅ | ⚠️ 部分(日志面板有) |
/model 切换 |
✅ | ✅ | ⚠️ 下拉框 |
/compress 实现方案(未实现):
// 将 messages 中间部分(保留首尾各 2 条)用 LLM 做摘要
// 摘要结果作为 system 消息注入
// 大幅减少 token 消耗,保留关键上下文
10. 诊断系统(Doctor) 🟢 P2(未实现)
Hermes 做法
hermes doctor 一键诊断所有配置问题:连接、模型、工具权限、磁盘空间等。
Metona 现状
设置面板只有 Ollama 连接检测。
改进方案
在设置面板新增「系统诊断」页面,检查项:
| 检查项 | 说明 |
|---|---|
| Ollama 连接 | 服务地址可达、版本号 |
| 模型可用性 | 选中模型是否已下载、是否正在运行 |
| Tool Calling 支持 | 当前模型是否支持 function calling |
| Vision 支持 | 当前模型是否支持图片 |
| 磁盘空间 | workspace 目录剩余空间 |
| SQLite 完整性 | 数据库文件完整性检查 |
| 工具权限 | 安全配置是否合理 |
| 版本信息 | Metona 版本、Electron 版本、Node 版本 |
11. 人格/模式切换 ✅ 已实现 v5.0.0
OpenClaw
SOUL.md 定义人格和行为准则。
Hermes
/personality [name] 切换不同人格模式。
Metona 现状 ✅ 已实现
多种预设人格模板(编程助手/写作助手/数据分析师等),每种有独立 system prompt + 温度设置,设置面板快速切换。
12. 响应速度优化 ⚡ 部分实现
Hermes 核心优势
比 OpenClaw 响应更快,社区反馈明显。
Metona 已优化方向
- ✅ 工具并行执行:独立工具通过
Promise.all并行执行(v5.0.0) - ❌ 模型预热:切换模型后发送空请求保持
keep_alive - ❌ 上下文智能管理:超过
num_ctx时自动摘要而非截断 - ❌ 工具结果预处理:在格式化前预计算,减少序列化开销
五、优先级排序
按投入产出比排序
| 优先级 | 功能 | 复杂度 | 用户价值 | 来源 | 状态 |
|---|---|---|---|---|---|
| 🔴 P0 | 技能自动生成(Skill Loop) | 高 | ⭐⭐⭐⭐⭐ | Hermes | ✅ v5.1.0 |
| 🔴 P0 | /retry /undo 会话操作 |
低 | ⭐⭐⭐⭐⭐ | 共同 | ✅ v5.0.0 |
| 🟡 P1 | 用户画像模型 | 中 | ⭐⭐⭐⭐ | Hermes | ✅ v5.0.0 |
| 🟡 P1 | 上下文压缩 (/compress) |
中 | ⭐⭐⭐⭐ | 共同 | ❌ 未实现 |
| 🟡 P1 | 工具并行执行优化 | 中 | ⭐⭐⭐⭐ | 共同 | ✅ v5.0.0 |
| 🟢 P2 | Heartbeat 主动检查 | 低 | ⭐⭐⭐ | OpenClaw | ✅ v5.0.0 |
| 🟢 P2 | 人格模板切换 | 低 | ⭐⭐⭐ | 共同 | ✅ v5.0.0 |
| 🟢 P2 | 诊断系统 (doctor) |
低 | ⭐⭐⭐ | Hermes | ❌ 未实现 |
| 🔵 P3 | MCP 生态对接 | 高 | ⭐⭐⭐⭐ | 共同 | ✅ v5.0.0 |
| 🔵 P3 | 浏览器控制 | 高 | ⭐⭐⭐ | 共同 | ✅ v5.0.0 |
| 🔵 P3 | 子代理委派 | 高 | ⭐⭐⭐ | 共同 | ✅ v5.0.0 |
| 🔵 P3 | 训练数据导出 | 中 | ⭐⭐ | Hermes | ❌ 未实现 |
| ⚪ P4 | Cron 定时任务 | 中 | ⭐⭐ | OpenClaw | ✅ v5.0.0 |
待实施功能
| 功能 | 复杂度 | 说明 |
|---|---|---|
/compress 上下文压缩 |
中 | LLM 摘要中间轮次,而非简单滑动窗口 |
诊断系统 (doctor) |
低 | 设置面板一键检查连接/模型/权限/磁盘 |
| 训练数据导出 | 中 | traces → SFT 格式导出 |
| Skill 渐进式加载 | 中 | Level 0→1→2,先返回名称+描述,需要时再加载全文 |
| Session 谱系跟踪 | 中 | 压缩后创建子 session,保留 parent_id |
六、Metona 的差异化定位
OpenClaw = 平台型(Gateway + Skills + 多通道 + 团队)
Hermes = 进化型(学习循环 + 记忆 + 技能自动生成)
Metona = 桌面型(原生体验 + 系统集成 + 离线优先)
Metona 的独特价值:
✅ 零配置启动(npm start 即用)
✅ 系统托盘 + 原生文件对话框
✅ 工作空间面板(终端 + 文件浏览器一体化)
✅ 暖色调 UI(非暗色主题,长时间使用不疲劳)
✅ 全离线运行(数据不离开本机)
已吸收(v5.0.0 ~ v5.1.3):
✅ 技能自动生成(Hermes) — v5.1.0
✅ 用户画像模型(Hermes) — v5.0.0
✅ /retry /undo 会话操作(共同) — v5.0.0
✅ MCP 生态对接(共同) — v5.0.0
✅ 浏览器控制(共同) — v5.0.0
✅ Heartbeat 主动检查(OpenClaw) — v5.0.0
✅ Cron 定时任务(OpenClaw) — v5.0.0
✅ 子代理委派(共同) — v5.0.0
✅ 记忆容量管理 + 安全扫描(Hermes) — v5.1.2 / v5.1.0
✅ Shadowing 防护(Hermes) — v5.1.2
✅ 预算警告临时层(Hermes) — v5.1.2
待吸收:
🔜 /compress 上下文压缩(Hermes Context)
🔜 诊断系统 doctor(Hermes)
🔜 Skill 渐进式加载(Hermes)
🔜 训练数据导出(Hermes)
最终形态 = 会学习的桌面 Agent
= Metona 的原生桌面体验
+ Hermes 的学习进化能力
+ OpenClaw 的工程化实践
最后更新:2026-04-19(根据 v5.1.3 实际代码更新实施状态)