OpenClaw 飞书集成完全指南

构建飞书自动化工作流

前言:飞书不只是聊天工具

世界上有一种误解叫做"飞书就是个Slack"。错!飞书是一整套生产力操作系统——文档、表格、知识库、云盘、审批流全都在里面。而OpenClaw可以通过一套完整的工具集把这一切自动化。

这篇教程带你把飞书从"被动接收"变成"主动管理"。

飞书工具集概览

message

消息收发

feishu_doc

文档操作

feishu_bitable

多维表格

feishu_wiki

知识库

feishu_drive

云盘管理

模块一:消息收发(message)

支持发送、编辑、回复、置顶、表情反应等操作:

// 发送文本消息
await message({
  action: "send",
  message: "AI新闻日报已更新!",
  channel: "oc_c942dfd09730eb94bf838c6519c115e9"
});

// 发送带附件的消息
await message({
  action: "send",
  message: "SEO巡检报告",
  filePath: "/var/www/miaoquai/seo-report.html"
});

// 回复特定消息
await message({
  action: "thread-reply",
  message: "已处理",
  threadId: "message-id"
});

// 添加表情反应
await message({
  action: "react",
  emoji: "👍",
  messageId: "message-id"
});

模块二:文档操作(feishu_doc)

支持读写飞书文档,包括创建、追加、插入、表格操作等:

// 读取文档
const content = await feishu_doc({
  action: "read",
  doc_token: "do_xxxxxxxxxx"
});

// 写入/替换文档
await feishu_doc({
  action: "write",
  doc_token: "do_xxxxxxxxxx",
  content: "# AI新闻日报\n\n## 今日热点\n\n- 新闻1\n- 新闻2"
});

// 追加内容
await feishu_doc({
  action: "append",
  doc_token: "do_xxxxxxxxxx",
  content: "\n---\n\n## 补充新闻\n\n- 追加新闻1"
});

// 上传图片
await feishu_doc({
  action: "upload_image",
  doc_token: "do_xxxxxxxxxx",
  url: "https://example.com/image.png"
});

模块三:多维表格(Bitable)

Bitable是飞书的多维表格,类似Airtable。支持完整的CRUD操作:

// 从URL获取表格信息
const meta = await feishu_bitable_get_meta({
  url: "https://example.feishu.cn/base/xxx?table=yyy"
});

// 列出所有字段
const fields = await feishu_bitable_list_fields({
  app_token: meta.app_token,
  table_id: meta.table_id
});

// 查询记录
const records = await feishu_bitable_list_records({
  app_token: meta.app_token,
  table_id: meta.table_id
});

// 创建新记录
await feishu_bitable_create_record({
  app_token: meta.app_token,
  table_id: meta.table_id,
  fields: {
    "标题": "新任务",
    "状态": "进行中",
    "负责人": [{ id: "ou_xxx" }],
    "截止日期": Date.now()
  }
});

// 更新记录
await feishu_bitable_update_record({
  app_token: meta.app_token,
  table_id: meta.table_id,
  record_id: "rec_xxx",
  fields: { "状态": "已完成" }
});
实战场景:妙趣AI用Bitable管理内容日历、追踪SEO关键词排名、记录社区运营数据。

模块四:知识库(Wiki)

// 列出知识空间
const spaces = await feishu_wiki({ action: "spaces" });

// 列出空间下的节点
const nodes = await feishu_wiki({
  action: "nodes",
  space_id: "ws_xxx"
});

// 获取节点内容
const node = await feishu_wiki({
  action: "get",
  token: "wiki_node_xxx"
});

// 创建新文档
await feishu_wiki({
  action: "create",
  title: "AI术语百科",
  space_id: "ws_xxx",
  parent_node_token: "node_xxx"
});

模块五:云盘管理(Drive)

// 列出文件
const files = await feishu_drive({ action: "list" });

// 创建文件夹
await feishu_drive({
  action: "create_folder",
  name: "SEO报告",
  folder_token: "fld_xxx"
});

// 文件信息
const info = await feishu_drive({
  action: "info",
  file_token: "file_xxx",
  type: "docx"
});

// 添加评论
await feishu_drive({
  action: "add_comment",
  file_token: "file_xxx",
  content: "需要更新数据"
});

权限管理(feishu_chat/feishu_perm)

// 查看群成员
const members = await feishu_chat({
  action: "members",
  chat_id: "oc_xxx"
});

// 查看特定成员信息
const member = await feishu_chat({
  action: "member_info",
  chat_id: "oc_xxx",
  member_id: "ou_xxx"
});
权限检查:使用feishu_app_scopes工具查看当前应用已获得的所有权限范围,方便调试权限问题。

实战:自动化内容管线

结合多个飞书工具,构建完整的内容生产流水线:

async function contentPipeline(article) {
  // 1. 创建飞书文档
  const doc = await createDoc(article.title, article.content);
  
  // 2. 在Bitable中记录
  await createRecord({
    title: article.title,
    doc_link: doc.url,
    status: "已创建",
    publish_date: Date.now()
  });
  
  // 3. 通知飞书群
  await message({
    action: "send",
    message: `新文章已创建:${article.title}`,
    channel: "oc_c942dfd09730eb94bf838c6519c115e9"
  });
  
  // 4. 同步到知识库
  await wikiCreate(article.title, article.content);
}

最佳实践

  1. 权限最小化:只申请必要的飞书权限
  2. 错误处理:飞书API可能限流,实现重试机制
  3. 数据同步:Bitable作为数据中枢,连接文档和通知
  4. 日志记录:所有操作记录到日志文件
  5. 批量操作:减少API调用次数,合并请求
踩坑提醒:doc_token从URL中提取,格式为/docx/do_xxx/中的do_xxx。不要把完整的URL当作token。