赛道老大不是 Claude Code:四个 AI Agent Harness 的源码级实地调查
花了几天时间,把 OpenClaw / Hermes / Claude Code / OpenHuman 四个项目的关键源码挨个翻了一遍------不只是 README,是真正的架构文件、plugin SDK、agent loop、记忆引擎。这篇文章把读到的东西拆开讲,顺带做一个基于源码的选型对比。
一、先把数字摆出来
OpenClaw、Hermes、Claude Code、OpenHuman------这个赛道里最常被提到的四个项目,知道名字的人不少,但真正挨个翻过源码的不多。
这篇文章想做的事很简单:把代码打开,看看每个项目的真实架构壁垒在哪里,营销话术和实现之间的差距有多大,然后给出一个基于源码的选型判断。
先看一眼 GitHub 数字(截至 2026-05-21):
| 排名 | 项目 | Stars | License | 主语言 |
|---|---|---|---|---|
| 🥇 | openclaw/openclaw |
373,311 | MIT | TypeScript |
| 🥈 | NousResearch/hermes-agent |
158,308 | MIT | Python |
| 🥉 | anthropics/claude-code |
125,046 | 闭源 | TypeScript(npm 闭源分发) |
| 4 | tinyhumansai/openhuman |
21,954 | GPL-3.0 | Rust + TypeScript |
OpenClaw 创建于 2025 年 11 月,6 个月内 star 数超过了后三家之和。
我研究后的结论先抛出来:
- OpenClaw 才是这个赛道的架构深度最高的------plugin SDK 50+ 子路径、可插拔 harness、Memory Dreaming 三阶段记忆
- Hermes 是 OpenClaw 的 Python 重写改良版,加了自改进闭环和训练数据飞轮
- Claude Code 走 Anthropic 直营开发者的差异化路线,闭源但工程透明度最高
- OpenHuman 走消费级桌面 GUI 路线,代码 GPL 开源,但运行链路依赖自家闭源 backend
四者不是替代关系,是层叠关系------服务的是被这个市场切成四块的不同人群。
二、怎么读这四个项目
为了写这篇文章,我花了几天时间把四个项目的源码翻了一遍。
方法不复杂:主要是在 GitHub 上浏览目录结构,挑关键模块用 raw URL 直接读文件内容。OpenClaw 仓库 1.3 GB,全量克隆比较重,所以大多采用按需读取的方式------先看 tree 结构摸清骨架,再针对性地看 agent loop、plugin SDK、memory 等核心模块。
覆盖情况:
- OpenClaw:30+ 个关键文件,包含 7 个 scoped AGENTS.md、plugin SDK 入口、agent harness 注册表、Memory Dreaming 引擎、4 个 extension 入口
- Hermes:逐文件读了 14 个核心模块,完整覆盖 plugins/ 和 environments/ 目录
- Claude Code:主体源码闭源(npm 分发),通过 319 KB 的 CHANGELOG 和公开 plugin marketplace 反推能力
- OpenHuman:覆盖了 70+ 个 Rust 子系统的 mod.rs
下面进入正文。
三、OpenClaw:被忽视的赛道之王
3.1 项目身份
| 项 | 值 |
|---|---|
| 主导者 | steipete(Peter Steinberger,前 PSPDFKit 创始人),29,359 commits |
| 第二贡献者 | vincentkoc,5,564 commits(这条线索后面会用到) |
| Stars / Forks | 373,311 / 77,481 |
| License | MIT |
| 语言 | TypeScript(pnpm monorepo) |
| 默认模型 | OpenAI GPT-5.5 |
| 赞助商 | OpenAI / GitHub / NVIDIA / Vercel / Blacksmith / Convex |
| 主页 | openclaw.ai |
steipete 这个用户名 iOS/macOS 圈的人应该不陌生------Peter Steinberger 做过 PSPDFKit(后被 Nutrient 收购),工程纪律很高。
赞助商表格里 OpenAI 排第一,跟 OpenClaw 代码里设置的默认模型直接呼应:
typescript
// src/agents/defaults.ts
export const DEFAULT_PROVIDER = "openai";
export const DEFAULT_MODEL = "gpt-5.5";
export const DEFAULT_CONTEXT_TOKENS = 200_000;
3.2 形态:Gateway daemon + 跨设备 apps
OpenClaw 的产品形态不是 CLI、不是桌面应用,而是 Gateway daemon + 跨设备 nodes:
- 一个 launchd/systemd 用户服务跑 Gateway daemon(控制平面)
- macOS 菜单栏 app(带 Voice Wake + Canvas 渲染)
- iOS / Android nodes(与 Gateway 配对)
- WebChat(浏览器入口)
- 23 个 IM channel(WhatsApp/Telegram/Slack/Discord/iMessage/Matrix/Feishu/微信/QQ/...)
它的产品哲学写在 README 第一句:
"OpenClaw is a personal AI assistant you run on your own devices. It answers you on the channels you already use."
跟 Hermes 的"在 VPS 上跑、用 Telegram 调"不同,OpenClaw 的设计假设是:你有 Mac、iPhone、Android、桌面浏览器,想在所有这些设备上有一致的助理体验。
3.3 Plugin SDK 是赛道最深的
翻完 packages/plugin-sdk/package.json 后,我明白了 OpenClaw 真正的竞争壁垒在哪里。它的 exports 字段暴露了 50 多个独立子路径,每个都是一类运行时能力的独立契约:
| 类别 | 子路径 |
|---|---|
| Plugin 生命周期 | plugin-entry, plugin-runtime, plugin-config-runtime |
| Provider 系列 | provider-entry, provider-auth, provider-auth-runtime, provider-env-vars, provider-http, provider-tools, provider-stream-shared, provider-usage, provider-onboard, provider-web-search, provider-model-types, provider-model-shared |
| Channel 系列 | channel-runtime, channel-streaming, channel-secret-runtime, channel-activity-runtime |
| 基础运行时 | acp-runtime, cli-runtime, gateway-method-runtime, cron-store-runtime, time-runtime, text-runtime |
| 并发与可靠性 | concurrency-runtime, dedupe-runtime, delivery-queue-runtime, heartbeat-runtime, transport-ready-runtime, async-lock-runtime |
| 安全 | security-runtime, secret-input, secret-ref-runtime, ssrf-runtime, secure-random-runtime |
| 媒体/语音 | tts-runtime, talk-config-runtime, video-generation |
| 配置 & 模型 | config-runtime, config-types, config-mutation, config-contracts, model-session-runtime |
| 工具 | runtime-doctor, runtime-env, infra-runtime, error-runtime, testing, zod, compat |
这种粒度的 SDK 解构意味着:第三方插件作者可以只依赖自己需要的运行时,不会拖入整个核心。对比其他几家------Hermes 的 plugin 接口按目录组织,契约边界模糊得多;OpenHuman 已废弃 skills runtime;Claude Code 闭源不可比。
3.4 Agent Harness 居然是可插拔的
src/agents/harness/registry.ts 里有段代码让我停下来多读了一遍:
typescript
export function registerAgentHarness(
harness: AgentHarness,
options?: { ownerPluginId?: string },
): void {
getAgentHarnessRegistryState().harnesses.set(id, { harness, ownerPluginId });
}
OpenClaw 不是单一 agent loop------它是 harness host 。任何 plugin 都可以注册自己的 agent harness,host 根据 supports() 选择最合适的 harness 处理当前任务。
extensions/codex/index.ts 就是这么干的:
typescript
api.registerAgentHarness(
createCodexAppServerAgentHarness({ resolvePluginConfig }),
);
api.registerProvider(buildCodexProvider({ pluginConfig }));
也就是说 OpenAI Codex 在 OpenClaw 里是完整的、独立运行的 agent harness,跟 OpenClaw 默认的 pi-embedded harness 共存,由 host 按场景路由。
这是个比 Hermes 和 Claude Code 都高一级的抽象层。Hermes 是单一 conversation_loop,Claude Code 也是单一 harness(subagent 是工具,不是独立 harness),只有 OpenClaw 把"谁来跑这一轮"做成可插拔。
3.5 Memory Dreaming:基于神经科学的记忆引擎
src/memory-host-sdk/dreaming.ts 是我读到最出乎意料的一个文件------22 KB,定义了基于人类睡眠周期的三阶段记忆整合系统:
typescript
// Light Sleep --- 短期记忆整理(每 6 小时)
DEFAULT_MEMORY_LIGHT_DREAMING_CRON_EXPR = "0 */6 * * *"
DEFAULT_MEMORY_LIGHT_DREAMING_LOOKBACK_DAYS = 2
DEFAULT_MEMORY_LIGHT_DREAMING_DEDUPE_SIMILARITY = 0.9
// Deep Sleep --- 长期记忆固化(每天 3am)
DEFAULT_MEMORY_DEEP_DREAMING_CRON_EXPR = "0 3 * * *"
DEFAULT_MEMORY_DEEP_DREAMING_MIN_SCORE = 0.8
DEFAULT_MEMORY_DEEP_DREAMING_RECENCY_HALF_LIFE_DAYS = 14
// 健康度 < 0.35 时触发 recovery 流程
// REM Sleep --- 模式发现(每周日 5am)
DEFAULT_MEMORY_REM_DREAMING_CRON_EXPR = "0 5 * * 0"
DEFAULT_MEMORY_REM_DREAMING_MIN_PATTERN_STRENGTH = 0.75
类型定义里还有 MemoryDreamingSpeed = "fast" | "balanced" | "slow"、MemoryDreamingThinking = "low" | "medium" | "high"。
横向比较一下:Hermes 有 7 天 curator 整理(单周期);OpenHuman 有 hourly tree summarizer(时间维度)。OpenClaw 是唯一把人类睡眠分期直接搬进 agent 记忆架构的------三套不同的 cron + 不同的最小分数 + 不同的回看天数 + 健康度恢复机制。
这个设计是过度工程还是真的有效,需要时间检验。但就架构野心来说,OpenClaw 在记忆这块的思考深度确实超出了赛道其他三个。
3.6 Live Canvas / A2UI:让 LLM 直接驱动跨平台 UI
extensions/canvas/index.ts 注册了一组 agent 工具:
typescript
const CANVAS_NODE_COMMANDS = [
"canvas.present", "canvas.hide", "canvas.navigate",
"canvas.eval", "canvas.snapshot",
"canvas.a2ui.push", "canvas.a2ui.pushJSONL", "canvas.a2ui.reset",
];
这些命令通过 HTTP 路由 + WebSocket 端点暴露给 paired nodes(macOS/iOS/Android)。LLM 可以直接调 canvas.a2ui.push 推送 UI 描述,让 macOS app 或 iPhone 上的 OpenClaw 客户端实时渲染。
OpenClaw 把这套协议叫做 A2UI(Agent-to-UI)------LLM 不再只能输出文字,而是能输出"在你 macOS 屏幕上现在显示这个表格"。这是 Hermes 和 Claude Code 完全没有的交互维度。
3.7 飞书集成深度(中国生态实证)
extensions/feishu/index.ts 里有 6 个工具子注册,让我对 OpenClaw 中国生态的重视程度有了新认识:
typescript
registerFeishuDocTools(api); // 飞书云文档
registerFeishuChatTools(api); // 飞书群聊
registerFeishuWikiTools(api); // 飞书知识库
registerFeishuDriveTools(api); // 飞书网盘
registerFeishuPermTools(api); // 飞书权限
registerFeishuBitableTools(api); // 飞书多维表格
这不是"调一下 webhook 算支持飞书"------是飞书完整产品线 6 个独立模块的工具集。这种深度只在 Hermes 上见过(Hermes 还多支持企微/钉钉/元宝/QQBot/微信公众号)。
3.8 给 AI agent 看的架构治理:scoped AGENTS.md
OpenClaw 仓库里有 7 个 scoped AGENTS.md,每个针对一个子系统,写明代码边界规则:
| Scope | 关键约束 |
|---|---|
src/agents/ |
测试 import-bound 是架构信号;hot path 不要冷加载完整 plugin runtime |
src/channels/ |
"channel 实现是核心,第三方走 plugin SDK";hot path 静态/动态 import 不混用 |
src/plugins/ |
"manifest-first"------discovery/validation 必须能在 runtime 之前完成 |
src/plugin-sdk/ |
"host loads plugins, plugins should not reach into host internals" |
src/gateway/ |
gateway 测试不要 materialize bundled plugin runtime;用轻量 artifact 代替 |
src/gateway/protocol/ |
schema 改变 = 协议改变,不是 refactor;prefer additive evolution |
extensions/ |
bundled plugin 与第三方 plugin 同等对待;不允许 deep import 核心内部 |
加上根目录 17 KB 的主规约------OpenClaw 是为 AI-agent 协作而设计的代码库,项目组维护代码的方式也大量借助 AI 编码工具,这或许是 steipete 一人能在 6 个月内贡献 29K commits 的原因之一。
读完这一节,我在想:未来一两年,"为 AI agent 优化的代码库结构"会不会成为新的工程规范?OpenClaw 在这件事上目前走得最靠前。
四、Hermes:OpenClaw 的 Python 重写改良版
4.1 项目身份
| 项 | 值 |
|---|---|
| 出品方 | Nous Research(同名公司也训 Nous Hermes 系列模型) |
| 主导者 | teknium1,4,561 commits(Nous Research 公众面孔) |
| Stars | 158,308 |
| License | MIT |
| 语言 | Python 3.11+ |
| 入口 | hermes / hermes-agent / hermes-acp |
| 包管理 | uv + pyproject.toml |
Hermes 的 GitHub topics 直接列出 ["claude-code", "clawdbot", "openclaw", "moltbot", "anthropic", "claude", ...]------它不掩饰跟 OpenClaw 的关系 ,甚至还做了 hermes claw migrate 命令专门用来从 OpenClaw 迁移数据。
4.2 单体反模式
Hermes 最大的工程负债是单体化。几个核心文件的行数:
| 文件 | 行数 |
|---|---|
cli.py |
14,330 |
run_agent.py |
4,115 |
agent/conversation_loop.py |
4,099 |
tools/skills_hub.py |
3,262 |
hermes_state.py |
3,193 |
agent/curator.py |
1,781 |
单文件 14000 行,对可读性、贡献门槛、测试覆盖都是挑战。这跟 OpenClaw 70+ 子系统的模块化形成鲜明对比。
4.3 自改进闭环(独有壁垒)
但 Hermes 在一个维度上确实是赛道独家------真实的自改进闭环。
每轮对话结束后,Hermes 会 fork 一个子 AIAgent,工具白名单限定为 memory + skill 工具,喂给它 _SKILL_REVIEW_PROMPT:
"Be ACTIVE --- most sessions produce at least one skill update... A pass that does nothing is a missed learning opportunity, not a neutral outcome."
子 agent 复用父进程的 provider/model/credentials/system prompt cache,增量代价很低。任务是:从刚才这轮对话里提取经验,自主创建或编辑技能。
每 7 天还有一次 curator 整理:
python
# agent/curator.py 注释
# Only touches agent-created skills ... Never auto-deletes --- only archives ...
# Pinned skills bypass all auto-transitions.
interval_hours = 7d
min_idle_hours = 2
archive_after_days = 90
curator 把碎片化的 agent-created 技能合并成 class-level umbrella skills,归档过期技能。
四个项目里只有 Hermes 实现了"做 → review → 提取技能 → 7 天后整理"的完整闭环。OpenClaw 有 Memory Dreaming 但是记忆侧的,Claude Code 的 skills 是用户创建的,OpenHuman 的 skills runtime 已废弃。
4.4 30 个 Provider + 7 个 Sandbox Backend
plugins/model-providers/ 下 30 个 provider 插件(全部用户直连,无中间商):
ai-gateway, alibaba, alibaba-coding-plan, anthropic, arcee, azure-foundry,
bedrock, copilot, copilot-acp, custom, deepseek, gemini, gmi, huggingface,
kilocode, kimi-coding, minimax, nous, novita, nvidia, ollama-cloud,
openai-codex, opencode-zen, openrouter, qwen-oauth, stepfun, xai, xiaomi, zai
tools/environments/ 下 7 个 sandbox backend:local / Docker / SSH / Singularity(HPC 集群)/ Modal / Daytona / Vercel Sandbox。唯一把 serverless(Modal/Daytona/Vercel)和 HPC(Singularity)当一等公民的 agent harness。
4.5 训练数据飞轮(独有)
trajectory_compressor.py(1,508 行)+ batch_runner.py + mini_swe_runner.py + datagen-config-examples/------这套工具链的目的很明确:
"Post-processes completed agent trajectories to compress them within a target token budget while preserving training signal quality."
Nous Research 用 Hermes 自身生成训练数据,训练下一代 Nous Hermes 工具调用模型。每个用户跑 Hermes 都是潜在的训练数据来源(如果开启数据共享)。这是研究取向的设计------OpenClaw 和 Claude Code 都没有这一层。
这也是 Hermes 跟 OpenClaw 的本质差异所在:OpenClaw 在做产品,Hermes 在做研究基础设施。
五、Claude Code:闭源但极度透明
5.1 一个反直觉的事实
anthropics/claude-code 仓库挂在 GitHub 公开,但主体源码不在里面:
.claude-plugin/marketplace.json ← 插件市场配置
CHANGELOG.md ← 319 KB
LICENSE.md ← 150 字节:"© Anthropic PBC. All rights reserved."
demo.gif ← 11 MB
plugins/ ← 公开的 Claude Code 插件示例
LICENSE.md 全文:
"© Anthropic PBC. All rights reserved. Use is subject to Anthropic's Commercial Terms of Service."
所谓"125K stars"主要在 star 这个 issue tracker / 文档 / 插件 marketplace 集中地。真正的 TS 源码通过 npm install -g @anthropic-ai/claude-code 闭源分发。
但这不是负面评价------Claude Code 的工程透明度反而可能是赛道最高的。
5.2 CHANGELOG 透明度的极致
319 KB 单文件 CHANGELOG,每个 release 30-50 条详细变更。最新 v2.1.145(2026-05-19)的部分条目:
- Added `claude agents --json` to list live Claude sessions as JSON
- Added `agent_id` and `parent_agent_id` attributes to `claude_code.tool`
OTEL spans, and fixed trace parenting so background subagent spans nest
under the dispatching Agent tool span
- Status line JSON input now includes GitHub repo and PR information
- /plugin Discover and Browse screens now show a plugin's commands, agents,
skills, hooks, and MCP/LSP servers before installation
- Fixed a permission-prompt bypass where bare variable assignments to
non-allowlisted environment variables in Bash commands were auto-approved
每条 bug 修复都标注 regression 来源("regression in 2.1.143")。这种自曝问题的透明度在闭源产品中罕见------Anthropic 在用 changelog 主动暴露问题,不是粉饰。
发布节奏:每天多次 patch(v2.1.145、v2.1.144、v2.1.143 在 7 天内全发了)。这是赛道里发布纪律最强的一家。
5.3 能力点
从 CHANGELOG 反推 Claude Code 的能力:
- Background sessions(
--bg、claude agents) agent_id/parent_agent_idOTEL spans------subagent 是一等公民- Plugin marketplace 安装前显示 token 成本预估
- Stop/SubagentStop hooks 含
background_tasks/session_crons worktree.bgIsolation配置(git worktree 隔离)- Voice push-to-talk in agent view
- 跨平台原生(macOS/Linux/Windows + WSL2)
Claude Code 是 Anthropic 直营的瘦 harness:把模型能力以最少抽象暴露给开发者,permission/tool/MCP 可组合,几乎所有"产品化"决策让位给 SDK 用户。
唯一的硬约束:只能用 Anthropic 模型。要换 OpenAI/Gemini/本地模型?没门。
六、OpenHuman:消费级商业 SaaS 的尴尬定位
6.1 项目身份
| 项 | 值 |
|---|---|
| 出品方 | Tinyhumans AI(创业公司) |
| 主导者 | senamakel,878 commits |
| Stars | 21,954 |
| License | GPL-3.0 |
| 语言 | Rust + TypeScript(Tauri 桌面壳) |
| 创建日期 | 2026-02-18(最年轻) |
OpenHuman 走的是消费级桌面 GUI 路线------桌宠 + 语音 + Memory Tree + Google Meet 真人化 bot。代码 70+ 子系统模块化清晰,工程质量不差。
但它的"开源"打了个折扣。
6.2 backend 锁定
composio/mod.rs 自己写道:
"everything goes through the backend. The backend owns the Composio API key, billing/margin, toolkit allowlist, HMAC webhook verification."
integrations/ 下的 apify / twilio / google_places 等同样:
"Each tool calls a backend endpoint (authenticated via JWT Bearer token) which handles external API calls, billing, rate limiting, and markup."
用户调任何第三方 API,都会被 OpenHuman 自家 backend 中转,backend 持有所有上游 API key、计费、加价。
远程 LLM 推理也是如此------inference/provider/openhuman_backend.rs 是唯一的远程 provider,模型 id 是 MODEL_REASONING_V1 / MODEL_REASONING_QUICK_V1 / MODEL_AGENTIC_V1 / MODEL_CODING_V1。用户看不到 Anthropic / OpenAI / Google 直连。
OpenHuman README 强调 "Private, Simple and extremely powerful" 和 "local-first"。Memory/Vault 端确实是本地(SQLite + FTS5 + bge-m3 向量),但集成调用与远程推理必经云端。"local-first"是半真半假。
代码 GPL 不影响 OpenHuman 变现,因为变现层在闭源 backend------有人 fork 了代码,没有那个 backend 也跑不起来 1000+ 集成和远程推理。这是 GPL 代码 + 闭源加价管道的商业模式。
6.3 但确实有亮点
公平讲,OpenHuman 有几个实打实的工程亮点:
- Memory Tree:root → year → month → day → hour 五层时间树,hourly summarizer,bge-m3 向量
- Google Meet 真人化 bot :完整 STT(
cloud_transcribe) → LLM(BackendOAuthClient) → TTS(ElevenLabseleven_turbo_v2_5) pipeline,VAD + 220 token 回复 cap - Subconscious tick loop:SQLite 后台 tick,每 5min 评估 → 执行 act 任务或升级
- Screen Intelligence(macOS-only):屏幕录制 + 辅助功能权限 + vision 模型摘要
但有一个营销 vs 实现的偏差值得指出:所谓 "TokenJuice ------smart token compression up to 80% reduction" 实际上是个 JSON 规则覆盖层,不是 ML 压缩------做的是 ANSI 剥除、dedup、head/tail 截断这种工程化 grep/sed。仓库里找不到任何度量代码支撑那个 80% 的数字。
6.4 一个有意思的人际链
OpenHuman tokenjuice/mod.rs 顶部的注释:
"Rust port of vincentkoc/tokenjuice."
vincentkoc 是谁?他正是 OpenClaw 的第二贡献者(5,564 commits)。OpenClaw 第二贡献者写的工具,被 OpenHuman 移植成 Rust 拿来用了。
这条人际链让赛道的"对立"叙事变得复杂------表面上 OpenHuman 把 OpenClaw 当假想敌(README 里写"OpenClaw waits for plugins to ferry context in"作为对比),但骨子里大家共享代码、共享开发者。
这种"竞争者之间互相借鉴"的状态,是健康开源生态的标志。
七、四方对比矩阵
| 维度 | OpenClaw | Hermes | Claude Code | OpenHuman |
|---|---|---|---|---|
| Stars | 373K | 158K | 125K | 22K |
| License | MIT | MIT | 闭源 | GPL-3.0 |
| 语言 | TypeScript | Python | TS(闭源) | Rust+TS |
| 默认模型 | OpenAI gpt-5.5 | 用户自配 | Anthropic | 自家 backend |
| 形态 | Gateway + macOS/iOS/Android | CLI + TUI + Gateway | CLI + IDE | Tauri 桌面 |
| 目标用户 | 跨设备个人助理 | 研究者/自托管 | 软件工程师 | 普通消费者 |
| Plugin SDK 子路径 | 50+ | 较少 | 闭源 | N/A(已废) |
| Agent harness 可插拔 | ✅ 多 harness | ❌ 单一 | 部分 | ❌ |
| Skills | ClawHub registry 5,400+ | self-improving curator | plugin marketplace | 已废弃 |
| MCP | client+server | client+server+ACP | client+server+hooks | client+server |
| 第三方集成 | 40+ extensions(直连) | 30 provider plugins(直连) | MCP 用户自接 | 强制经 backend |
| 本地推理 | ✅ Ollama | ✅ Ollama/LM Studio | ❌ | ✅ |
| 持久记忆 | Memory Dreaming Light/Deep/REM | MEMORY.md+8 plugins | CLAUDE.md | Memory Tree+Vault |
| 远程执行 | Docker/SSH/OpenShell | 7 backends Modal/Daytona/Vercel/HPC | git worktree | 仅本地 |
| 多平台 IM | 23 channels | 34 平台 | 0 | 少数 |
| 桌面集成 | macOS app + iOS/Android + Live Canvas | 无 | 无 | 桌宠+Meet bot |
| 训练数据生成 | ❌ | ✅ trajectory_compressor | ❌ | ❌ |
| Self-host | ✅ | ✅ | ❌ | △ 须替换 backend |
| 大厂赞助 | OpenAI/GitHub/NVIDIA/Vercel/Blacksmith/Convex | ❌ | Anthropic(自家) | ❌ |
7.1 多通道 IM 矩阵(中国生态值得单看)
| Channel | OpenClaw | Hermes | Claude Code | OpenHuman |
|---|---|---|---|---|
| ✅ | ✅ | ❌ | ✅ | |
| Telegram | ✅ | ✅ | ❌ | ❌ |
| Slack | ✅ | ✅ | ❌ | ❌ |
| Discord | ✅ | ✅ | ❌ | ❌ |
| iMessage | ✅ | ✅ (BlueBubbles) | ❌ | ❌ |
| Matrix | ✅ | ✅ | ❌ | ❌ |
| 飞书 Feishu | ✅ | ✅ | ❌ | ❌ |
| 微信 WeChat | ✅ | ✅ (公众号) | ❌ | ❌ |
| ✅ | ✅ (QQBot) | ❌ | ❌ | |
| 企微 WeCom | ❌ | ✅ | ❌ | ❌ |
| 钉钉 DingTalk | ❌ | ✅ | ❌ | ❌ |
| 元宝 Yuanbao | ❌ | ✅ | ❌ | ❌ |
| Twitch / Tlon / Nostr / Zalo / LINE | ✅ | ❌ | ❌ | ❌ |
| ❌ | ✅ | ❌ | ❌ | |
| 总数 | 23 | 34 | 0 | 少数 |
中国大陆开发者注意:Hermes 是唯一支持完整中国 IM 生态的(钉钉/企微/元宝三者齐全),OpenClaw 有飞书/微信/QQ 但缺钉钉企微元宝。
八、设计哲学的四种切片
商业模式
┌────────────────────────────────────┐
│ │
开源原教旨 平台中立 商业 SaaS
Hermes OpenClaw OpenHuman Claude Code
│ │
30 provider 直连 50+ plugin SDK 子路径 Anthropic 直连
训练数据飞轮 Memory Dreaming 闭源
Python monolith Live Canvas / A2UI 工程透明度极高
跨设备 nodes
四个项目解决的是同一个问题的不同切片,没有谁取代谁:
- Claude Code 服务软件工程师------CLI/IDE 编码取向
- OpenClaw 服务跨设备个人用户------多通道 + Live Canvas + 多设备 nodes
- Hermes 服务研究者 + 自托管玩家------MIT + 30 provider + 训练数据飞轮
- OpenHuman 服务普通消费者------桌面 GUI + 桌宠 + 一键安装
九、选型决策
10.1 决策树
你的主要场景是什么?
│
├─ 写代码 / IDE 集成 → 【Claude Code】
│ 除非:必须 self-host → 转 Hermes
│
├─ Agent 研究 / 训练数据生成 → 【Hermes】
│
├─ 个人多设备 AI 助理(国际用户) → 【OpenClaw】
│ 理由:赛道 #1,OpenAI 赞助,23 channels,Live Canvas,Memory Dreaming
│
├─ 桌面 GUI / 桌宠 / Meet bot → 【OpenHuman】
│
├─ 中国大陆完整 IM 生态 → 【Hermes】(钉钉/企微/元宝唯一支持)
│ 备选:OpenClaw(飞书集成深度极高)
│
├─ 远程 sandbox(Modal/Daytona/Vercel/HPC) → 【Hermes】
│
└─ 最大插件生态 / 可扩展性 → 【OpenClaw】(plugin SDK 50+ 子路径)
10.2 给四类典型用户的建议
👨💻 软件工程师 / 开发团队
- 主选:Claude Code(接受 Anthropic 锁定)
- 备选:Hermes(要省钱、self-host、换模型)
- 不推荐:OpenHuman / OpenClaw(消费级取向,不适合编码工作流)
🔬 AI 研究者 / 模型训练者
- 主选:Hermes(trajectory_compressor + 30 provider + MIT)
- 备选:OpenClaw(生态最大可作参照)
- 不推荐:Claude Code(闭源不可改造);OpenHuman(无训练面向工具)
🏠 跨设备个人助理(国际用户)
- 主选:OpenClaw(赛道 #1,最完整生态)
- 备选:OpenHuman(GUI 优先时)
🇨🇳 中国大陆用户
- 主选:Hermes(IM 生态最齐:钉钉/企微/元宝/飞书/微信公众号/QQ)
- 备选:OpenClaw(飞书 6 个工具子集深度极高)
十、四方关系图与收尾观察
┌──────────────────────┐
│ Anthropic │
│ Claude Code (闭源) │
└──────────┬───────────┘
│
"OpenClaw prefers Claude CLI reuse"
│
┌──────────────────────┼──────────────────────┐
│ │ │
┌────┴────┐ ┌──────┴──────┐ ┌────┴────┐
│OpenClaw │◄────────│ Hermes │ │OpenHuman│
│ 373K★ │ "claw │ 158K★ │ │ 22K★ │
│ MIT/TS │ migrate"│ MIT/Python │ │ GPL/Rust│
└─────────┘ └─────────────┘ └─────────┘
steipete teknium1 senamakel
🦞 lobster ☤ caduceus 🤖 桌宠
OpenAI 赞助 Nous Research Tinyhumans
跨项目代码继承:
• OpenClaw → Hermes 显式 mirror(hermes claw migrate)
• vincentkoc(OpenClaw#2) → tokenjuice → OpenHuman 移植
• Claude Skills → Hermes Skills("Inspired by")
• Claude CLI → OpenClaw CLI auth seam 复用
几个观察值得收尾说明:
第一:OpenClaw 才是事实赛道标杆,373K stars 不是偶然------是 OpenAI 等大厂赞助 + 50+ plugin SDK 子路径 + Memory Dreaming + Live Canvas + 跨设备 nodes 综合作用的结果。它在国内讨论度低更多反映了媒体覆盖偏差,不是项目本身的体量。
第二:Claude Code 的"标杆"是另一种------它不跟 OpenClaw 抢消费市场,而是专注 Anthropic 直营开发者垂类。两者在 OpenClaw 的 anthropic provider 里和谐共存:"OpenClaw prefers Claude CLI reuse when it is available on the host. Anthropic staff told us this OpenClaw path is allowed again."
第三:Hermes 是 OpenClaw 的开源左派------MIT + 多 provider + 自改进 + 训练飞轮,吸引了想"反 OpenClaw 锁定"的研究者群体。它直接做了 OpenClaw migration 工具,团队不否认借鉴。
第四:OpenHuman 是消费右派------GPL 代码 + 闭源 backend 加价管道,把 agent 包装成桌宠和 Meet bot 卖给普通用户。它的"local-first"叙事跟 backend 强依赖之间的张力,是消费级 AI 产品的典型矛盾。
第五:vincentkoc 跨项目贡献和 OpenClaw 复用 Claude CLI auth,显示这个赛道社区流动性高、互相借鉴。表面对立、骨子里共享代码------这是健康开源生态的迹象。
十一、写在最后
"agent harness"这个赛道远比公开讨论暗示的更大、更分化。
几条可以带走的判断:
- 要 self-host + 多 provider 自由 → Hermes
- 要跨设备个人助理(手机+电脑+IM)→ OpenClaw
- 要 Anthropic 模型写代码 → Claude Code
- 要桌面 GUI 一键安装 → OpenHuman
- 要中国大陆完整 IM 生态 → Hermes(首选)或 OpenClaw(备选)
数据时间戳 :GitHub 数据截至 2026-05-21 05:21 UTC,star/release 数字在快速变化,请以最新查询为准。本文所有源码引用均来自项目公开仓库 main 分支。Claude Code 主体源码闭源,相关分析基于公开 CHANGELOG 反推。