乐于分享
好东西不私藏

OpenClaw 如何一次养多只龙虾

OpenClaw 如何一次养多只龙虾

你有没有想过:能不能用一个 OpenClaw 实例,同时服务多个人?

比如:

• 一个机器人给家人用,管日程、提醒家务

• 一个机器人给自己用,处理工作事务

• 一个机器人给部门群用,回答常见问题

答案是:可以!

OpenClaw 支持多智能体(Multi-Agent)配置,一个网关就能托管多个完全隔离的 AI "大脑"。

什么是"一个智能体"?

在 OpenClaw 里,一个智能体(Agent)是一个完全独立的作用域,拥有自己的:

• 工作区:独立的文件、人设(SOUL.md)、用户信息(USER.md)

• 会话存储:聊天历史完全隔离

• 认证配置:每个智能体可以有自己的权限和凭证

• 工具权限:可以限制某些智能体只能用特定工具

简单说:每个智能体就是独立的一套人格,互不干扰。

快速开始:添加一个新智能体

用一条命令就能创建:

openclaw agents add work

这会:

1. 创建新智能体 work

2. 生成独立的工作区 ~/.openclaw/workspace-work

3. 创建独立的状态目录 ~/.openclaw/agents/work/agent

查看所有智能体:

openclaw agents list --bindings

配置多智能体路由

要让消息正确路由到不同智能体,需要在 ~/.openclaw/openclaw.json 里配置 bindings

场景一:不同渠道 → 不同智能体

比如:飞书用于日常聊天,Telegram 用于深度工作。

{   
  "agents": {
    "list": [
      {
        "id": "chat",
        "name": "日常小助手",
        "workspace": "~/.openclaw/workspace-chat"
      },
      {
        "id": "deepwork",
        "name": "深度工作",
        "workspace": "~/.openclaw/workspace-deepwork"
      }
    ]
  },
  "bindings": [
    { "agentId": "chat", "match": { "channel": "feishu" } },
    { "agentId": "deepwork", "match": { "channel": "telegram" } }
  ]
}

这样,飞书消息自动走 chat 智能体,Telegram 消息走 deepwork 智能体。

场景二:同一渠道,不同人 → 不同智能体

假设你有一个飞书机器人应用,想让团队里两个人各自有自己的 AI 助手:

{
  "agents": {
    "list": [
      { "id": "alex", "name": "Alex 的助手", "workspace": "~/.openclaw/workspace-alex" },
      { "id": "mia", "name": "Mia 的助手", "workspace": "~/.openclaw/workspace-mia" }
    ]
  },
  "bindings": [
    {
      "agentId": "alex",
      "match": {
        "channel": "feishu",
        "peer": { "kind": "dm", "id": "ou_xxxxxxx1" }
      }
    },
    {
      "agentId": "mia",
      "match": {
        "channel": "feishu",
        "peer": { "kind": "dm", "id": "ou_xxxxxxx2" }
      }
    }
  ]
}

这里解释一下配置里的几个概念:

• DM:Direct Message,即"私信"。一对一聊天。

• peer.kind: "dm":表示匹配的是私信场景。

• peer.id:用户的唯一标识。在飞书里叫 open_id,格式像 ou_xxxxxxx

open_id 从哪来?

当用户给飞书机器人发消息时,OpenClaw 会自动识别发送者的 open_id。你不需要手动去查——只要用户给你发过消息,你就能从日志或管理界面看到他的 open_id。

也可以在飞书开放平台的"开发者工具"里,通过用户手机号或邮箱查到对应的 open_id。

配置之后的效果是:不同用户给同一个飞书机器人发私信,会被路由到不同的智能体。但对外看来,都是同一个机器人在回复。

场景三:特定群组 → 专用智能体

比如一个部门群想用专门的"部门助手":

{
  "agents": {
    "list": [
      {
        "id": "team",
        "name": "部门助手",
        "workspace": "~/.openclaw/workspace-team",
        "groupChat": {
          "mentionPatterns": ["@部门助手", "@team"]
        }
      }
    ]
  },
  "bindings": [
    {
      "agentId": "team",
      "match": {
        "channel": "feishu",
        "peer": { "kind": "group", "id": "oc_xxxxxxx" }
      }
    }
  ]
}

给每个智能体不同的权限

OpenClaw 支持为每个智能体设置不同的沙箱隔离工具权限

示例:个人助手无限制,部门助手严格限制

{
  "agents": {
    "list": [
      {
        "id": "personal",
        "workspace": "~/.openclaw/workspace-personal",
        "sandbox": { "mode": "off" }
      },
      {
        "id": "team",
        "workspace": "~/.openclaw/workspace-team",
        "sandbox": { "mode": "all", "scope": "agent" },
        "tools": {
          "allow": ["read"],
          "deny": ["exec", "write", "edit"]
        }
      }
    ]
  }
}

这样配置的好处:

• 安全隔离:限制不受信任的智能体

• 资源控制:某些智能体跑在沙箱里

• 灵活策略:不同智能体不同权限

路由规则:消息怎么选智能体?

绑定的匹配优先级(从高到低):

1. 精确 peer 匹配(特定私信/群组 ID)

2. guildId(Discord 服务器)

3. teamId(Slack 团队)

4. accountId 匹配(渠道账户)

5. 渠道级匹配(整个飞书/Telegram)

6. 默认智能体(default: true 的那个)

记住:更具体的规则优先!

给智能体设置人设

每个智能体可以有独立的"人格"。在工作区根目录创建 IDENTITY.md

# IDENTITY.md  
- **Name:** 工作助手 
- **Creature:** AI 秘书 
- **Vibe:** 专业、高效、不废话 
- **Emoji:** 💼

然后用命令加载:

openclaw agents set-identity --agent work --from-identity

这样每个智能体就有自己的名字、头像和性格了。

常见问题

Q:多智能体需要多个进程吗?

不需要。一个 Gateway 网关进程就能托管所有智能体。

Q:智能体之间能通信吗?

默认关闭。需要在配置里显式启用:

{
  "tools": {
    "agentToAgent": {
      "enabled": true,
      "allow": ["home", "work"]
    }
  }
}

Q:会话历史会混在一起吗?

不会。每个智能体有独立的会话存储,完全隔离。

总结

OpenClaw 的多智能体能力让你可以:

• 一个实例服务多个人

• 不同渠道用不同人格

• 每个智能体独立权限

• 完全会话隔离

非常适合家庭共享、团队协作、多角色场景。