返回 OpenClaw专栏

OpenClaw多Agent快速上手指南

OpenClaw多Agent快速上手指南(从入门到实战)

一、核心概念

1.1 什么是Agent?

一个Agent是一个完整隔离的"大脑",包含:

  • 独立工作区:AGENTS.md、SOUL.md、USER.md等个性化文件
  • 状态目录:存储认证配置、模型注册和会话数据
  • 会话存储:每个Agent独立的聊天历史记录

1.2 多Agent的价值

  • 多用户隔离:不同用户使用不同Agent,数据不共享
  • 多场景分离:个人助手、工作助手、编码助手等各司其职
  • 安全隔离:限制每个Agent的工具和权限

二、快速开始

2.1 创建Agent(使用向导)

openclaw agents add work    # 创建工作Agent
openclaw agents add coding  # 创建编码Agent
openclaw agents add family  # 创建家庭Agent

每个Agent自动获得独立的工作区和配置目录。

2.2 手动创建Agent

// ~/.openclaw/openclaw.json
{
  agents: {
    list: [
      {
        id: "main",
        default: true,
        name: "主助手",
        workspace: "~/.openclaw/workspace-main",
        agentDir: "~/.openclaw/agents/main/agent",
      },
      {
        id: "work",
        name: "工作",
        workspace: "~/.openclaw/workspace-work",
        agentDir: "~/.openclaw/agents/work/agent",
      },
    ],
  },
}

2.3 添加Binding(路由规则)

bindings: [
  // WhatsApp个人账号路由到main Agent
  { agentId: "main", match: { channel: "whatsapp", accountId: "personal" } },
  // WhatsApp工作账号路由到work Agent
  { agentId: "work", match: { channel: "whatsapp", accountId: "biz" } },
],

2.4 验证配置

openclaw agents list --bindings  # 查看所有Agent和绑定
openclaw gateway restart           # 重启应用配置

三、常见配置场景

3.1 多账号WhatsApp分离

场景:一个WhatsApp个人号码用于日常聊天,另一个工作号码用于商务沟通。

配置

# 链接两个WhatsApp账号
openclaw channels login --channel whatsapp --account personal
openclaw channels login --channel whatsapp --account biz
{
  agents: {
    list: [
      { id: "home", workspace: "~/.openclaw/workspace-home" },
      { id: "work", workspace: "~/.openclaw/workspace-work" },
    ],
  },
  bindings: [
    { agentId: "home", match: { channel: "whatsapp", accountId: "personal" } },
    { agentId: "work", match: { channel: "whatsapp", accountId: "biz" } },
  ],
}

3.2 按渠道分离(WhatsApp快聊 + Telegram深度工作)

场景:WhatsApp用于日常快速交流(Sonnet模型),Telegram用于深度思考任务(Opus模型)。

{
  agents: {
    list: [
      {
        id: "chat",
        name: "日常聊天",
        workspace: "~/.openclaw/workspace-chat",
        model: "anthropic/claude-sonnet-4-5",
      },
      {
        id: "opus",
        name: "深度工作",
        workspace: "~/.openclaw/workspace-opus",
        model: "anthropic/claude-opus-4-6",
      },
    ],
  },
  bindings: [
    { agentId: "chat", match: { channel: "whatsapp" } },
    { agentId: "opus", match: { channel: "telegram" } },
  ],
}

3.3 家庭群组专用Agent

场景:为家庭WhatsApp群创建一个安全、隔离的助手,限制工具权限。

{
  agents: {
    list: [
      {
        id: "family",
        name: "家庭助手",
        workspace: "~/.openclaw/workspace-family",
        identity: { name: "家庭机器人" },
        groupChat: {
          mentionPatterns: ["@family", "@familybot", "@家庭机器人"],
        },
        sandbox: {
          mode: "all",      // 始终沙盒运行
          scope: "agent",
        },
        tools: {
          allow: ["read", "sessions_list", "sessions_history"],
          deny: ["write", "edit", "exec", "browser", "canvas", "nodes"],
        },
      },
    ],
  },
  bindings: [
    {
      agentId: "family",
      match: {
        channel: "whatsapp",
        peer: { kind: "group", id: "120363999999999999@g.us" },
      },
    },
  ],
}

安全措施

  • 沙盒隔离:所有操作在容器中运行
  • 工具限制:只允许读取,禁止写入和执行
  • 提及触发:只响应特定@提及

3.4 单个DM路由到Opus(优先级匹配)

场景:大部分消息走快速Agent,但特定号码的对话路由到Opus进行深度思考。

关键原则:Peer绑定优先级最高,必须放在上面。

{
  agents: {
    list: [
      {
        id: "chat",
        model: "anthropic/claude-sonnet-4-5",
        workspace: "~/.openclaw/workspace-chat",
      },
      {
        id: "opus",
        model: "anthropic/claude-opus-4-6",
        workspace: "~/.openclaw/workspace-opus",
      },
    ],
  },
  bindings: [
    // Peer绑定优先级最高(精确匹配特定号码)
    {
      agentId: "opus",
      match: { channel: "whatsapp", peer: { kind: "direct", id: "+15551234567" } },
    },
    // 渠道级备用规则
    { agentId: "chat", match: { channel: "whatsapp" } },
  ],
}

四、路由规则详解

4.1 匹配优先级(从高到低)

  1. peer匹配:精确的DM/group/channel id
  2. parentPeer匹配:线程继承
  3. guildId + roles:Discord角色路由
  4. guildId:Discord服务器
  5. teamId:Slack工作区
  6. accountId匹配:特定渠道账号
  7. 渠道级匹配accountId: "*"
  8. fallback到默认Agent

4.2 多账号匹配

  • 绑定省略accountId时,只匹配默认账号
  • 使用accountId: "*"作为渠道级回退
  • 如果后续添加同agent的显式accountId绑定,OpenClaw会升级现有绑定而非重复创建

下一篇预告:安全与沙盒配置详解(进阶篇)