多智能体协作不是梦,关键在于分层理解与正确配置。本文系统梳理 OpenClaw 中飞书群聊 A2A 的完整配置路径,适合想用飞书统一管理多个 Agent 团队的朋友。

一、先说清楚:OpenClaw 里 A2A 有两层

在 OpenClaw 体系里,飞书群聊「多智能体协作」通常有两种实现层,定位不同,不要混用。

1. 路由层 A2A(最常用、最稳定)

把不同飞书会话(DM / 群)路由到不同的 Agent(不同人格、不同 workspace、不同技能栈)。

核心配置:

  • agents.list — 定义所有 Agent 列表

  • bindings — 路由规则,决定消息进哪个 Agent

这是目前最推荐的做法,稳定、可控、易调试。

2. 工具层 A2A(显式代理互发)

通过 tools.agentToAgent 开启 Agent 之间消息互通能力(默认关闭)。

核心配置:

"tools": {
  "agentToAgent": {
    "enabled": false,
    "allow": ["main", "agent-a", "agent-b"]
  }
}
建议路径: 先上路由层 A2A,跑稳后再开工具层。不要在不稳定阶段就开工具层,给自己埋坑。

二、飞书接入 OpenClaw 的基础配置

以下是与飞书通道相关的核心配置项,建议在配置前先理解每个字段的作用。

"channels": {
  "feishu": {
    "connectionMode": "websocket",   // 推荐,保持长连接
    "dmPolicy": "pairing",          // DM 策略,pairing 为配对模式
    "groupPolicy": "open",          // 群策略:open | allowlist | disabled
    "groupAllowFrom": ["oc_xxx"],   // 允许接入的群 ID 列表
    "groups": {
      "<chat_id>": {
        "requireMention": true,     // 是否必须 @ 才触发,默认 true
        "allowFrom": ["ou_xxx"]     // 群内允许触发的人(open_id 列表)
      }
    }
  }
}

字段说明:

字段

可选值

说明

groupPolicy

open / allowlist / disabled

群聊访问控制级别

requireMention

true / false

true = 必须 @ bot 才响应

allowFrom

open_id 数组

白名单,只有列表中的人能触发


三、飞书群聊 A2A 配置模板

以下是一套可直接使用的完整模板,放到 ~/.openclaw/openclaw.json 中,按你的环境修改群 ID 和 open_id 即可。

{
  "agents": {
    "list": [
      {
        "id": "main",
        "default": true,
        "workspace": "~/.openclaw/workspace"
      },
      {
        "id": "wechat-agent",
        "workspace": "~/.openclaw/workspace-wechat",
        "agentDir": "~/.openclaw/agents/wechat-agent/agent"
      },
      {
        "id": "xhs-agent",
        "workspace": "~/.openclaw/workspace-xhs",
        "agentDir": "~/.openclaw/agents/xhs-agent/agent"
      }
    ]
  },
  "bindings": [
    {
      "agentId": "wechat-agent",
      "match": {
        "channel": "feishu",
        "peer": { "kind": "group", "id": "oc_wechat_group_xxx" }
      }
    },
    {
      "agentId": "xhs-agent",
      "match": {
        "channel": "feishu",
        "peer": { "kind": "group", "id": "oc_xhs_group_yyy" }
      }
    },
    {
      "agentId": "main",
      "match": {
        "channel": "feishu",
        "peer": { "kind": "direct", "id": "ou_your_personal_id" }
      }
    }
  ],
  "tools": {
    "agentToAgent": {
      "enabled": false,
      "allow": ["main", "wechat-agent", "xhs-agent"]
    }
  },
  "channels": {
    "feishu": {
      "groupPolicy": "allowlist",
      "groupAllowFrom": ["oc_wechat_group_xxx", "oc_xhs_group_yyy"],
      "groups": {
        "oc_wechat_group_xxx": {
          "requireMention": true,
          "allowFrom": ["ou_admin1_xxx", "ou_admin2_xxx"]
        },
        "oc_xhs_group_yyy": {
          "requireMention": true,
          "allowFrom": ["ou_admin1_xxx"]
        }
      },
      "streaming": true,
      "blockStreaming": true
    }
  }
}

