在前面 64 篇文章中,我们系统梳理了 Claude Code、Codex CLI、Hermes Agent 和 OpenCode 四大 AI 编程工具。从单体商业产品到开源代理操作系统,从沙箱安全到多 Agent 编排,我们看到了 AI 编程领域的快速演进。

OpenClaw 是什么?—— 定位与生态、与 Hermes 的关系、hermes claw migrate

简介

在前面 64 篇文章中,我们系统梳理了 Claude Code、Codex CLI、Hermes Agent 和 OpenCode 四大 AI 编程工具。从单体商业产品到开源代理操作系统,从沙箱安全到多 Agent 编排,我们看到了 AI 编程领域的快速演进。

而在今天这个系列中,我们将把目光转向 OpenClaw—— 一个经常被低估、却在特定场景下表现卓越的轻量级 AI 编程 Agent。

如果你用过 Claude Code 的完整功能,也试过 Codex CLI 的批量处理,还探索过 Hermes Agent 的技能系统——但有时你只是需要快速生成一段脚本、搭建一个原型、或者在资源受限的 VPS 上跑一个自动化任务——那么 OpenClaw 可能就是你要找的那个工具。

本文将从三个核心维度来全面解读 OpenClaw:

  1. 定位与生态 —— 它为什么存在、解决了什么问题、在整个 AI 编程工具图谱中占据什么位置
  2. 与 Hermes Agent 的关系 —— 两者如何互补、技术栈有何异同、什么时候该选哪个
  3. hermes claw migrate —— Hermes 提供的迁移工具如何将 OpenClaw 配置平滑转换为 Hermes 配置

目录

一、OpenClaw 的定位

1.1 名字背后的含义

"Claw"(爪子)这个名字并非随意选取——它暗示了这个工具的设计哲学:

精准、轻量、快速出击。

就像动物的爪子一样,OpenClaw 不追求大而全,而是专注于在需要的时候迅速完成任务:

  • 精准:块级编辑,只改需要改的部分
  • 轻量:小模型驱动,低 token 消耗,低内存占用
  • 快速:启动时间短,适合脚本化和自动化

1.2 设计目标

OpenClaw 的设计目标可以概括为一句话:

让 AI 编程工具在任何环境下都能跑起来,包括资源受限的服务器、嵌入式设备、甚至是树莓派。

这不是夸大其词。我们来看一个具体的对比:

text
┌─────────────────────────────────────────────────────────┐
│           各 Agent 最低资源要求对比                       │
├──────────────────┬──────────┬──────────┬───────────────┤
│ 工具             │ 内存     │ 磁盘     │ 启动时间      │
├──────────────────┼──────────┼──────────┼───────────────┤
│ Claude Code      │ ~512MB   │ ~200MB   │ ~3-5s         │
│ Codex CLI        │ ~384MB   │ ~150MB   │ ~2-3s         │
│ Hermes Agent     │ ~768MB   │ ~300MB   │ ~5-8s         │
│ OpenCode         │ ~256MB   │ ~100MB   │ ~1-2s         │
│ OpenClaw         │ ~128MB   │ ~50MB    │ <1s           │
└──────────────────┴──────────┴──────────┴───────────────┘

OpenClaw 的内存占用仅为 Claude Code 的 四分之一,磁盘占用仅为 四分之一,启动时间在 1 秒以内。这意味着你可以在一个 512MB 内存的 VPS 上流畅运行 OpenClaw,而这对于其他工具来说可能根本跑不起来。

1.3 典型使用场景

OpenClaw 最适合以下场景:

场景一:VPS / 云服务器上的自动化脚本

bash
# 在一台 1GB 内存的 VPS 上
# 用 OpenClaw 快速生成一个日志分析脚本

openclaw "分析 /var/log/nginx/access.log,统计最近 24 小时的请求分布,
         输出为 JSON 格式,包含状态码、IP 段、请求路径 Top 10"

场景二:树莓派 / 嵌入式设备

