欢迎来到OpenClaw 7天学习教程的第四天!前三天我们完成了安装部署并赋予了AI助手个性,今天我们将实现一个更实用的功能:将你的AI助手集成到飞书(Lark/Feishu),让它能在工作场景中真正帮你办事。
🚀 为什么选择飞书集成?
飞书是一款强大的企业协作平台,通过将OpenClaw与飞书集成,你的AI助手可以:
- 参与团队讨论和群组聊天
- 访问和处理文档、表格和知识库
- 协助安排会议和日程管理
- 自动化工作流程
- 随时随地为团队成员提供帮助
无论是个人使用还是团队协作,这种集成都能大大提升工作效率。
🚀 腾讯云一键部署用户须知
如果你是通过腾讯云服务器一键部署OpenClaw的用户,那么飞书的基础连接已经为你配置好了!你可以直接在飞书中和你的AI助手对话。
你可以跳过本教程的基础配置部分(步骤1,3-5),只是需要为飞书机器人增加一些权限,参考步骤2,然后你可以直接从增强飞书功能部分开始阅读,学习如何让你的AI助手在飞书中更加智能和实用。
📋 准备工作
在开始集成前,你需要:
- 一个飞书账号(个人或企业版均可)
- 管理员权限(如果是企业版)以创建机器人应用
- 已安装并正常运行的OpenClaw系统
- 一台可以连接公网的服务器(如果要在团队中使用)
🔧 Step 1: 在飞书创建机器人应用
首先,我们需要在飞书开放平台创建一个自定义机器人应用:
- 点击右上角的"开发者后台"
- 选择"创建企业自建应用"
- 填写应用信息:
- 名称:你的AI助手名称(如"OpenClaw助手")
- 描述:简单描述这个助手的功能
- 头像:上传一个合适的头像
- 类别:选择"办公"或其他适合的类别
- 创建完成后,记录下你的App ID和App Secret(稍后会用到)
🔐 Step 2: 配置应用权限
接下来,我们需要为机器人配置必要的权限。以下是推荐的权限列表(JSON格式,方便你直接复制粘贴搜索):
[
"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"
]操作步骤:
- 在应用管理页面,点击左侧菜单的"权限管理"
- 复制上面的每个权限名称,在搜索框中粘贴并添加
- 保存权限设置
🔄 Step 3: 配置事件订阅(使用长连接)
为了让飞书机器人能接收消息,我们将配置事件订阅并使用长连接模式,这种模式更加稳定且不需要公网IP:
- 在应用管理页面,点击左侧菜单的"事件订阅"
- 事件订阅模式选择"长连接模式"(这是推荐的方式,不需要公网IP或域名)
- 配置需要订阅的事件:
- 搜索并添加 "接收消息 v2.0"
- 保存事件订阅设置
🛠️ Step 4: 配置OpenClaw连接飞书
现在我们需要将飞书应用的信息配置到OpenClaw中:
- 打开OpenClaw的配置目录:
cd ~/.openclaw- 创建或编辑feishu配置文件:
mkdir -p connectors
nano connectors/feishu.yaml- 添加以下配置(替换相应的值):
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- 保存配置文件
🚦 Step 5: 启动OpenClaw飞书连接器
配置完成后,我们需要启动OpenClaw飞书连接器:
openclaw connector start feishu检查连接器状态:
openclaw connector status feishu如果看到"Running"状态,说明连接器已成功启动。
🔍 Step 6: 发布并测试飞书机器人
现在我们需要在飞书中发布并测试机器人:
- 在飞书开发者后台,点击"版本管理与发布"
- 创建一个新版本,填写版本号和描述
- 点击"申请发布"
- 如果是企业自建应用,管理员需要在管理后台审批
应用发布后:
- 在飞书中搜索你的机器人名称
- 添加机器人为好友或将机器人添加到群组
- 发送消息测试机器人回复:
- 私聊:"你好,能帮我做什么?"
- 群聊:@机器人 "介绍一下你自己"
🎯 配置自定义飞书响应能力
为了让你的AI助手在飞书中发挥更大作用,我们可以配置一些自定义的响应能力:
- 创建飞书专用的响应配置文件:
mkdir -p ~/.openclaw/agents/feishu
cp ~/.openclaw/agents/default/*.md ~/.openclaw/agents/feishu/
nano ~/.openclaw/agents/feishu/IDENTITY.md- 为飞书助手定制特殊技能(编辑IDENTITY.md):
# 飞书助手身份
## 基本身份
- 名称: OpenClaw飞书助手
- 角色: 团队协作AI助手
- 背景: 专为飞书平台设计的智能助手,帮助团队提高工作效率
## 专业领域
- 主要专业: 团队协作、信息整理、会议助手
- 次要专业: 文档处理、日程管理、知识问答
- 专业经验: 擅长在飞书环境中帮助团队成员协作和沟通
## 飞书特殊技能
- 会议总结: 能够总结会议讨论要点和行动项
- 任务提取: 从聊天记录中提取待办事项
- 信息查询: 帮助查询和整理团队信息
- 文档助手: 协助文档编写和审阅
- 团队协调: 帮助协调团队工作和沟通
## 交流特点
- 语言风格: 专业、简洁、友好
- 回复格式: 在群聊中保持简洁,在私聊中可以详细
- 优先级: 优先处理@提及的消息,其次是私聊消息
## 工作流程指南
- 在群聊中被@时,简洁回应,避免过长回复
- 在私聊中可以提供详细解答和持续对话
- 主动提供后续帮助建议
- 发现任务相关内容时,主动提出可以如何协助- 重启飞书连接器应用新的配置:
openclaw connector restart feishu🔄 创建飞书自动化工作流
现在,让我们创建一些实用的自动化工作流,让AI助手在飞书中更加智能:
自动会议记录助手
- 创建会议记录脚本:
mkdir -p ~/.openclaw/workflows
nano ~/.openclaw/workflows/meeting_notes.py- 编写会议记录脚本:
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)- 注册会议记录工作流:
openclaw workflow register meeting_notes任务提取助手
- 创建任务提取脚本:
nano ~/.openclaw/workflows/task_extractor.py- 编写任务提取脚本:
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}"
)- 注册任务提取工作流:
openclaw workflow register task_extractor📈 高级飞书功能与技巧
使用富文本卡片消息
飞书支持富文本卡片,可以创建更加美观的消息:
# 示例:发送富文本卡片
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,可以创建智能会议助手:
# 示例:查询今日会议
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,可以创建文档智能助手:
# 示例:搜索相关文档
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🎯 今日小结
今天,我们完成了:
- 在飞书创建机器人应用
- 配置应用权限(使用JSON格式方便复制)
- 配置事件订阅(使用长连接模式,无需公网IP)
- 配置OpenClaw连接飞书
- 启动飞书连接器并测试
- 创建自定义的飞书响应能力
- 实现自动化工作流(会议记录和任务提取)
- 了解高级飞书集成功能
通过这些步骤,你的AI助手已经能够在飞书中帮助你和团队提高工作效率。它不仅可以回答问题,还能主动记录会议内容、提取任务、协助团队协作。
🔮 明日预告
明天,我们将进入Day 5的学习:工具使用与技能扩展。我们将探讨如何:
- 为你的AI助手添加更多工具和技能
- 连接第三方API和服务
- 创建自定义命令和函数
- 扩展AI助手的能力范围
准备好让你的AI助手变得更加强大吗?明天见!✨
——记得在飞书中测试你的新AI助手,看看它如何改变你的工作方式!🤖📱