📌 本讲摘要 · 读爆款 Agent 的源码不是为了抄功能、而是为了反推它们做对了什么。本讲拆解 OpenClaw(Star 第 1、平台型)与 Hermes(Star 第 2、工程型)这两类代表性 Agent、提炼出 4 大共通设计密码(Harness / Channel / Skills / SubAgent)和 5 个可复用工程范式。学完本讲、你应该能用看 3 套源码、提炼 1 个范式、落地 1 个项目的方法、持续从爆款里吸取养分、而不是只会用 Claude Code 自带的命令。

1. 什么是爆款 Agent:三维度筛选标准

爆款不等于下载量第一、而是有可学习价值的产品。本讲用三个维度筛选:

维度 硬指标 软指标 为什么重要
行业口碑 GitHub star > 5K 被官方文档 / 大会引用 说明被同行验证过
架构代表性 开源 + 代码可读 作者愿意讲架构 说明有可学的设计选择
工程化深度 有完整的 CI / 测试 / 文档 有企业用户在生产用 说明不是 demo 级玩具

按这三个维度筛、本讲选 OpenClaw(平台型、生态化)、Hermes(工程型、极致本地化)做样本。两者刚好代表 Agent 产品的两个极端、合起来覆盖 80% 的设计选择。

排名 仓库 Star 数 本讲定位
1 OpenClaw ⭐ 381K 平台型代表、本讲重点拆解
2 Hermes Agent ⭐ 205K 工程型代表、本讲重点拆解
3 AutoGPT ⭐ 185K 早期范式参考
4 LangChain ⭐ 140K LLM 框架参照
5 Claude Code ⭐ 135K 本课程主线
6 Browser-Use ⭐ 101K 浏览器 Agent 范式

📊 最终核查结果(数据截至 2026-06-29):OpenClaw 与 Hermes 正是当前 GitHub Star 排名前二的 Agent 项目、用它们做样本、就等于站在行业最高点反推设计密码。

⚠️ 坑 1 · 只看 star 数选型——很多高 star 仓库是 awesome-list 型、只是收集链接没有设计选择;反过来、有些 star 不高但设计极精巧的项目反而更值得学。本讲选 OpenClaw 与 Hermes、不仅是 star 高、更因为它们刚好覆盖"平台型 vs 工程型"两个极端。

2. OpenClaw 架构深读:平台型 Agent 的 7 层骨架

实战代码块 1 — OpenClaw 的 7 层模块结构。看仓库根目录能反推它的设计意图:

OpenClaw/
├── 01-frontend/          # Web UI / TUI / IDE 插件
├── 02-runtime/           # Agent 执行循环
├── 03-tools/             # 工具层(Bash / Read / Edit / Grep ...)
├── 04-channels/          # 跨平台通道(Telegram / Slack / CLI)
├── 05-memory/            # 长期记忆 + CLAUDE.md 解析
├── 06-skills/            # Skills 注册中心
└── 07-deployment/        # 部署 / CI / Plugin 打包

OpenClaw 走平台化路线——核心思想是 Agent 不只是一个 CLI、而是一个能挂任意前端、任意通道、任意 Skills 的中间层。这跟 Claude Code CLI 的定位不太一样:Claude Code 是一个具体的产品,OpenClaw 是一个 Agent 操作系统。

它对我们最有启发的设计是 04-channels:同一个 Agent runtime、可以挂 Telegram bot / Slack app / Web chat / 桌面 GUI。用户从哪个通道发命令、Agent 都能响应。这种一次 runtime、多端可达是 2026 年 Agent 产品的标配。

职责 对应本课程 借鉴点
frontend UI 渲染 无直接对应(Claude Code 自带 TUI) 想清楚前端要不要做
runtime Agent 循环 第 23-24 讲 Agent SDK 循环要可中断、可恢复
tools 工具注册 第 20 讲 Tools 工具系统 工具要可插拔
channels 通道协议 无直接对应(可借鉴) 一次 runtime、多端可达
memory 记忆系统 第 3 讲 CLAUDE.md 记忆 记忆分层:short / long / project
skills 技能注册 第 10-16 讲 Skills 全系 Skills 要可发现、可降级
deployment 部署打包 第 25 讲 Plugins 一个 Skill = 一个独立 npm 包

3. Hermes 范式:配置即代码、Channel 协议、跨运行时

Hermes 是工程派的代表——它不是做一个新 Agent、而是让现有 Agent 跑得更好。三个核心范式:

实战代码块 2 — 配置即代码(Code as Config)。Hermes 把所有配置都用代码描述、不用 YAML / JSON:

