前言:飞书不只是聊天工具
世界上有一种误解叫做"飞书就是个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);
}
最佳实践
- 权限最小化:只申请必要的飞书权限
- 错误处理:飞书API可能限流,实现重试机制
- 数据同步:Bitable作为数据中枢,连接文档和通知
- 日志记录:所有操作记录到日志文件
- 批量操作:减少API调用次数,合并请求
踩坑提醒:doc_token从URL中提取,格式为
/docx/do_xxx/中的do_xxx。不要把完整的URL当作token。