feishu-multi-agent-manager
v1.0.2交互式引导配置多 Agent 系统,支持批量创建、凭证验证、角色模板
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 会引导你完成:
- 检测官方插件 - 确认是否使用飞书官方插件
- 获取主 Agent OpenID - 自动读取当前 Agent 的 OpenID
- 配置子 Agent OpenID 列表 - 输入需要协作的子 Agent OpenID
- OAuth 授权 - 获取用户身份发消息权限
- 创建任务管理表格 - 自动生成多维表格
步骤 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