OpenClaw的agent

OpenClaw 的 Agent 系统是一个多会话、可组合的 AI 助手框架。核心概念:

OpenClaw Gateway (守护进程)
    │
    ├── Main Session (主会话) ← 你正在使用的
    │   ├── 直接与你对话
    │   ├── 可以 spawn 子 Agent
    │   └── 管理长期记忆 (MEMORY.md)
    │
    ├── Subagents (子 Agent)
    │   ├── 独立运行在隔离会话中
    │   ├── 执行特定任务
    │   └── 完成后返回结果
    │
    └── Isolated Sessions (隔离会话)
        ├── 用于后台任务
        └── 通过 cron 定时触发

当前主gateway工作区结构如下:

/data/openclaw/workspace/
│
├── SOUL.md          # 我是谁(人格、性格、行为准则)
├── USER.md          # 你是谁(用户信息、偏好)
├── IDENTITY.md      # 我的身份定义
├── AGENTS.md        # Agent 工作指南(多 Agent 协作规则)
├── TOOLS.md         # 工具使用说明(本地配置)
├── MEMORY.md        # 长期记忆(主会话专用)
├── HEARTBEAT.md     # 心跳任务列表
├── memory/          # 每日记忆文件
│   └── YYYY-MM-DD.md
│
├── .learnings/      # 自我改进日志(刚创建的)
│   ├── LEARNINGS.md
│   ├── ERRORS.md
│   └── FEATURE_REQUESTS.md
│
└── skills/          # 已安装的 Agent Skills
    └── self-improving-agent/

Agent 的两种运行模式

主会话 (Main Session):

  • 当前在gateway这里与人对话的这个
  • 可以访问 MEMORY.md(长期记忆)
  • 可以 spawn 子 Agent 执行任务

子 Agent (Subagent)

  • 通过 sessions_spawn 创建
  • 运行在隔离环境中
  • 有独立的任务和目标
  • 完成后返回结果给主会话

举例:spawn 一个子 Agent 来写代码

核心工具用途示例
sessions_list查看所有会话查看活跃的子 Agent
sessions_spawn创建子 Agent委派任务给专门的 Agent
sessions_send发送消息到会话与子 Agent 通信
sessions_history查看历史查看子 Agent 做了什么
subagents管理子 Agent列出/终止/指导子 Agent

场景 1: 简单任务(直接在主会话完成)

你:帮我删除 models.providers 里的 qwen-local 配置
我:直接执行 → 完成 ✅

场景 2: 复杂任务(spawn 子 Agent)

你:帮我重构整个项目的代码结构
我:
  1. spawn 一个 coding subagent
  2. 子 Agent 分析代码 → 提出方案 → 执行重构
  3. 返回结果给我
  4. 我汇总报告给你

场景 3: 后台任务(使用 cron)

你:每天早上 9 点提醒我查看邮件
我:
  1. 创建一个 cron job
  2. 每天 9:00 触发
  3. 发送提醒消息给你

场景4:多 Agent 协作

你:帮我开发一个完整的功能
我:
  ├─ Agent A: 需求分析
  ├─ Agent B: 编写代码
  ├─ Agent C: 测试
  └─ 我:汇总结果给你

OpenClaw 有两种记忆:

1、短期记忆 (memory/YYYY-MM-DD.md)

  • 每天一个文件
  • 记录当天发生的事
  • 自动创建

2、长期记忆 (MEMORY.md)

  • 只有主会话能访问
  • 需要手动提炼重要信息
  • 跨会话持久化

记忆维护流程:

每天发生的事 → memory/2026-03-18.md (原始日志)
     ↓
定期回顾(心跳时)
     ↓
提炼重要内容 → MEMORY.md (长期记忆)

子 Agent 不需要和主会话安装在同一台机器上,Agent 的部署方式如下:

本地部署(同一台机器)

  • 默认情况,子 Agent 和主会话在同一进程空间
  • 适合:快速任务、需要访问本地文件/工具的场景
  • 优点:零延迟、共享文件系统、无需网络配置

远程部署(不同机器)

OpenClaw 支持通过 Gateway 网络将子 Agent 运行在远程节点上:

你的笔记本 (主会话)
       │
       │ (通过 OpenClaw Gateway 网络)
       ▼
远程服务器 (子 Agent)
  - 可以是 VPS、树莓派、家庭服务器
  - 通过 Tailscale/内网穿透 连接
  - 每个节点有独立的 OpenClaw Gateway

混合部署

  • 主会话在云端 VPS
  • 子 Agent 在你家里的 NAS 上(访问本地文件)
  • 另一个子 Agent 在树莓派上(控制硬件)

标签