OpenClaw飞书多Agent实战:我在飞书建了个AI团队
OpenClaw飞书多Agent实战:我在飞书建了个AI团队
前言
你有没有想过,在飞书里建一个AI团队,每个AI都有专人专岗、互不干扰、还能协作?
比如:
- 📝 文案助手 专门写文案、策划方案
- 📚 知识管理员 负责RAG检索、知识库问答
- 💻 开发助手 专注代码审查、技术方案
- 📊 数据分析师 处理数据、生成报表
好消息是:一个飞书App + 一套OpenClaw 就能实现!
今天这篇文章,手把手教你搭建飞书多Agent系统。
一、架构原理
核心概念
在开始之前,先理解三个核心概念:
| 概念 | 说明 |
|---|---|
| Binding(路由) | 一条路由规则,决定消息交给哪个Agent处理 |
| Session(会话隔离) | 每个Agent + 群聊组合 = 独立上下文、工作目录、模型、工具 |
| Agent间通信 | 通过 sessions_send 异步委派,实现协作 |
系统架构图
飞书Bot(一个应用)
│
┌─────────────┼─────────────┐
│ │ │
群聊「开发」 群聊「运营」 群聊「知识库」
│ │ │
Coder Agent Ops Agent Wiki Agent
核心优势:
- ✅ 不需要装多套OpenClaw,一个实例搞定所有
- ✅ 每个Agent有独立的工作空间和记忆
- ✅ Agent之间可以互相通信、协作
- ✅ 消息自动路由到对应Agent
二、快速开始
前置要求
- 已安装 OpenClaw 并完成基础配置
- 拥有飞书开放平台管理员权限
- 一个可用的飞书企业账号
Step 1:创建飞书应用
- 登录 飞书开放平台
- 创建企业自建应用
- 添加以下权限:
| 功能 | 权限 |
|---|---|
| 接收消息 | im.message.receive_v1 |
| 发送消息 | im:message:send_as_bot |
| 创建群聊 | im.chat:create |
| 更新群聊 | im:chat:update |
| 添加成员 | im:chat.members:write_only |
| 文档读写 | docs:doc docs:doc:create |
| 云文档 | drive:drive |
- 配置消息事件订阅(使用ngrok或内网穿透)
Step 2:连接飞书频道
# 添加飞书配置
openclaw channels add feishu \n --app-id cli_xxxx \n --app-secret your_app_secret
# 验证连接
openclaw channels list
Step 3:创建多Agent
方式一:使用官方脚本(推荐)
# 克隆项目
git clone https://github.com/hyperlist/feishu-multi-agent.git
cd feishu-multi-agent
# 运行创建向导
python scripts/create_agent.py --preset momo
python scripts/create_agent.py --preset coder
方式二:手动创建
# 创建工作目录
mkdir -p ~/.openclaw/workspace-coder
mkdir -p ~/.openclaw/workspace-writer
mkdir -p ~/.openclaw/workspace-wiki
# 添加Agent
openclaw agents add --workspace ~/.openclaw/workspace-coder coder
openclaw agents add --workspace ~/.openclaw/workspace-writer writer
openclaw agents add --workspace ~/.openclaw/workspace-wiki wiki
三、配置文件详解
完整配置示例
将以下配置添加到 ~/.openclaw/openclaw.json:
{
"agents": {
"list": [
{
"id": "momo",
"name": "MOMO协调者",
"workspace": "~/.openclaw/workspaces/momo",
"model": {
"primary": "deepseek/deepseek-chat"
},
"identity": {
"name": "MOMO",
"emoji": "🦞",
"description": "多Agent系统协调者,负责分发任务和协调"
},
"tools": {
"allow": ["gateway", "sessions"]
}
},
{
"id": "coder",
"name": "开发助手",
"workspace": "~/.openclaw/workspaces/coder",
"model": {
"primary": "claude-3-haiku"
},
"identity": {
"name": "代码小助手",
"emoji": "💻",
"description": "专注代码开发、调试和审查"
},
"tools": {
"allow": ["exec", "file"]
}
},
{
"id": "writer",
"name": "文案助手",
"workspace": "~/.openclaw/workspaces/writer",
"model": {
"primary": "qwen-plus"
},
"identity": {
"name": "文案小达人",
"emoji": "📝",
"description": "专注文案创作、内容策划"
},
"tools": {
"allow": ["file", "browser"]
}
},
{
"id": "wiki",
"name": "知识管理员",
"workspace": "~/.openclaw/workspaces/wiki",
"model": {
"primary": "qwen-max"
},
"identity": {
"name": "知识库管理员",
"emoji": "📚",
"description": "负责知识库管理和RAG检索"
},
"tools": {
"allow": ["file", "wiki", "memory"]
}
}
]
},
"channels": {
"feishu": {
"enabled": true,
"accounts": {
"default": {
"appId": "cli_xxxx",
"appSecret": "your_app_secret"
}
},
"groupPolicy": "allowlist"
}
},
"bindings": [
{
"agentId": "momo",
"match": {
"channel": "feishu",
"accountId": "default",
"chatId": "oc_coordinator_group"
}
},
{
"agentId": "coder",
"match": {
"channel": "feishu",
"accountId": "default",
"chatId": "oc_dev_group"
}
},
{
"agentId": "writer",
"match": {
"channel": "feishu",
"accountId": "default",
"chatId": "oc_ops_group"
}
},
{
"agentId": "wiki",
"match": {
"channel": "feishu",
"accountId": "default",
"chatId": "oc_wiki_group"
}
}
]
}
Agent身份文件 (SOUL.md)
在每个Agent的工作目录下创建 SOUL.md:
coder/SOUL.md
你是研发团队的AI助手,专注于:
- 代码审查与优化建议
- 技术方案评审
- 故障排查指导
- 开发工具推荐
风格:专业、简洁、注重最佳实践
writer/SOUL.md
你是内容创作助手,专注于:
- 文案撰写与修改
- 营销方案策划
- 社交媒体内容
- 活动策划
风格:生动、有创意、贴近用户
wiki/SOUL.md
你是知识库管理员,专注于:
- RAG检索增强
- 知识问答
- 文档整理
- 信息归纳
风格:严谨、准确、善于引用
四、群组配置
创建飞书群聊
# 在飞书中创建以下群聊
- AI协调中心(协调者MOMO)
- 开发交流群(coder)
- 运营策划群(writer)
- 知识库问答(wiki)
配置群组白名单
# 设置只允许指定群聊
openclaw config set channels.feishu.groupPolicy allowlist
# 添加群聊ID到白名单
openclaw config set --json channels.feishu.groupAllowFrom '[
"oc_coordinator_group",
"oc_dev_group",
"oc_ops_group",
"oc_wiki_group"
]'
将Bot添加到群聊
- 打开飞书群聊
- 点击「设置」→「群机器人」
- 添加「自定义机器人」
- 复制机器人名称和webhook地址
五、部署脚本
一键部署脚本
创建 deploy-multiagent.sh:
#!/bin/bash
# OpenClaw 飞书多Agent一键部署脚本
set -e
echo "🚀 开始部署飞书多Agent系统..."
# 1. 创建工作目录
echo "📁 创建工作目录..."
mkdir -p ~/.openclaw/workspaces/{momo,coder,writer,wiki}
# 2. 创建Agent身份文件
echo "📝 创建Agent身份文件..."
# MOMO协调者
cat > ~/.openclaw/workspaces/momo/SOUL.md << 'EOF'
你是OpenClaw多Agent系统的协调者MOMO。
你的职责:
- 理解用户需求
- 将任务分发到合适的Agent
- 协调多个Agent协作
- 汇总各Agent的结果
风格:友善、高效、善于协调
EOF
# Coder
cat > ~/.openclaw/workspaces/coder/SOUL.md << 'EOF'
你是研发团队的AI助手,专注于:
- 代码审查与优化建议
- 技术方案评审
- 故障排查指导
风格:专业、简洁、注重最佳实践
EOF
# Writer
cat > ~/.openclaw/workspaces/writer/SOUL.md << 'EOF'
你是内容创作助手,专注于:
- 文案撰写与修改
- 营销方案策划
- 活动策划
风格:生动、有创意、贴近用户
EOF
# Wiki
cat > ~/.openclaw/workspaces/wiki/SOUL.md << 'EOF'
你是知识库管理员,专注于:
- RAG检索增强
- 知识问答
- 文档整理
风格:严谨、准确、善于引用
EOF
# 3. 添加Agent
echo "🤖 添加Agent..."
openclaw agents add --workspace ~/.openclaw/workspaces/momo momo
openclaw agents add --workspace ~/.openclaw/workspaces/coder coder
openclaw agents add --workspace ~/.openclaw/workspaces/writer writer
openclaw agents add --workspace ~/.openclaw/workspaces/wiki wiki
# 4. 配置飞书
echo "📱 配置飞书频道..."
read -p "请输入飞书 App ID: " APP_ID
read -p "请输入飞书 App Secret: " APP_SECRET
openclaw channels add feishu --app-id $APP_ID --app-secret $APP_SECRET
# 5. 重启网关
echo "🔄 重启网关..."
openclaw gateway restart
# 6. 验证
echo "✅ 验证部署..."
openclaw agents list
openclaw channels list
echo "🎉 部署完成!"
echo "请在飞书中创建以下群聊并添加Bot:"
echo " - AI协调中心 (MOMO)"
echo " - 开发交流群 (Coder)"
echo " - 运营策划群 (Writer)"
echo " - 知识库问答 (Wiki)"
运行部署脚本:
chmod +x deploy-multiagent.sh
./deploy-multiagent.sh
Docker部署方式
创建 docker-compose.yml:
version: '3.8'
services:
openclaw:
image: openclaw/openclaw:latest
container_name: openclaw-multiagent
ports:
- "18789:18789"
volumes:
- ~/.openclaw:/root/.openclaw
- /path/to/workspaces:/root/.openclaw/workspaces
environment:
- OPENCLAW_GATEWAY_PORT=18789
- FEISHU_APP_ID=${FEISHU_APP_ID}
- FEISHU_APP_SECRET=${FEISHU_APP_SECRET}
restart: unless-stopped
deploy:
resources:
limits:
memory: 4G
reservations:
memory: 2G
启动:
# 设置环境变量
export FEISHU_APP_ID=cli_xxxx
export FEISHU_APP_SECRET=your_secret
# 启动服务
docker-compose up -d
# 查看日志
docker-compose logs -f
systemd服务配置(Linux)
创建 /etc/systemd/system/openclaw.service:
[Unit]
Description=OpenClaw Multi-Agent Gateway
After=network.target
[Service]
Type=simple
User=your_user
WorkingDirectory=/home/your_user
ExecStart=/usr/local/bin/openclaw gateway start
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reload
sudo systemctl enable openclaw
sudo systemctl start openclaw
sudo systemctl status openclaw
六、Agent间协作示例
场景:用户请求写一个Python爬虫
用户 → 发送到【开发交流群】
Coder Agent 回复:
好的,我来帮你写一个爬虫。你需要爬取什么网站?
用户 → “爬取B站视频信息”
Coder Agent → 调用 sessions_send 通知 Wiki Agent 查RAG知识库
Wiki Agent 回复:
找到B站API相关文档,使用其公开接口可获取视频信息。
Coder Agent 整合信息,编写代码:
import requests
def get_bilibili_video_info(bvid):
"""获取B站视频信息"""
url = f"https://api.bilibili.com/x/web-interface/view"
params = {"bvid": bvid}
headers = {"User-Agent": "Mozilla/5.0"}
response = requests.get(url, params=params, headers=headers)
return response.json()
# 使用示例
info = get_bilibili_video_info("BV1VzAMzzEEb")
print(f"标题: {info['data']['title']}")
七、常见问题与解决方案
问题1:消息没有被正确路由
症状:消息被错误的Agent处理
排查步骤:
# 检查bindings配置
openclaw config get bindings
# 检查群聊ID
openclaw channels list
解决方案:确保 chatId 与实际群聊ID匹配
问题2:Agent无法访问飞书文档
症状:报错 Permission denied 或 Document not found
解决方案:
- 在飞书开放平台重新确认权限
- 确保Bot已被添加到文档协作者
# 重新配置飞书权限
openclaw channels remove feishu
openclaw channels add feishu --app-id xxx --app-secret yyy
openclaw gateway restart
问题3:Agent之间无法通信
症状:sessions_send 失败
解决方案:确保目标Agent存在且tools配置正确
{
"tools": {
"allow": ["gateway", "sessions"]
}
}
问题4:会话上下文混乱
症状:不同群聊的消息混入同一上下文
解决方案:
# 清除特定会话
openclaw sessions clear <session-id>
# 或重启网关
openclaw gateway restart
问题5:飞书Bot收不到消息
症状:Bot没有任何响应
排查步骤:
- 检查飞书开放平台的webhook配置
- 确认事件订阅是否生效
- 检查内网穿透是否正常
# 测试webhook
curl -X POST https://open.feishu.cn/open-apis/bot/v2/hook/your-webhook \n -H "Content-Type: application/json" \n -d '{"msg_type":"text","content":{"text":"test"}}'
八、进阶配置
不同群聊使用不同模型
{
"agents": {
"list": [
{
"id": "coder",
"model": {
"primary": "claude-3-haiku",
"fallback": "gpt-4o-mini"
}
},
{
"id": "writer",
"model": {
"primary": "qwen-plus"
}
}
]
}
}
配置Agent工具权限
{
"agents": {
"list": [{
"id": "coder",
"tools": {
"allow": ["exec", "file", "github"],
"deny": ["gateway"]
}
}]
}
}
启用RAG知识库
在Agent配置中添加:
{
"memory": {
"provider": "local",
"path": "~/.openclaw/knowledge",
"chunkSize": 512,
"topK": 5
}
}
九、项目资源
| 资源 | 链接 |
|---|---|
| 飞书多Agent模板 | GitHub: hyperlist/feishu-multi-agent |
| OpenClaw官方文档 | docs.openclaw.ai |
| 飞书开放平台 | open.feishu.cn |
十、总结
通过本文,你应该已经掌握了:
- OpenClaw多Agent架构原理 - 理解Binding、Session、Agent间通信
- 飞书多Agent配置方法 - 一个Bot驱动多个独立Agent
- 完整部署脚本 - 一键部署Docker/Linux/systemd多种方式
- 常见问题解决方案 - 路由错误、权限问题、通信失败等
核心优势回顾:
| 优势 | 说明 |
|---|---|
| 🚀 简化部署 | 一套OpenClaw,多个Agent |
| 🎯 专业分工 | 每个Agent专人专岗 |
| 🔒 会话隔离 | 独立上下文,互不干扰 |
| 🤝 协作能力 | Agent间可互相通信 |
| 📱 统一入口 | 一个飞书Bot,触达所有Agent |
下一步建议:
- 先部署一个简单的Agent练手
- 熟悉路由配置和身份文件
- 逐步扩展为多Agent系统
- 尝试Agent间协作场景
视频来源:B站 BV1VzAMzzEEb
本文整理自原视频教程,配合官方文档补充完整配置代码

.png)
-bpoi.png)
