SkillHub

feishu-multi-agent-manager

v1.0.2

交互式引导配置多 Agent 系统,支持批量创建、凭证验证、角色模板

Sourced from ClawHub, Authored by rfdiosuao

Installation

Please help me install the skill `feishu-multi-agent-manager` from SkillHub official store. npx skills add rfdiosuao/feishu-multi-agent-manager

飞书多 Agent 协作管理 Skill

OpenClaw Skill 大师培训体系 - 实战项目


📋 概述

本 Skill 实现飞书群聊内多 OpenClaw Agent 的协作管理,基于用户身份消息转发机制,解决机器人之间无法直接通信的问题。

核心功能

功能模块 说明
配置向导 交互式引导用户配置主/子 Agent 的 OpenID
插件检测 自动检测是否安装飞书官方插件
OAuth 授权 获取用户身份发消息权限
任务分发 主 Agent 接收指令,以用户身份@子 Agent
任务管理 创建多维表格,发布和追踪任务状态

🏗️ 架构设计

消息流转

用户 @主Agent "创建明天会议任务"
    ↓
主 Agent 解析意图 → 识别为「任务管理」
    ↓
主 Agent 以用户身份发送:@任务Agent "创建明天会议任务"
    ↓
任务 Agent 收到消息(飞书推送,因为发送者是用户)
    ↓
任务 Agent 执行任务创建 → 回复结果

角色定义

角色 OpenID 功能 所需权限
主 Agent ou_xxx_main 接收用户指令,调度子 Agent im:message:receive_as_bot + 用户 OAuth
子 Agent A ou_xxx_a 日程管理 im:message:receive_as_bot
子 Agent B ou_xxx_b 任务管理 im:message:receive_as_bot
子 Agent C ou_xxx_c 多维表格 im:message:receive_as_bot
用户 ou_user_xxx 发起指令,作为消息中转身份 OAuth 授权

🚀 安装与配置

步骤 1:安装 Skill

claw skill install feishu-multi-agent-manager

步骤 2:运行配置向导

在飞书中发送:

/feishu_multi_agent_config

步骤 3:交互式配置

Skill 会引导你完成:

  1. 检测官方插件 - 确认是否使用飞书官方插件
  2. 获取主 Agent OpenID - 自动读取当前 Agent 的 OpenID
  3. 配置子 Agent OpenID 列表 - 输入需要协作的子 Agent OpenID
  4. OAuth 授权 - 获取用户身份发消息权限
  5. 创建任务管理表格 - 自动生成多维表格

步骤 4:开始使用

配置完成后,在群聊中:

@主Agent 帮我创建任务:明天下午 3 点开项目评审会

📊 任务管理表格字段

字段名 类型 说明
任务 ID 文本 自动生成
任务标题 文本 任务描述
任务状态 单选 待处理/进行中/已完成
负责人 人员 任务 assignee
创建时间 日期 任务创建时间
截止时间 日期 任务 deadline
优先级 单选 高/中/低
执行 Agent 文本 负责执行的子 Agent 名称

🔐 权限要求

主 Agent 权限

{
  "scopes": {
    "bot": [
      "im:message:receive_as_bot"
    ],
    "user": [
      "im:message",
      "im:message:send_as_bot"
    ]
  }
}

子 Agent 权限

{
  "scopes": {
    "bot": [
      "im:message:receive_as_bot",
      "im:message:send_as_bot"
    ]
  }
}

💡 使用示例

示例 1:任务管理

用户:@主Agent 创建一个任务,下周五前完成 Skill 开发
主 Agent → @任务Agent:创建一个任务,下周五前完成 Skill 开发
任务 Agent:✅ 任务已创建,ID: TASK-2026-001

示例 2:日程查询

用户:@主Agent 明天有什么会议?
主 Agent → @日程Agent:查询明天的日程
日程 Agent:明天有以下会议:
  - 10:00 团队晨会
  - 14:00 产品评审

示例 3:多维表格操作

用户:@主Agent 在任务表格里添加一条记录
主 Agent → @表格 Agent:在任务表格里添加一条记录
表格 Agent:✅ 已添加,记录 ID: REC-001

⚙️ 配置说明

配置文件位置

