乐于分享
好东西不私藏

OpenClaw 多 Agent 指南:一个人,N 个 AI 大脑

OpenClaw 多 Agent 指南:一个人,N 个 AI 大脑

说实话,当你用 AI 助手用久了,可能会遇到这个问题:

工作群里有个 AI 帮你查文档,私人微信上有个 AI 聊天,Telegram 还有个 AI 帮你写代码——然后你发现,它们各玩各的,完全不认识彼此

数据是割裂的。你得重复讲同样的背景信息,A 知道的 B 不知道,B 学到的 C 又得重新来一遍。

挺崩溃的,对吧?

OpenClaw 的**多 Agent(多智能体)**就是为了解决这个问题的。一个 Gateway 网关,可以托管多个完全隔离的 AI"大脑",它们可以共享一个服务器,但各自独立工作。

今天咱们就来聊聊,怎么上手 OpenClaw 的多 Agent 功能。

先搞明白:什么是多 Agent?

说白了,"一个 Agent"就是一个完整的 AI 大脑:

  • 有自己的工作区(文件、笔记、技能)
  • 有自己的记忆(聊天历史、用户偏好,比如你爱喝冰美式)
  • 有自己的人设(性格、说话风格(比如有的调皮,有的严肃))

多 Agent就是——在一个 Gateway 里,可以同时跑好几个这样的"大脑"。

举个形象的例子:

这就像你家里有好几台电脑,但它们都在同一个局域网里。每台电脑都是独立的(有不同的桌面、不同的文件),但可以共享同一个网络和打印机。

OpenClaw 也是这个道理:多个 Agent 共享一个 Gateway,但每个 Agent 有自己独立的世界。

什么时候需要多 Agent?

说实话,不是所有人都需要。如果你只是一个人用一个 AI,单 Agent 就够了。

但以下这些场景,多 Agent 会帮上大忙:

场景 1:工作和生活分离

  • 工作 Agent:用 Opus 模型,连接 Slack、Teams,帮你查文档、写代码、写周报
  • 生活 Agent:用 Sonnet 模型,连接 WhatsApp,帮你查天气、提醒事项、聊天解闷

场景 2:团队成员共享服务器

你和同事共用一台服务器跑 OpenClaw,但你们不想看到彼此的聊天记录和工作区。每人一个 Agent,完全隔离。

场景 3:不同渠道用不同模型

  • WhatsApp 用便宜快的 Sonnet,处理日常聊天
  • Telegram 用强大的 Opus,处理深度工作和复杂任务

场景 4:权限隔离

家庭群组里的 AI,只需要有限的权限(查天气、提醒),不能执行文件操作。而你的私人 AI,则拥有完整权限。

快速上手:3 步搞定多 Agent

第一步:添加新 Agent

openclaw agents add work

这会创建一个新 Agent,ID 为 work(你也可以改成别的,比如 deepwork)。

向导会问你要工作区路径,你可以选默认的 ~/.openclaw/workspace-work,或者指定一个你自己的目录(别问我怎么知道的,我刚踩过这个坑)。

第二步:配置绑定(Bindings)

绑定就是告诉 OpenClaw:哪条消息应该交给哪个 Agent 处理

举个简单的例子:WhatsApp 消息给 work Agent,Telegram 消息给 chat Agent。

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

  bindings: [
    { agentId: "chat", match: { channel: "whatsapp" } },
    { agentId: "work", match: { channel: "telegram" } },
  ],
}

第三步:重启 Gateway

openclaw gateway restart

搞定!现在你就有两个 Agent 在运行了。

进阶玩法:路由规则与多账户

按账户路由

如果你有两个 WhatsApp 号码(比如一个个人号,一个工作号),可以分别路由到不同 Agent:

{
  bindings: [
    { agentId: "chat", match: { channel: "whatsapp", accountId: "personal" } },
    { agentId: "work", match: { channel: "whatsapp", accountId: "biz" } },
  ],

  channels: {
    whatsapp: {
      accounts: {
        personal: {
          authDir: "~/.openclaw/credentials/whatsapp/personal",
        },
        biz: {
          authDir: "~/.openclaw/credentials/whatsapp/biz",
        },
      },
    },
  },
}

按人/群组路由

同一个 WhatsApp 号码,但你可以把不同的聊天对象路由到不同 Agent:

{
  bindings: [
    // 某个特定朋友的消息路由到"生活"Agent
    {
      agentId: "life",
      match: {
        channel: "whatsapp",
        peer: { kind: "dm", id: "+15551234567" },
      },
    },
    // 其他所有 WhatsApp 消息路由到"工作"Agent
    { agentId: "work", match: { channel: "whatsapp" } },
  ],
}

路由规则是优先级匹配的——越具体的规则越优先:

  1. peer(特定人/群组)最优先
  2. accountId(账户)次之
  3. channel(渠道)最后
  4. 回退到默认 Agent

权限隔离:家庭群组只读

这是我觉得最有用的功能之一。

家庭群组的 AI,你肯定不想让它随便删文件或者执行命令。你可以为它配置严格的权限:

{
  agents: {
    list: [
      {
        id: "family",
        name: "家庭助手",
        workspace: "~/.openclaw/workspace-family",
        identity: { name: "小虾" },

        // 只在 @提及时响应
        groupChat: {
          mentionPatterns: ["@family", "@小虾", "@Family Bot"],
        },

        // 沙箱隔离
        sandbox: {
          mode: "all",
          scope: "agent",
        },

        // 只允许这些工具
        tools: {
          allow: [
            "read",
            "sessions_list",
            "sessions_history",
            "session_status",
          ],
          // 拒绝这些危险操作
          deny: [
            "write",
            "edit",
            "apply_patch",
            "exec",
            "browser",
          ],
        },
      },
    ],
  },

  bindings: [
    {
      agentId: "family",
      match: {
        channel: "whatsapp",
        peer: { kind: "group", id: "120363999999999999@g.us" },
      },
    },
  ],
}

这样一来,家庭群组的 AI 就被"关在笼子"里了,只能查查天气、看看日历,乱删文件?想都别想。

常见问题

Q: 多个 Agent 会共享聊天记录吗?

不会。每个 Agent 的会话存储是独立的,互不影响。如果你想让它们共享,需要手动复制或者启用 tools.agentToAgent

Q: 能否让 Agent A 给 Agent B 发消息?

可以,但默认关闭。你需要在 openclaw.json 里显式启用:

{
  tools: {
    agentToAgent: {
      enabled: true,
      allow: ["chat", "work"], // 允许这两个 Agent 互相通信
    },
  },
}

Q: 工作区里的技能是共享的吗?

每个工作区有自己的 skills/ 文件夹,但全局技能在 ~/.openclaw/skills,所有 Agent 都能访问。如果你想给某个 Agent 单独加技能,就在它的工作区里放。

总结

说实话,OpenClaw 的多 Agent 功能,用一句话概括就是:

在同一个 Gateway 里,跑多个完全独立的 AI 大脑。

(听起来很高级,但其实就是这么简单(笑))

适用场景:

  • 工作/生活分离
  • 团队共享服务器
  • 不同渠道用不同模型
  • 权限隔离(家庭群组只读,私有 AI 全权限)

快速上手:

openclaw agents add work
# 配置 bindings
openclaw gateway restart

就这么简单。

最后问一句:你现在有几个 AI 助手在跑?要不要试试把它们整合到一个 Gateway 里?🦐