OpenClaw飞书集成教程:让AI助手真正帮你办事

摘要

OpenClaw如何连接飞书?本教程手把手教你配置飞书机器人,实现文档处理、会议记录、任务管理等自动化功能。

欢迎来到OpenClaw 7天学习教程的第四天!前三天我们完成了安装部署并赋予了AI助手个性,今天我们将实现一个更实用的功能:将你的AI助手集成到飞书(Lark/Feishu),让它能在工作场景中真正帮你办事。

🚀 为什么选择飞书集成?

飞书是一款强大的企业协作平台,通过将OpenClaw与飞书集成,你的AI助手可以:

  • 参与团队讨论和群组聊天
  • 访问和处理文档、表格和知识库
  • 协助安排会议和日程管理
  • 自动化工作流程
  • 随时随地为团队成员提供帮助

无论是个人使用还是团队协作,这种集成都能大大提升工作效率。

🚀 腾讯云一键部署用户须知

如果你是通过腾讯云服务器一键部署OpenClaw的用户,那么飞书的基础连接已经为你配置好了!你可以直接在飞书中和你的AI助手对话。

你可以跳过本教程的基础配置部分(步骤1,3-5),只是需要为飞书机器人增加一些权限,参考步骤2,然后你可以直接从增强飞书功能部分开始阅读,学习如何让你的AI助手在飞书中更加智能和实用。

📋 准备工作

在开始集成前,你需要:

  1. 一个飞书账号(个人或企业版均可)
  2. 管理员权限(如果是企业版)以创建机器人应用
  3. 已安装并正常运行的OpenClaw系统
  4. 一台可以连接公网的服务器(如果要在团队中使用)

🔧 Step 1: 在飞书创建机器人应用

首先,我们需要在飞书开放平台创建一个自定义机器人应用:

  1. 登录飞书开放平台(中国大陆)或Lark开放平台(海外)
  2. 点击右上角的"开发者后台"
  3. 选择"创建企业自建应用"
  4. 填写应用信息:
    • 名称:你的AI助手名称(如"OpenClaw助手")
    • 描述:简单描述这个助手的功能
    • 头像:上传一个合适的头像
    • 类别:选择"办公"或其他适合的类别
  5. 创建完成后,记录下你的App ID和App Secret(稍后会用到)

🔐 Step 2: 配置应用权限

接下来,我们需要为机器人配置必要的权限。以下是推荐的权限列表(JSON格式,方便你直接复制粘贴搜索):

Code
[
  "im:message",
  "im:message.group_at_msg",
  "im:message.p2p_msg",
  "im:message:send_as_bot",
  "im:chat:readonly",
  "contact:user.base:readonly",
  "calendar:calendar:readonly",
  "docs:doc:readonly",
  "docs:sheet:readonly"
]

操作步骤:

  1. 在应用管理页面,点击左侧菜单的"权限管理"
  2. 复制上面的每个权限名称,在搜索框中粘贴并添加
  3. 保存权限设置

🔄 Step 3: 配置事件订阅(使用长连接)

为了让飞书机器人能接收消息,我们将配置事件订阅并使用长连接模式,这种模式更加稳定且不需要公网IP:

  1. 在应用管理页面,点击左侧菜单的"事件订阅"
  2. 事件订阅模式选择"长连接模式"(这是推荐的方式,不需要公网IP或域名)
  3. 配置需要订阅的事件:
    • 搜索并添加 "接收消息 v2.0"
  4. 保存事件订阅设置

🛠️ Step 4: 配置OpenClaw连接飞书

现在我们需要将飞书应用的信息配置到OpenClaw中:

  1. 打开OpenClaw的配置目录:
Code
cd ~/.openclaw
  1. 创建或编辑feishu配置文件:
Code
mkdir -p connectors
nano connectors/feishu.yaml
  1. 添加以下配置(替换相应的值):
Code
app_id: "your_app_id"  # 从飞书开发者后台获取
app_secret: "your_app_secret"  # 从飞书开发者后台获取
verification_token: "your_verification_token"  # 从事件订阅页面获取

# 长连接模式配置
connection:
  mode: "websocket"  # 使用长连接模式
  websocket_url: "your_websocket_url"  # 从事件订阅页面获取的Websocket连接地址

# 消息处理配置
message:
  # 是否处理@机器人的消息
  handle_mention: true
  # 是否处理私聊消息
  handle_p2p: true
  # 是否启用卡片消息(富文本)
  enable_card: true
  # 消息类型过滤(可选)
  supported_message_types:
    - text
    - image
    - file

# 高级配置(可选)
advanced:
  # 机器人回复前缀(可选)
  response_prefix: ""
  # 机器人回复后缀(可选)
  response_suffix: ""
  # 消息频率限制(每分钟)
  rate_limit: 60
  # 超时时间(秒)
  timeout: 30
  1. 保存配置文件