// hermes.config.ts
import { defineConfig } from "@hermes/core";

export default defineConfig({
  agents: {
    default: {
      model: "claude-sonnet-4-7",
      system: "./prompts/main.md",
      tools: ["Bash", "Read", "Edit", "Grep"],
      skills: ["./skills/lint-fast", "./skills/test-runner"]
    },
    reviewer: {
      model: "claude-haiku-4-5",
      system: "./prompts/reviewer.md",
      tools: ["Read", "Grep"],
      isolated: true   // 独立上下文
    }
  },
  channels: {
    cli: { enabled: true },
    telegram: {
      token: process.env.TELEGRAM_BOT_TOKEN,
      webhook: "/api/telegram"
    }
  },
  hooks: {
    PreToolUse: "./hooks/pii-guard.ts"
  }
});

这个范式的价值:用 TypeScript 写配置、可以 import 别的模块、可以用类型检查、可以在配置里跑逻辑。对比 JSON / YAML 配置的纯数据路线、这是配置即代码——配置本身是项目里的一份源代码、可以被 lint、被 type-check、被测试。

Channel 协议:Hermes 定义了一个抽象的 Channel 接口、每个 Channel(CLI / Telegram / Web)都实现这个接口。Agent 不关心消息从哪来、只管我收到了一条消息、要给出回复。这种输入适配器模式让 Agent 真正做到端无关。

跨运行时:Hermes 的 runtime 抽象可以挂在 Node.js、Bun、Deno、甚至浏览器 Web Worker。核心是把 system prompt + tools + message 变成一个标准化的 task、丢给任何能跑 LLM 的环境。

⚠️ 坑 2 · 抄配置即代码但用 JS 不用 TS——没有类型保护的配置、改一个字段名 runtime 才发现错了。配置代码必须上 TypeScript + 严格模式。

4. 4 大共通设计密码:Harness / Channel / Skills / SubAgent

通读两个项目的源码、能反推出 4 个共通的设计密码:
在这里插入图片描述
这 4 个密码不是 OpenClaw / Hermes 独有的、而是 2025-2026 年所有头部 Agent 产品的共识:Claude Code、Gemini CLI、Cursor、Continue.dev、Cline 都在不同程度上实现了这 4 个。学完本课程、你已经掌握了 Claude Code 版本的全部 4 个、等于掌握了行业基准线。

5. 5 个可复用工程范式:从爆款反推范式

除了 4 大密码、还有 5 个工程范式也是行业标配:

范式 核心思想 代表项目 适用场景
范式 1 · 插件热加载 Skills / Plugins 运行时注册、无需重启 Claude Code、OpenClaw 频繁加新能力的产品
范式 2 · 工具白盒化 工具的 schema 显式声明、Agent 看得到 Hermes、Claude Code 需要 Agent 自主选工具
范式 3 · 流式思考 Agent 边想边吐 token、不要沉默 30 秒再回答 Cursor、Claude Code 所有交互式 Agent
范式 4 · 错误可恢复 工具调用失败时、Agent 能 retry 或 fallback OpenClaw、Agent SDK 长链路任务
范式 5 · 审计可观测 每次工具调用落日志、可回放 Hermes、Claude Code Hooks 企业 / 合规场景

实战代码块 3 — 工具白盒化。Hermes 的工具 schema 范本:

// tools/read-file.ts
import { z } from "zod";
import { defineTool } from "@hermes/core";

export default defineTool({
  name: "Read",
  description: "Read a file from the filesystem. Returns file content with line numbers.",
  input: z.object({
    file_path: z.string().describe("Absolute path to the file"),
    offset: z.number().int().min(0).optional().describe("Line offset to start from"),
    limit: z.number().int().min(1).max(2000).optional().describe("Max lines to read")
  }),
  output: z.object({
    content: z.string(),
    total_lines: z.number().int(),
    truncated: z.boolean()
  }),
  risk: "low",  // 告诉 Agent 这个工具的危险等级
  async execute({ file_path, offset = 0, limit = 2000 }) {
    // 实现 ...
  }
});

注意 risk: "low" 字段——这是把工具危险等级显式声明、Agent 在自主选工具时会参考。对比 Claude Code 的隐式风险(只能靠 deny 规则拦)、这是更显式的设计。

⚠️ 坑 3 · 抄工具白盒化但跳过 description——description 是 Agent 选工具的唯一依据、写读文件三个字远不如写读取文件内容、返回带行号的文本、适合查看代码或配置有用。

