飞书套件:文档、即时通讯与 AI 工作流自动化 - Openclaw Skills

作者:互联网

2026-04-18

AI教程

什么是 飞书套件技能?

飞书套件技能是专为飞书(Lark)生态系统设计的专业级集成,允许用户通过 Openclaw Skills 自动化复杂的办公工作流。它涵盖了广泛的功能,包括文档管理、表格数据处理、通过即时通讯进行实时沟通,以及日历和任务的组织管理。该技能使开发者能够构建可与飞书协作平台深度交互的 AI 智能体,弥合自动化逻辑与团队执行之间的鸿沟。

通过将此技能纳入您的环境,您可以访问尊重企业安全和权限模型的强大协作工具。无论是管理知识库中的维基空间,还是处理多维表格(多维表格)中的数据,此技能都提供了必要的端点来有效简化您的操作。

下载入口:https://github.com/openclaw/skills/tree/main/skills/wilsonliu95/feishu-pro

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install feishu-pro

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 feishu-pro。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

飞书套件技能 应用场景

  • 自动化协作文档的创建和权限管理,确保安全共享。
  • 将外部数据源与飞书多维表格同步,进行实时报告。
  • 通过自动化线程回复和消息反应,管理高容量的团队沟通。
  • 通过自动创建日历活动和任务跟踪,协调部门日程。
  • 使用内置的 OCR、翻译和语音转文本等 AI 功能简化内容处理。
飞书套件技能 工作原理
  1. AI 智能体在 Openclaw Skills 框架内使用配置的环境凭据初始化技能。
  2. 当请求特定任务(如创建报告)时,技能会识别相应的飞书开放平台 API。
  3. 技能执行请求,处理智能体与飞书之间复杂的身份验证和数据映射。
  4. 对于文档相关的任务,技能应用权限管理的最佳实践,例如继承父文件夹的权限。
  5. 完成后,技能向智能体返回结构化数据或状态更新,从而实现持续的工作流自动化。

飞书套件技能 配置指南

要在您的 Openclaw Skills 环境中启用飞书套件技能,您必须将应用程序凭据配置为环境变量:

export FEISHU_APP_ID="your_app_id"
export FEISHU_APP_SECRET="your_app_secret"

在部署之前,请确保您的飞书自定义应用已在飞书开放平台控制台上被授予必要的权限范围(例如 docs:documentim:messagebitable:app)。

飞书套件技能 数据架构与分类体系

技能根据飞书模块化架构组织数据。以下是处理数据的主要分类:

模块 数据实体 关键标识符
文档与维基 文档、文件夹、维基节点 documentId, folderToken, spaceId
数据与表格 电子表格、多维表格记录 spreadsheetToken, appToken, tableId
即时通讯与聊天 消息、线程回复、群聊 messageId, chatId, threadId
组织 用户、部门、日历 userId, departmentId, calendarId
AI 服务 OCR 数据、翻译、音频转录 filePath, sourceLang
name: "feishu"
description: "飞书套件:文档/表格/多维表格/消息/群聊/通讯录/日程/任务/翻译/OCR/语音"

Feishu Suite Skill

环境变量

  • FEISHU_APP_ID
  • FEISHU_APP_SECRET

API 总览

文档/知识库/云空间 (Docs)

  • createDocument(title, folderToken?)
  • getDocument(documentId)
  • getDocumentRawContent(documentId)
  • listDocumentBlocks(documentId, pageToken?, pageSize?)
  • appendText(documentId, text, targetBlockId?)
  • appendBlocks(documentId, blocks, targetBlockId?)
  • getPublicPermission(token, type?)
  • updatePublicPermission(token, type, data)
  • addMemberPermission(token, type, memberId, memberType, role)
  • listFiles(folderToken?, pageToken?, pageSize?)
  • uploadFile(filePath, parentNode, fileName?)
  • createFolder(name, folderToken)
  • listWikiSpaces(pageToken?, pageSize?)
  • getWikiSpace(spaceId)
  • listWikiNodes(spaceId, parentNodeToken?, pageToken?, pageSize?)
  • getNodeInfo(token)