bash
# 在树莓派上快速搭建一个 IoT 数据收集脚本
openclaw "用 Python 写一个脚本,每 5 分钟从 DHT22 传感器读取温湿度,
         通过 MQTT 发送到 Home Assistant"

场景三:CI/CD 管道中的轻量代码生成

yaml
# GitHub Actions 中的轻量使用
- name: Generate migration
  run: |
    openclaw "基于以下模型定义生成 SQLAlchemy migration 脚本" \
      -f models/user.py -f models/order.py

场景四:快速原型开发

bash
# 10 分钟内搭一个 Flask API 原型
openclaw "用 Flask + SQLite 搭建一个待办事项 API,
         包含 CRUD 操作、用户认证、分页功能"

二、OpenClaw 的核心特性

2.1 轻量级模型驱动

OpenClaw 默认使用小型高效模型,这与 Claude Code 和 Hermes 追求"最强模型"的策略形成鲜明对比:

text
┌──────────────────────────────────────────────────────────┐
│              模型策略对比                                  │
├──────────────────┬──────────────────┬────────────────────┤
│                  │ Claude CodeOpenClaw           │
├──────────────────┼──────────────────┼────────────────────┤
│ 默认模型         │ Claude 4 Sonnet  │ 小型代码专用模型    │
│ 上下文窗口       │ 200K tokens32K-64K tokens     │
│ 单次任务 token~50K-200K~5K-15K            │
│ 适用场景         │ 复杂项目重构      │ 快速原型、脚本      │
│ 成本(每千次)    │ $15-$30$1-$3              │
└──────────────────┴──────────────────┴────────────────────┘

2.2 块级编辑(Block-level Editing)

OpenClaw 使用块级编辑策略,而不是精确到行级的编辑:

python
# 原始代码
def calculate_total(items):
    total = 0
    for item in items:
        total += item['price']
    return total

# OpenClaw 的块级替换方式
# 替换整个函数块,而不是修改特定行

这种方式的优势:

  • 容错率高:即使代码有轻微格式差异也能正确替换
  • 速度快:减少精细匹配的计算开销
  • 适合简单任务:对于脚本和原型开发足够使用

局限性也很明显:

  • 不适合大型重构:无法精确控制每一行的修改
  • 可能覆盖无关内容:块级替换可能包含不需要修改的部分

2.3 受限的 Shell 执行

OpenClaw 的 Shell 执行是受限的,这与 Claude Code 和 Hermes 的完整 Shell 支持不同:

bash
# OpenClaw 支持的基础命令
openclaw "运行以下命令并分析结果: ls -la"
openclaw "用 pip install 安装 requests 库"
openclaw "运行 python test.py 并报告结果"

# 不支持的操作(需要切换到 Hermes)
# - 复杂的多步 Shell 脚本
# - 交互式命令(如 vim、top)
# - 需要 sudo 权限的系统操作
# - 后台进程管理

2.4 简化的插件系统

OpenClaw 的插件系统相对简单,专注于核心编程能力:

yaml
# OpenClaw 配置文件中的插件部分
plugins:
  - name: python-linter
    enabled: true
    config:
      linter: flake8
      ignore: ["E501", "W503"]

  - name: formatter
    enabled: true
    config:
      tool: black
      line_length: 88

三、OpenClaw 在 AI 编程工具图谱中的位置

3.1 能力雷达图

text
                    代码理解深度
                        ▲
                        │
    多文件修改 ─────────┼────────── 上下文窗口
             ╲          │          ╱
              ╲    ╭────┼────╮    ╱
               ╲  ╱     │     ╲  ╱
                ╱       │       ╲
               ╱   ╭────┼────╮   ╲
              ╱  ╱     │     ╲   ╲
    轻量快速 ───────┼────── 模型能力
             ╲  ╲     │     ╱   ╱
              ╲  ╲    │    ╱   ╱
               ╲  ╲   │   ╱   ╱
                ╲  ╲  │  ╱   ╱
    资源占用低 ──╲───┼─╱─── 自动化能力
                    │
                扩展生态

    ── Claude Code  ████████░░
    ── Hermes Agent ███████░░░
    ── OpenCode    ██████░░░░
    ── OpenClaw    ████░░░░░░  ← 轻量但够用