6. 拿来主义:在自己的项目里怎么抄作业

学完 OpenClaw 与 Hermes 的范式之后、怎么把这些范式带回自己的项目?推荐三步法:

实战代码块 4 — 抄作业 Checklist。每次读完一个爆款、过一遍这个清单:

# 爆款学习 Checklist

## 1. 它解决了什么问题?
- [ ] 用户痛点是什么?为什么非它不可?
- [ ] 替代品是什么?它比替代品好在哪?

## 2. 它的核心抽象是什么?
- [ ] 用 1 句话总结它的"主架构"
- [ ] 这个抽象可以套到我的项目吗?

## 3. 它做对了哪 3 件事?
- [ ] 列出最值得学的 3 个设计选择
- [ ] 每个选择为什么好?解决了什么具体问题?

## 4. 它做错了哪 1 件事?
- [ ] 列出最明显的 1 个缺陷
- [ ] 我能不能避免这个缺陷?

## 5. 我能从中拿走什么?
- [ ] 提炼 1 个可复用的范式(用 50 字内说清楚)
- [ ] 列出在我的项目里落地的 3 个具体动作

具体到本课程学完后、你已经能在 Claude Code 里直接用上这些范式(Harness / Skills / SubAgent / Channel / Hooks / Plugins)、所以"抄作业"的姿势应该是——**先在 Claude Code 里把范式用熟、再去读 OpenClaw / Hermes 源码验证哦原来人家也是这么做的、最后在 Agent SDK 上自己实现一遍。**

下面给出 OpenClaw 与 Hermes 的源码深读路径、按推荐顺序读、配合上面的 Checklist、能最快抽干它们的精华。

6.1 OpenClaw 源码深读指南

OpenClaw(OpenClaw/openclaw)是 GitHub Star 第 1 的 Agent 平台、读它不需要从头到尾看完、按这条路径走最快:

阅读顺序 目录 / 文件 看什么 对应本讲哪一节
02-runtime/ Agent 主循环怎么中断、怎么恢复 第 23-24 讲
04-channels/ 同一个 runtime 如何挂 Telegram / Slack / Web 第 2 节
03-tools/ 工具如何注册、如何插拔 第 20 讲
05-memory/ 短期 / 长期 / 项目三级记忆怎么分层 第 3 讲
06-skills/ Skills 的发现机制与降级策略 第 10-16 讲
07-deployment/ 一个 Skill 如何独立打包成 npm 第 25 讲

6.2 Hermes 源码深读指南

Hermes(NousResearch/hermes-agent)是 GitHub Star 第 2 的工程派 Agent、按这条路径读最出活:

阅读顺序 文件 / 模块 看什么 对应本讲哪一节
hermes.config.ts 配置即代码范式、TS 类型如何保护配置 第 3 节 · 配置即代码
channels/interface.ts Channel 接口如何抽象输入适配器 第 3 节 · Channel 协议
runtime/adapter.ts runtime 如何跨 Node / Bun / Deno / Web Worker 第 3 节 · 跨运行时
tools/read-file.ts 工具 schema 与 risk 字段如何白盒化 第 5 节 · 范式 2 工具白盒化
hooks/pii-guard.ts PreToolUse 钩子如何做敏感信息拦截 第 5 节 · 范式 5 审计可观测
agents/reviewer.ts 独立上下文的 reviewer agent 如何调度 第 4 节 · SubAgent 密码

⚠️ 坑 4 · 读源码不写笔记——3 个月后忘光。读完一个仓库、必须用 1 页纸总结它的主架构 + 3 个优点 + 1 个缺点、存进你自己的 knowledge base。

7. 一句话备忘

📖 读爆款源码、不是为了抄功能、而是为了反推它们做对了什么、再把范式带回自己的项目。

📚 学习建议 · 三个项目一起读、视角才能立体。建议按 Claude Code → OpenClaw → Hermes 的顺序交叉看:
① Claude Code 是你的"母语"、先把 Harness / Skills / SubAgent / Hooks / Plugins 玩熟、建立体感;
② OpenClaw 帮你跳出 CLI 视角、看一个真正的 Agent 平台怎么用 7 层骨架挂任意前端与通道、专攻"系统架构";
③ Hermes 帮你从工程派视角看范式——配置即代码、Channel 协议、跨运行时、工具白盒化、审计可观测——专攻"工程落地"。
读完之后、回头看任何 Agent(AutoGPT、LangChain、Browser-Use 等)都能很快定位它在 4 大密码和 5 个范式上的取舍。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