表格/多维表格 (Data)

  • createSpreadsheet(title, folderToken?)
  • getSpreadsheet(spreadsheetToken)
  • getSheetValues(spreadsheetToken, sheetId, range)
  • updateSheetValues(spreadsheetToken, sheetId, range, values)
  • appendSheetValues(spreadsheetToken, sheetId, range, values)
  • prependSheetValues(spreadsheetToken, sheetId, range, values)
  • listRecords(appToken, tableId, filter?, sort?, pageToken?, pageSize?)
  • getRecord(appToken, tableId, recordId)
  • createRecord(appToken, tableId, fields)
  • batchCreateRecords(appToken, tableId, records)
  • updateRecord(appToken, tableId, recordId, fields)
  • batchUpdateRecords(appToken, tableId, records)
  • deleteRecord(appToken, tableId, recordId)
  • batchDeleteRecords(appToken, tableId, recordIds)
  • copyBitable(appToken, name, folderToken?)

IM 消息/话题/群聊 (IM)

  • listMessages(params)
  • recallMessage(messageId)
  • updateMessage(messageId, content)
  • pinMessage(messageId)
  • unpinMessage(messageId)
  • react(messageId, emoji)
  • sendAttachment(receiveId, receiveIdType, filePath, fileName?)
  • replyInThread(messageId, content, replyInThread?, msgType?)
  • listThreadMessages(chatId, threadId)
  • getChatInfo(chatId)
  • listChats(pageToken?, pageSize?)
  • getChatMembers(chatId, memberIdType?, pageToken?, pageSize?)
  • isInChat(chatId)
  • createChat(params)
  • addChatMembers(chatId, idList, memberIdType?)
  • removeChatMembers(chatId, idList, memberIdType?)

组织/通讯录/日程/任务 (Org)

  • getUser(userId, userIdType?)
  • getDepartment(departmentId, userIdType?)
  • listDepartmentUsers(departmentId, pageToken?, pageSize?)
  • getGroup(groupId, userIdType?)
  • listCalendars(pageToken?, pageSize?)
  • createCalendarEvent(calendarId, summary, startTime, endTime, description?)
  • deleteCalendarEvent(calendarId, eventId)
  • listTasks(pageToken?, pageSize?)
  • createTask(summary, description?, dueTime?)
  • completeTask(taskId)

AI 能力 (AI)

  • translateText(text, sourceLang, targetLang)
  • detectLanguage(text)
  • ocrImage(filePath)
  • speechToText(filePath, format?)

?? 飞书协作最佳实践 (Best Practices)

1. 文档权限与 Fallback 策略

  • 预先授权:在向他人发送飞书文档链接前,必须先通过 updatePublicPermissionaddMemberPermission 开启可读权限。
  • **权限不足时的 Fallback (重要)**:如果应用缺少 docs:permission.setting:write_only 权限(报错 99991672),请采用以下方案:
    • 方案 A (推荐):父文件夹继承。在一个已公开的文件夹内创建文档,文档会自动继承文件夹的权限,无需额外调用权限 API。
    • 方案 B:内容提取。若无法授权且必须即时交付,先将文档内容提取并通过 IM 消息(如 replyInThread)直接发送原文。
    • **方案 C:知识库 (Wiki)**。在已公开的知识库空间创建页面,通常不需要二次授权。
  • 避免尴尬:严禁发送“对方无权查看”的文档,这会降低协作效率。

2. 沟通礼仪与情感

  • 表情回复:积极使用飞书表情(react API)回复他人消息。适时的表情符号能传达温暖和认可,让对方感到开心。
  • 话题回复:在群聊人数较多或讨论特定技术/细节时,优先使用 replyInThread。这样可以保持主聊天界面的整洁,避免刷屏打扰不相关的成员。
  • 视情况而定:对于需要全员关注的重要通知,可以直接发到主群。

相关推荐