3.2 生态位分析

在整个 AI 编程工具生态中,OpenClaw 占据着独特的轻量级生态位

text
按照「复杂度 → 轻量级」光谱排列:

Claude Code ←─────────────────────────────────────────→ 最重
    │
    ├── 最强大的代码理解
    ├── 最丰富的工具链
    └── 最高的资源消耗

Hermes Agent ←─────────────────────────────────────→ 中等偏重
    │
    ├── 最灵活的扩展能力
    ├── 最完整的功能覆盖
    └── 可配置的资源消耗

OpenCode ←───────────────────────────────────────→ 中等
    │
    ├── 平衡的功能与性能
    ├── 多 Provider 支持
    └── 适中的资源消耗

OpenClaw ←──────────────────────────────────────→ 最轻
    │
    ├── 最快速的启动
    ├── 最低的资源消耗
    └── 最简单的操作

3.3 选型决策树

text
你需要 AI 编程工具?
    │
    ├── 需要处理 1000+ 文件的大型项目?
    │   └──→ Claude Code 或 Hermes Agent
    │
    ├── 需要完整的 CI/CD 集成和批量处理?
    │   └──→ Codex CLI 或 Hermes Agent
    │
    ├── 需要在多种模型之间自由切换?
    │   └──→ OpenCode 或 Hermes Agent
    │
    ├── 需要在资源受限的环境运行?
    │   └──→ OpenClaw ← 这里!
    │
    ├── 需要快速原型开发?
    │   └──→ OpenClaw ← 这里!
    │
    └── 需要在脚本中快速调用 AI?
        └──→ OpenClaw ← 这里!

四、OpenClaw 与 Hermes Agent 的关系

4.1 技术渊源

OpenClaw 和 Hermes Agent 有着共同的技术渊源——它们都诞生于 Nous Research 的开源生态,但定位完全不同:

text
Nous Research 开源 AI 工具家族
    │
    ├── Hermes Agent
    │   └── 定位:完整的 AI 代理操作系统
    │       ├── 20+ Provider 支持
    │       ├── Skills 技能系统
    │       ├── 持久记忆
    │       ├── 多 Agent 编排
    │       └── 企业级部署
    │
    └── OpenClaw
        └── 定位:轻量级 AI 编程 Agent
            ├── 小型模型驱动
            ├── 低资源消耗
            ├── 快速启动
            ├── 块级编辑
            └── 脚本化友好

4.2 互补关系

OpenClaw 不是 Hermes 的"简化版",而是一个互补的工具:

text
┌───────────────────────────────────────────────────────────┐
│                    使用场景矩阵                            │
├─────────────────────┬─────────────────┬───────────────────┤
│ 场景                │ 推荐工具        │ 原因              │
├─────────────────────┼─────────────────┼───────────────────┤
│ 日常开发(IDE 替代) │ Hermes Agent    │ 功能完整、记忆强  │
│ 大型项目重构        │ Hermes Agent    │ 精确编辑、深度理解 │
│ CI/CD 批量处理      │ Hermes Agent    │ 多实例、定时任务  │
│ 跨平台部署          │ Hermes Agent    │ 统一配置、Gateway │
│                     │                 │                   │
│ VPS 上的自动化脚本   │ OpenClaw        │ 低资源、快启动    │
│ 嵌入式设备开发      │ OpenClaw        │ 内存占用极低      │
│ 快速原型验证        │ OpenClaw        │ 简单直接          │
│ 一次性代码生成      │ OpenClaw        │ 成本低、速度快    │
│ 教学演示            │ OpenClaw        │ 配置简单、易上手  │
└─────────────────────┴─────────────────┴───────────────────┘

4.3 协同工作流

在实践中,OpenClaw 和 Hermes 可以协同工作:

bash
# 场景:在开发机器上用 Hermes 进行日常开发
# 但在 CI/CD 中的轻量任务用 OpenClaw

# 本地开发(Hermes)
hermes run "重构这个模块,提取接口,更新测试"

# CI 中的轻量任务(OpenClaw)
openclaw "检查这个 PR 的 diff,生成 changelog 条目"

# 迁移场景:当 OpenClaw 项目成长为需要更强大的工具时
hermes claw migrate --from openclaw --to hermes

五、为什么会有 hermes claw migrate

5.1 迁移的背景

很多开发者从 OpenClaw 开始他们的 AI 编程之旅,因为:

  1. 入门门槛低:配置简单,几乎零学习成本
  2. 资源友好:在老旧笔记本或廉价 VPS 上也能运行
  3. 快速上手:安装即用,不需要复杂的配置

但随着项目复杂度提升,开发者往往会遇到 OpenClaw 的瓶颈:

text
OpenClaw 能力边界
    │
    ├── ❌ 无法精确编辑大型文件(块级编辑的局限)
    ├── ❌ 上下文窗口不够用(32K vs 200K)
    ├── ❌ 缺乏持久记忆(每次重新开始)
    ├── ❌ 无法多 Agent 协作(单 Agent 架构)
    ├── ❌ 插件生态有限(简单插件系统)
    └── ❌ 缺少企业级功能(权限、审计、Gateway

当这些瓶颈出现时,开发者需要迁移到 Hermes Agent——但手动迁移配置、调整工作流、重新学习操作是一个痛苦的过程。

5.2 hermes claw migrate 的使命

hermes claw migrate 命令就是为了解决这个问题而生的:

bash
# 一键迁移 OpenClaw 配置到 Hermes
hermes claw migrate --from openclaw --to hermes

# 带选项的迁移
hermes claw migrate \
  --config ~/.config/openclaw/config.yaml \
  --output ~/.config/hermes-agent/config.yaml \
  --dry-run \                    # 先预览,不实际写入
  --include-providers \          # 迁移 Provider 配置
  --include-plugins              # 迁移插件配置

5.3 迁移过程详解

迁移工具会自动处理以下内容:

text
┌─────────────────────────────────────────────────────────┐
│              迁移内容对照表                               │
├──────────────────────┬──────────────────────────────────┤
│ OpenClaw 配置项       │ 迁移到 Hermes 的配置项            │
├──────────────────────┼──────────────────────────────────┤
│ provider.model       │ provider.model                   │
│ provider.api_key     │ providers[].api_key              │
│ plugins[].name       │ toolsets[].name                  │
│ plugins[].config     │ toolsets[].config                │
│ editor.block_size    │ editor.strategy = "block"        │
│ memory.enabled       │ memory.enabled                   │
│ shell.restrict       │ permissions.shell = "restricted" │
└──────────────────────┴──────────────────────────────────┘

迁移过程的安全机制:

bash
# 第一步:dry-run 预览(推荐)
hermes claw migrate --dry-run

# 输出预览:
# 将迁移以下配置:
#   ✓ Provider: openai → providers[0]
#   ✓ 模型: gpt-4o-mini → provider.model
#   ✓ 插件: python-linter → toolsets[0]
#   ✓ 插件: formatter → toolsets[1]
#   ⚠ 注意: OpenClaw 的 block 编辑模式将在 Hermes 中
#          自动映射为 editor.strategy = "block"
#   ⚠ 注意: Hermes 支持精确行级编辑,建议考虑切换

# 第二步:确认迁移
hermes claw migrate --confirm

# 第三步:验证
hermes doctor

六、技术架构对比

6.1 整体架构

text
┌─────────────────────────────────────────────────────────────┐
│                     Hermes Agent 架构                        │
│                                                             │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌────────────┐  │
│  │ TUI/CLI  │  │ Gateway  │  │ Cron     │  │ Multi-Inst │  │
│  └────┬─────┘  └────┬─────┘  └────┬─────┘  └─────┬──────┘  │
│       └──────────────┴──────────────┴──────────────┘        │
│                          │                                  │
│  ┌───────────────────────▼───────────────────────────────┐  │
│  │                    Core Engine                         │  │
│  │  ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │  │
│  │  │ Skills   │ │ Toolsets │ │ Memory   │ │ Sessions │ │  │
│  │  └──────────┘ └──────────┘ └──────────┘ └──────────┘ │  │
│  └───────────────────────┬───────────────────────────────┘  │
│                          │                                  │
│  ┌───────────────────────▼───────────────────────────────┐  │
│  │                   Provider Layer                       │  │
│  │  ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐        │  │
│  │  │Anthro│ │OpenAI│ │Google│ │Ollama│ │ 20+  │        │  │
│  │  └──────┘ └──────┘ └──────┘ └──────┘ └──────┘        │  │
│  └───────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────┐
│                     OpenClaw 架构                            │
│                                                             │
│  ┌──────────────────────┐                                   │
│  │      CLI / Pipe      │                                   │
│  └──────────┬───────────┘                                   │
│             │                                               │
│  ┌──────────▼───────────────────────────────────────────┐   │
│  │                 Core Engine                           │   │
│  │  ┌──────────┐ ┌──────────┐ ┌──────────────────────┐  │   │
│  │  │ Editor   │ │ Shell    │ │ Plugin Manager       │  │   │
│  │  │ (Block)  │ │ (Limited)│ │ (Simple)             │  │   │
│  │  └──────────┘ └──────────┘ └──────────────────────┘  │   │
│  └──────────────────────┬───────────────────────────────┘   │
│                         │                                   │
│  ┌──────────────────────▼───────────────────────────────┐   │
│  │              Lightweight Provider                     │   │
│  │  ┌──────────────┐                                    │   │
│  │  │ Small Models  │                                    │   │
│  │  │ (32K-64K ctx) │                                    │   │
│  │  └──────────────┘                                    │   │
│  └───────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘

6.2 核心差异总结

维度 OpenClaw Hermes Agent
设计哲学 轻量、快速、简单 完整、灵活、可扩展
模型选择 小型高效模型 20+ Provider、任意模型
编辑策略 块级编辑 精确行级编辑
Shell 能力 受限执行 完整执行、后台进程
记忆系统 无持久记忆 跨会话持久记忆
插件系统 简单插件 Skills + Toolsets
部署形态 CLI + 管道 CLI + TUI + Gateway + Cron
适用场景 脚本、原型、轻量任务 日常开发、大型项目、企业部署
资源占用 ~128MB 内存 ~768MB 内存(可配置)
学习曲线 低(几乎零配置) 中(功能丰富需学习)

总结

OpenClaw 是 AI 编程工具生态中不可或缺的轻量级选手。它不是谁的"简化版"或"替代品",而是一个有着明确定位和独特价值的独立工具:

  • 资源消耗极低:在 128MB 内存环境下也能运行
  • 启动速度极快:1 秒内完成初始化
  • 配置极其简单:几乎零学习成本
  • 成本极低:token 消耗仅为重型工具的 1/4
  • 脚本化友好:完美的管道集成和自动化支持

同时,OpenClaw 与 Hermes Agent 形成了互补关系

  • 日常开发、大型项目 → Hermes Agent
  • 快速原型、轻量脚本、资源受限环境 → OpenClaw

当你的 OpenClaw 项目成长为需要更强大工具时,hermes claw migrate 可以帮你平滑过渡。

下篇预告

在下一篇 《安装与配置》 中,我们将深入 OpenClaw 的安装全流程,包括:

  • 📦 多种安装方式:pip、二进制、Docker
  • ⚙️ 配置文件结构:config.yaml 详解
  • 🔑 Provider 设置:如何配置模型后端和 API Key
  • 🩺 诊断工具:openclaw doctor 使用方法
  • 🐳 Docker 部署:在容器中运行 OpenClaw

无论你是第一次接触 OpenClaw,还是想深入了解配置细节,下一篇都将是你的完整指南。