配置说明:

  • wechat-agent:绑定到公众号群,处理公众号相关问题

  • xhs-agent:绑定到小红书群,处理小红书相关问题

  • main:处理你的个人 DM,统一指挥调度

  • 工具层 A2A 暂未开启,等路由层跑通后再激活


四、配置背后的机制原理

入站消息流程

飞书事件(群消息 / DM)
        ↓
① 飞书访问控制层
   - groupPolicy / groupAllowFrom
   - groups.<chat_id>.allowFrom
   - requireMention 检查
        ↓
② Bindings 路由匹配
   - 按 channel + peer.kind + peer.id 匹配
   - 命中则路由到对应 agent
   - 未命中则走 default agent
        ↓
③ Agent 独立运行
   - 在自己的 workspace 中执行
   - 技能、记忆、persona 完全隔离
        ↓
④ 回复回原飞书会话

为什么这就是「群聊 A2A」

  • 一个群 = 一个专属 Agent(或一类 Agent)

  • 多群并发 = 多 Agent 协同处理

  • 可选开启 agent To Agent 做 Agent 间显式协作(例如 main 分派任务给 xhs-agent)

Bindings 的匹配规则: 最具体者优先。建议把最精确的 binding 放在最前面,避免宽泛规则提前命中。


五、部署步骤(实践版)

第一步:配好飞书 App

飞书开放平台创建应用,配置:

  • App ID 和 App Secret

  • Bot 权限(发消息、读取群信息等)

  • 事件订阅(启用 im.message.receive_v1

第二步:填写飞书通道配置

"channels": {
  "feishu": {
    "accounts": {
      "default": {
        "appId": "cli_xxx",
        "appSecret": "your-app-secret"
      }
    }
  }
}

第三步:编写 agents.list + bindings + channels.feishu

参考第三节的模板,按需调整。

第四步:重启网关

openclaw gateway restart

第五步:验证

# 检查通道状态
openclaw channels status --probe

# 查看 agent 列表和绑定关系
openclaw agents list --bindings

第六步:飞书群内实测

  • 在对应群内 @bot 发送消息

  • 确认消息路由到正确的 Agent

  • 检查回复内容是否符合预期


六、常见坑(高频)

现象

最可能原因

解决方案

群里没反应

groupPolicy 设为 disabled 或群不在 groupAllowFrom

检查群 ID 是否在白名单中

只有部分人能触发

groups.<chat_id>.allowFrom 限制了 sender open_id

扩大 allowFrom 列表或清空

必须 @ 才回复

requireMention: true(这是默认行为)

改为 false 则无需 @

路由到错误的 Agent

Bindings 顺序问题,宽泛规则在前

按「最具体优先」调整顺序

想跨 Agent 协作无效

tools.agentToAgent.enabled 未开启

确认 enabled 已设为 true


七、面向社媒体系的推荐架构

如果你现在的重点是「公众号 + 小红书」多平台运营,建议如下分工:

Agent

Workspace

定位

main

workspace

总控 / 策略层,负责统一调度

wechat-agent

workspace-wechat

公众号内容生产与发布

xhs-agent

workspace-xhs

小红书内容生产与发布

在实际使用中:

  • 公众号群里问公众号问题 → 自动路由到 wechat-agent

  • 小红书群里问小红书问题 → 自动路由到 xhs-agent

  • 个人 DM → main 统一指挥协调

这样分工清晰,每个 Agent 独立跑自己的 workflow,互不干扰,主控 Agent 负责统筹。


八、参考来源


本文基于 OpenClaw 实际配置经验整理,配置细节可能随版本更新而变化,建议以官方文档为准。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