🚦 Step 5: 启动OpenClaw飞书连接器

配置完成后,我们需要启动OpenClaw飞书连接器:

Code
openclaw connector start feishu

检查连接器状态:

Code
openclaw connector status feishu

如果看到"Running"状态,说明连接器已成功启动。

🔍 Step 6: 发布并测试飞书机器人

现在我们需要在飞书中发布并测试机器人:

  1. 在飞书开发者后台,点击"版本管理与发布"
  2. 创建一个新版本,填写版本号和描述
  3. 点击"申请发布"
  4. 如果是企业自建应用,管理员需要在管理后台审批

应用发布后:

  1. 在飞书中搜索你的机器人名称
  2. 添加机器人为好友或将机器人添加到群组
  3. 发送消息测试机器人回复:
    • 私聊:"你好,能帮我做什么?"
    • 群聊:@机器人 "介绍一下你自己"

🎯 配置自定义飞书响应能力

为了让你的AI助手在飞书中发挥更大作用,我们可以配置一些自定义的响应能力:

  1. 创建飞书专用的响应配置文件:
Code
mkdir -p ~/.openclaw/agents/feishu
cp ~/.openclaw/agents/default/*.md ~/.openclaw/agents/feishu/
nano ~/.openclaw/agents/feishu/IDENTITY.md
  1. 为飞书助手定制特殊技能(编辑IDENTITY.md):
Code
# 飞书助手身份

## 基本身份
- 名称: OpenClaw飞书助手
- 角色: 团队协作AI助手
- 背景: 专为飞书平台设计的智能助手,帮助团队提高工作效率

## 专业领域
- 主要专业: 团队协作、信息整理、会议助手
- 次要专业: 文档处理、日程管理、知识问答
- 专业经验: 擅长在飞书环境中帮助团队成员协作和沟通

## 飞书特殊技能
- 会议总结: 能够总结会议讨论要点和行动项
- 任务提取: 从聊天记录中提取待办事项
- 信息查询: 帮助查询和整理团队信息
- 文档助手: 协助文档编写和审阅
- 团队协调: 帮助协调团队工作和沟通

## 交流特点
- 语言风格: 专业、简洁、友好
- 回复格式: 在群聊中保持简洁,在私聊中可以详细
- 优先级: 优先处理@提及的消息,其次是私聊消息

## 工作流程指南
- 在群聊中被@时,简洁回应,避免过长回复
- 在私聊中可以提供详细解答和持续对话
- 主动提供后续帮助建议
- 发现任务相关内容时,主动提出可以如何协助
  1. 重启飞书连接器应用新的配置:
Code
openclaw connector restart feishu

🔄 创建飞书自动化工作流

现在,让我们创建一些实用的自动化工作流,让AI助手在飞书中更加智能:

自动会议记录助手

  1. 创建会议记录脚本:
Code
mkdir -p ~/.openclaw/workflows
nano ~/.openclaw/workflows/meeting_notes.py
  1. 编写会议记录脚本:
Code
import re
from datetime import datetime
from openclaw.connectors.feishu import FeishuConnector

# 检测会议讨论模式
def is_meeting_discussion(messages, min_participants=3, min_messages=10):
    if len(messages) < min_messages:
        return False
    
    participants = set()
    for msg in messages:
        if msg.get('sender'):
            participants.add(msg['sender'])
    
    return len(participants) >= min_participants

# 生成会议总结
def generate_meeting_summary(messages):
    conversation = "\n".join([f"{msg.get('sender', 'Unknown')}: {msg.get('content', '')}" 
                             for msg in messages if msg.get('content')])
    
    # 使用AI生成会议总结
    prompt = f"""
    以下是一次团队会议的聊天记录。请总结这次会议的:
    1. 主要讨论话题
    2. 关键决定
    3. 行动项目(包括负责人)
    4. 未解决的问题
    
    聊天记录:
    {conversation}
    
    请以清晰的格式提供总结,适合在飞书中分享。
    """
    
    # 调用AI生成总结
    from openclaw.ai import get_response
    summary = get_response(prompt)
    
    now = datetime.now().strftime("%Y-%m-%d %H:%M")
    return f"## 会议总结 ({now})\n\n{summary}"

# 注册飞书消息处理器
def register_handlers(feishu_connector):
    @feishu_connector.on_group_message
    async def handle_meeting(message, chat_id, **kwargs):
        # 获取最近的对话历史
        recent_messages = await feishu_connector.get_chat_history(chat_id, limit=30)
        
        # 检测是否是会议讨论
        if is_meeting_discussion(recent_messages):
            # 如果有人明确要求总结会议
            if re.search(r'(总结|小结|记录|会议记录|会议总结)', message.get('content', '')):
                summary = generate_meeting_summary(recent_messages)
                await feishu_connector.send_message(chat_id, summary)
  1. 注册会议记录工作流:
Code
openclaw workflow register meeting_notes

任务提取助手

  1. 创建任务提取脚本:
Code
nano ~/.openclaw/workflows/task_extractor.py
  1. 编写任务提取脚本:
Code
import re
from openclaw.connectors.feishu import FeishuConnector

# 任务提取函数
def extract_tasks(text):
    # 使用AI提取任务
    from openclaw.ai import get_response
    
    prompt = f"""
    从以下文本中提取可能的任务或待办事项。任务通常包含:
    - 行动动词(如:完成、准备、发送、审核)
    - 截止时间(如果有)
    - 责任人(如果有)
    
    文本:
    {text}
    
    请以列表形式返回任务,每个任务包括:任务描述、责任人(如有)和截止时间(如有)
    """
    
    tasks = get_response(prompt)
    return tasks

# 注册飞书消息处理器
def register_handlers(feishu_connector):
    @feishu_connector.on_message
    async def handle_task_extraction(message, chat_id, sender, **kwargs):
        content = message.get('content', '')
        
        # 检测是否是任务提取请求
        if re.search(r'(提取任务|待办事项|todo|任务列表)', content.lower()):
            # 获取聊天历史
            chat_history = await feishu_connector.get_chat_history(chat_id, limit=20)
            chat_text = "\n".join([msg.get('content', '') for msg in chat_history])
            
            # 提取任务
            tasks = extract_tasks(chat_text)
            
            # 发送任务列表
            await feishu_connector.send_message(
                chat_id, 
                f"📋 **提取的任务列表**\n\n{tasks}"
            )
  1. 注册任务提取工作流:
Code
openclaw workflow register task_extractor

📈 高级飞书功能与技巧

使用富文本卡片消息

飞书支持富文本卡片,可以创建更加美观的消息:

Code
# 示例:发送富文本卡片
async def send_rich_message(feishu_connector, chat_id, title, content):
    card = {
        "config": {
            "wide_screen_mode": True
        },
        "header": {
            "title": {
                "tag": "plain_text",
                "content": title
            },
            "template": "blue"
        },
        "elements": [
            {
                "tag": "div",
                "text": {
                    "tag": "lark_md",
                    "content": content
                }
            }
        ]
    }
    
    await feishu_connector.send_card(chat_id, card)

# 使用示例
await send_rich_message(
    feishu_connector, 
    chat_id, 
    "项目进度报告", 
    "**完成情况**\n- 设计: 90%\n- 开发: 75%\n- 测试: 50%"
)

日历与会议集成

结合飞书日历API,可以创建智能会议助手:

Code
# 示例:查询今日会议
async def get_today_meetings(feishu_connector, user_id):
    from datetime import datetime, timedelta
    
    today = datetime.now().strftime("%Y-%m-%d")
    tomorrow = (datetime.now() + timedelta(days=1)).strftime("%Y-%m-%d")
    
    # 调用飞书API获取日历事件
    meetings = await feishu_connector.call_api(
        "GET", 
        f"/open-apis/calendar/v4/calendars/{user_id}/events",
        params={
            "start_time": f"{today}T00:00:00Z",
            "end_time": f"{tomorrow}T00:00:00Z"
        }
    )
    
    return meetings

文档智能助手

结合飞书文档API,可以创建文档智能助手:

Code
# 示例:搜索相关文档
async def search_docs(feishu_connector, keyword):
    # 调用飞书API搜索文档
    docs = await feishu_connector.call_api(
        "GET", 
        "/open-apis/search/v2/search",
        params={
            "query": keyword,
            "page_size": 5,
            "search_type": "docs"
        }
    )
    
    return docs

🎯 今日小结

今天,我们完成了:

  1. 在飞书创建机器人应用
  2. 配置应用权限(使用JSON格式方便复制)
  3. 配置事件订阅(使用长连接模式,无需公网IP)
  4. 配置OpenClaw连接飞书
  5. 启动飞书连接器并测试
  6. 创建自定义的飞书响应能力
  7. 实现自动化工作流(会议记录和任务提取)
  8. 了解高级飞书集成功能

通过这些步骤,你的AI助手已经能够在飞书中帮助你和团队提高工作效率。它不仅可以回答问题,还能主动记录会议内容、提取任务、协助团队协作。

🔮 明日预告

明天,我们将进入Day 5的学习:工具使用与技能扩展。我们将探讨如何:

  • 为你的AI助手添加更多工具和技能
  • 连接第三方API和服务
  • 创建自定义命令和函数
  • 扩展AI助手的能力范围

准备好让你的AI助手变得更加强大吗?明天见!✨

——记得在飞书中测试你的新AI助手,看看它如何改变你的工作方式!🤖📱

同专题推荐