~/.openclaw/workspace/feishu-multi-agent-config.json

配置格式

单群模式(简单)

{
  "main_agent_openid": "ou_xxx_main",
  "chat_id": "oc_5a8f923ff7287cb857659a28b1ff23f6",  // ✅ 支持 ChatID
  "sub_agents": [
    {
      "name": "任务 Agent",
      "openid": "ou_xxx_task",
      "keywords": ["任务", "待办", "task"]
    }
  ],
  "user_openid": "ou_user_xxx",
  "task_table_token": "bascnxxx",
  "oauth_token": "t-xxx"
}

多群模式(高级)

{
  "main_agent_openid": "ou_xxx_main",
  "groups": [
    {
      "chat_id": "oc_5a8f923ff7287cb857659a28b1ff23f6",
      "chat_name": "项目协作群",
      "sub_agents": [
        {"name": "任务 Agent", "openid": "ou_xxx_task", "keywords": ["任务"]}
      ]
    },
    {
      "chat_id": "oc_another_group",
      "chat_name": "日常沟通群",
      "sub_agents": [
        {"name": "日程 Agent", "openid": "ou_xxx_schedule", "keywords": ["日程"]}
      ]
    }
  ],
  "user_openid": "ou_user_xxx",
  "task_table_token": "bascnxxx"
}

🔧 开发指南

核心代码结构

src/
├── index.ts              # 主入口
├── config-wizard.ts      # 配置向导
├── message-router.ts     # 消息路由
├── task-manager.ts       # 任务管理
└── oauth-manager.ts      # OAuth 管理

意图解析逻辑

function parseIntent(text: string): Intent {
  if (text.includes('任务') || text.includes('待办')) {
    return { type: 'task', targetAgent: 'task-agent', params: text };
  }
  if (text.includes('日程') || text.includes('会议')) {
    return { type: 'schedule', targetAgent: 'schedule-agent', params: text };
  }
  if (text.includes('表格') || text.includes('bitable')) {
    return { type: 'bitable', targetAgent: 'bitable-agent', params: text };
  }
  return { type: 'unknown', targetAgent: null, params: text };
}

以用户身份发送消息

async function sendAsUser({
  userAccessToken,
  chatId,
  targetBotId,
  text
}: SendMessageParams) {
  const mentionTag = `<at user_id="${targetBotId}">@Bot</at>`;

  const response = await fetch('https://open.feishu.cn/open-apis/im/v1/messages', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${userAccessToken}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      receive_id: chatId,
      msg_type: 'text',
      content: JSON.stringify({
        text: `${mentionTag} ${text}`
      }),
      receive_id_type: 'chat_id'
    })
  });

  return response.json();
}

⚠️ 注意事项

1. Token 有效期

Token 类型 有效期 处理方式
access_token 2 小时 需要刷新机制
refresh_token 7 天 用于续期 access_token

2. 子 Agent 必须加入群聊

确保所有子 Agent 都已添加到目标群聊,否则无法接收消息。

3. 错误处理

错误场景 处理方案
子 Agent 未加入群聊 提示用户添加子 Agent 到群
用户 Token 过期 引导用户重新授权
子 Agent 无响应 超时 30 秒后返回错误提示
权限不足 返回权限申请链接

📈 后续优化

  • [ ] 支持更多子 Agent 类型(文档、邮件、通知等)
  • [ ] 添加任务执行状态追踪
  • [ ] 支持子 Agent 执行结果回调到主 Agent
  • [ ] 添加任务优先级和依赖关系管理
  • [ ] 支持自然语言意图识别(NLP)

📝 版本历史

版本 日期 更新内容
v1.0.0 2026-03-21 初始版本,核心功能实现

🎓 学习价值

本 Skill 涵盖:

  • ✅ 飞书 OAuth 授权流程
  • ✅ 用户身份消息转发机制
  • ✅ 多维表格 API 操作
  • ✅ 意图解析与消息路由
  • ✅ 交互式配置向导设计
  • ✅ 多 Agent 协作架构

是 OpenClaw Skill 大师培训的实战级项目


作者: Spark ⚡
创建时间: 2026-03-21
GitHub: https://github.com/rfdiosuao/openclaw-skills