乐于分享
好东西不私藏

OpenClaw 多个 AI 智能体同时运行

OpenClaw 多个 AI 智能体同时运行

OpenClaw 多个 AI 智能体同时运行

在一个网关进程中运行多个独立的智能体,每个拥有自己的工作空间和会话历史。

什么是多智能体?

想象以下场景:

  • 你有一个 个人 WhatsApp,希望 AI 以友好随性的方式与家人聊天
  • 你还有一个 工作 Telegram,需要 AI 以专业严谨的方式协助编程
  • 你想要 不同的手机号,让不同的人联系不同的 AI 人格

OpenClaw 的多智能体方案 让这一切成为可能。

在一个网关进程中,你可以运行多个完全独立的智能体,每个智能体都有:

📁 独立的工作空间

  • 不同的 workspace 目录
  • 独立的配置文件(AGENTS.md、SOUL.md、USER.md)
  • 个性化的人设和规则

🔐 独立的账号配置

  • 每个智能体读取自己的配置文件
  • 主智能体的信息不会自动共享
  • 不同账号可以绑定不同的设置

💬 独立的会话历史

  • 每个智能体有自己的会话目录
  • 隔离的聊天记录
  • 独立的消息路由状态

快速开始

1️⃣ 创建多个智能体

使用命令或手动创建工作空间:

openclaw agents add codingopenclaw agents add social

每个智能体都会获得自己的工作空间,包含配置文件和会话目录。

2️⃣ 创建频道账号

为每个智能体创建一个频道账号:

  • Discord:每个智能体一个机器人,启用消息内容意图
  • Telegram:通过 BotFather 为每个智能体创建机器人
  • WhatsApp:每个账号链接一个手机号
openclaw channels login --channel whatsapp --account work

3️⃣ 添加智能体、账号和连接规则

在配置文件中添加智能体列表、频道账号,并通过连接规则将它们关联起来。

4️⃣ 重启并验证

openclaw gateway restartopenclaw agents list --connectionsopenclaw channels status --probe

多个智能体的优势

有了 多个智能体,每个 ID 都成为一个完全独立的角色

  • 不同的手机号/账号(每个频道的账号 ID)
  • 不同的个性(每个智能体的工作空间文件)
  • 独立的消息和会话(除非明确启用,否则没有跨对话)

这让 多个人可以共享一个网关服务器,同时保持他们的 AI 智能体和数据独立。

一个 WhatsApp 号码,多人使用

你可以将不同的 WhatsApp 消息路由到不同的智能体,同时保持在一个 WhatsApp 号码上。匹配发送方号码并使用直接消息类型。回复仍来自同一个 WhatsApp 号码。

重要细节:直接聊天会汇聚到智能体的主会话,因此真正的隔离需要每人一个智能体

示例配置:

{  agents:{    list:[{ id:"alex", workspace:"~/.openclaw/workspace-alex"},{ id:"mia", workspace:"~/.openclaw/workspace-mia"},],},  connections:[{      agentId:"alex",      match:{ channel:"whatsapp", peer:{ kind:"direct", id:"+15551230001"}},},{      agentId:"mia",      match:{ channel:"whatsapp", peer:{ kind:"direct", id:"+15551230002"}},},],  channels:{    whatsapp:{      messagePolicy:"allowlist",      allowFrom:["+15551230001","+15551230002"],},},}

消息选择规则

连接规则是确定性的,并且最具体优先

  1. peer 匹配(精确的消息/群组/频道 ID)
  2. parentPeer 匹配(线程继承)
  3. guildId + roles(Discord 角色路由)
  4. guildId(Discord)
  5. teamId(Slack)
  6. accountId 匹配某个频道
  7. 频道级别匹配
  8. 回退到默认智能体

多个账号 / 手机号

支持多个账号的频道使用账号 ID 来标识每个登录。每个账号 ID 可以路由到不同的智能体,因此一台服务器可以托管多个手机号而不会混合会话。

支持此模式的常见频道包括:whatsapptelegramdiscordslacksignalimessageirclinegooglechat 等。

平台示例

Discord 每个一个机器人

每个 Discord 机器人映射到一个唯一的账号 ID。将每个账户连接到一个智能体。

Telegram 每个一个机器人

使用 BotFather 为每个智能体创建机器人并复制令牌。

WhatsApp 每个一个号码

启动网关前先链接每个账户:

openclaw channels login --channel whatsapp --account personalopenclaw channels login --channel whatsapp --account biz

实际案例

案例 1:WhatsApp 日常聊天 + Telegram 深度工作

按频道分割:将 WhatsApp 路由到快速响应智能体,将 Telegram 路由到高级智能体。

案例 2:同一频道,特定联系人到高级智能体

保持 WhatsApp 在快速智能体上,但将一个消息路由到高级智能体。

案例 3:家庭智能体连接到 WhatsApp 群组

将专门的家庭智能体连接到单个 WhatsApp 群组,并附带限制和更严格的策略。

每个智能体的隔离配置

每个智能体都可以有自己的隔离和工具限制:

  • 个人智能体:无需隔离,所有工具可用
  • 家庭智能体:始终隔离,只能读取工具

优势:

  • 安全隔离:限制不受信任智能体的工具
  • 资源控制:将特定智能体隔离,同时保持其他在主机上
  • 灵活策略:每个智能体不同的权限

核心概念

  • 智能体 ID:一个"大脑"(工作空间、每个智能体的配置、每个智能体的会话存储)
  • 账号 ID:一个频道账户实例
  • 连接:通过(频道、账号、联系人)将入站消息路由到智能体 ID

开始使用

  1. 安装 OpenClaw
  2. 创建第一个智能体:openclaw agents add main
  3. 配置你的频道账号
  4. 添加连接规则
  5. 重启网关:openclaw gateway restart

详细文档:https://docs.openclaw.ai/concepts/multi-agent