一、OpenClaw多Agent

思路: 基于多个飞书机器人应用实现,OpenClaw一个主Agent,多个子Agent,每个Agent都有单独的一个workspace,每个飞书机器人对应一个Agent

1.1 设计组织架构

我们模拟一个小公司的职能角色

老板、技术、内容、运营、财务

image/png

到OpenClaw,对应关系是:

老板 --> 主Agent,代理老板管理各子Agent

技术 --> Agent1,开发代码、做平台、做软件

内容 --> Agent2,内容创作

运营 --> Agent3,做内容运营

财务 --> Agent4,管理公司财务

1.2 飞书平台创建多个应用

1.2.1 创建第一个机器人应用

访问https://open.feishu.cn/app?lang=zh-CN,点击“创建企业自建应用”

1、定义“应用名称”、“应用描述”

image/png

2、添加机器人

image/png

3、权限管理

image/png

{    "scopes": {
        "tenant": [
          "aily:file:read",
          "aily:file:write",
          "application:application.app_message_stats.overview:readonly",
          "application:application:self_manage",
          "application:bot.menu:write",
          "cardkit:card:write",
          "contact:contact.base:readonly",
          "contact:user.employee_id:readonly",
          "corehr:file:download",
          "docs:document.content:read",
          "event:ip_list",
          "im:chat",
          "im:chat.access_event.bot_p2p_chat:read",
          "im:chat.members:bot_access",
          "im:chat:readonly",
          "im:message",
          "im:message.group_at_msg:readonly",
          "im:message.group_msg",
          "im:message.p2p_msg:readonly",
          "im:message:readonly",
          "im:message:send_as_bot",
          "im:resource",
          "sheets:spreadsheet",
          "wiki:wiki:readonly"
        ],
        "user": [
          "aily:file:read",
          "aily:file:write",
          "contact:contact.base:readonly",
          "im:chat.access_event.bot_p2p_chat:read"
        ]
      }
    }

image/png

4、创建版本并发布

image/png

5、获取应用凭证

image/png

6、事件与回调

说明,再没有配置openclaw和飞书关联之前,事件配置是无法保存,并且也无法添加事件的。

(1)配置事件

image/png

使用长连接

image/png

然后添加事件(注意,目前添加事件还不能成功添加,需要先去配置OpenClaw,等feishu插件是running状态时才回来添加事件)

image/png

(2)配置回调

配置为长连接

image/png

1.2.2 按同样的方法创建剩余四个

获取另外4个应用的App ID和App Secret

1、应用名称和描述

(1)技术、子Agent,专门用来做开发、运维等工作

(2)内容、子Agent,专门用来输出内容创作

(3)运营、子Agent,运营各个平台增长

(4)财务、子Agent,管理成本和业绩

1.2.3 配置OpenClaw实现多Agent

1、配置Agents

首先定义好你所有Agents的配置

{
  "agents": {
    "list": [
      {
        "id": "main",
        "model": "codexzh/gpt-5.3-codex",
        "default": true,
        "name": "大总管",
        "workspace": "/home/aming/.openclaw/workspace"
      },
      {
        "id": "dev",
        "model": "codexzh/gpt-5.3-codex",
        "name": "技术",
        "workspace": "/home/aming.openclaw/workspace-dev"
      },
      {
        "id": "content",
        "model": "codexzh/gpt-5.3-codex",
        "name": "内容",
        "workspace": "/home/aming/.openclaw/workspace-content"
      },
      {
        "id": "ops",
        "model": "codexzh/gpt-5.3-codex",
        "name": "运营",
        "workspace": "/home/aming/.openclaw/workspace-ops"
      },
      {
        "id": "finance",
        "model": "codexzh/gpt-5.3-codex",
        "name": "财务",
        "workspace": "/home/aming/.openclaw/workspace-finance"
      }
    ]
  }
}

修改配置文件openclaw.json

cd ~/.openclaw
cp openclaw.json  openclaw.json-`date +%F`
vi openclaw.json  # vi openclaw.json  # 找到agents那一段配置,替换为上面的json,替换为上

将这段

image/png

改为:

image/png

创建这几个agents对应的workspace目录

cd ~/.openclaw/
mkdir -p workspace-dev  workspace-content workspace-ops workspace-finance

重启gateway

openclaw gateway restart

2、配置channels

同样修改openclaw.json

找到channels里面的feishu相关配置,将

image/png

改为:

    "feishu": {
      "enabled": true,
      "dmPolicy": "open",
      "groupPolicy": "open",
      "accounts": {
        "main": {
          "appId": "cli_xxxx1(替换成你的)",
          "appSecret": "替换成你的 secret"
        },
        "dev": {
          "appId": "cli_xxxx2",
          "appSecret": "替换成你的 secret"
        },
        "content": {
          "appId": "cli_xxxx3",
          "appSecret": "替换成你的 secret"
        },
        "ops": {
          "appId": "cli_xxxx4",
          "appSecret": "替换成你的 secret"
        },
        "finance": {
          "appId": "cli_xxxx6",
          "appSecret": "替换成你的 secret"
        }
      }
    },

image/png

在openclaw.json里额外增加:

  "bindings": [
    { "agentId": "main", "match": { "channel": "feishu", "accountId": "main" } },
    { "agentId": "dev", "match": { "channel": "feishu", "accountId": "dev" } },
    { "agentId": "content", "match": { "channel": "feishu", "accountId": "content" } },
    { "agentId": "ops", "match": { "channel": "feishu", "accountId": "ops" } },
    { "agentId": "finance", "match": { "channel": "feishu", "accountId": "finance" } }
  ],
  "tools": {
    "agentToAgent": {
      "enabled": true,
      "allow": ["main", "dev", "content", "ops", "finance"]
    }
  },

我的openclaw.json文件参考这个: http://k.yuankeedu.com/openclaw.json