Lark-workflow-feishu-cli lark-workflow-knowledge-base
个人知识库:通过飞书消息保存内容(文章/视频/推文/PDF),AI自动抓取生成摘要标签,存入飞书知识库,支持自然语言搜索和内容关联分析。当用户需要'知识库'、'保存文章'、'搜索知识库'、'之前保存过'、'知识管理'时使用。
install
source · Clone the upstream repo
git clone https://github.com/liangdabiao/lark-workflow-feishu-cli
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/liangdabiao/lark-workflow-feishu-cli "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/lark-workflow-knowledge-base" ~/.claude/skills/liangdabiao-lark-workflow-feishu-cli-lark-workflow-knowledge-base && rm -rf "$T"
manifest:
.claude/skills/lark-workflow-knowledge-base/SKILL.mdsource content
个人知识库工作流
CRITICAL — 开始前 MUST 先用 Read 工具读取
,其中包含认证、权限处理../lark-shared/SKILL.md
适用场景
- "帮我保存这篇文章" / "把这个链接存到知识库"
- "关于 AI 芯片的文章有哪些?" / "搜索知识库"
- "我之前保存过一个关于 Nvidia 的视频,帮我找出来"
- "最近保存了什么内容?" / "知识库概览"
- "把新内容和之前保存的关联起来"
前置条件
仅支持 user 身份。执行前确保已授权:
lark-cli auth login --domain wiki,docs,im,base,drive
工作流总览
保存内容: 用户发送链接/内容 ──► AI 抓取内容 ──► 生成摘要+标签 │ ▼ doc +create (知识库) ──► base +record-upsert (索引) 搜索内容: 自然语言查询 ──► base +record-list ──► 匹配结果 │ ▼ doc +fetch (详细内容) 关联分析: 新保存内容 ──► base +record-list (已有标签/关键词) ──► 发现关联 │ ▼ im +messages-send (通知关联)
数据初始化
首次设置
- 创建/指定知识库空间
# 如果用户已有知识库空间,记录 space_id # 否则在飞书中创建一个个人知识库空间
- 创建索引多维表格
表名:知识库索引 (kb_index)
| 字段名 | 类型 | 说明 |
|---|---|---|
| 标题 | 文本 | 内容标题 |
| URL | URL | 原始链接 |
| 内容类型 | 单选 | 文章/视频/推文/PDF/播客/其他 |
| 来源平台 | 单选 | 网站/YouTube/Twitter/X/公众号/其他 |
| 标签 | 多选 | AI 自动生成的标签 |
| 摘要 | 文本 | AI 生成的内容摘要(200字以内) |
| 关键观点 | 文本 | 核心观点或结论 |
| 文档链接 | URL | 飞书文档链接 |
| 文档Token | 文本 | 飞书文档 doc_token |
| 保存时间 | 日期 | 入库时间 |
| 关联条目 | 关联 | 关联到其他知识库条目 |
| 评分 | 数字 | 用户评分(1-5) |
| 备注 | 文本 | 用户备注 |
初始化命令
# 创建索引表 # 注意:+table-create 可能部分成功,需捕获错误后用 +field-create 补字段 # 注意:连续创建字段会触发限流(错误码 800004135),每次调用间隔至少 1 秒 lark-cli base +table-create --name "知识库索引" --fields '[ {"name":"标题","type":"text"}, {"name":"URL","type":"link"}, {"name":"内容类型","type":"select","multiple":false,"options":[{"name":"文章"},{"name":"视频"},{"name":"推文"},{"name":"PDF"},{"name":"播客"},{"name":"其他"}]}, {"name":"来源平台","type":"select","multiple":false,"options":[{"name":"网站"},{"name":"YouTube"},{"name":"Twitter/X"},{"name":"公众号"},{"name":"其他"}]}, {"name":"标签","type":"text"}, {"name":"摘要","type":"text"}, {"name":"关键观点","type":"text"}, {"name":"文档链接","type":"link"}, {"name":"文档Token","type":"text"}, {"name":"保存时间","type":"datetime"}, {"name":"评分","type":"number"}, {"name":"备注","type":"text"} ]' # 注:关联条目字段需单独用 +field-create 创建(type="lookup" 需要关联目标表 ID)
限流处理:如果 +table-create 因限流部分失败,表仍会创建成功。此时:
- 用
获取 table_idbase +table-list- 用
逐个补字段,每次间隔 1-2 秒base +field-create --table-id <id> --json '{"name":"字段名","type":"text"}'
模式一:保存内容
Step 1: 获取内容
从飞书消息接收:
# 查看用户发送的消息 lark-cli im +chat-messages-list --chat-id "<chat_id>"
直接从对话中获取 URL: 用户在对话中发送链接,AI 直接提取 URL。
Step 2: 抓取内容
使用 AI 能力抓取链接内容:
- 文章 URL → 抓取全文内容
- YouTube 视频 → 抓取标题、描述、字幕/转录
- Twitter/X 推文 → 抓取完整帖子串(不只单条)
- PDF URL → 下载并提取文本
- 播客 → 抓取标题、描述、时间戳摘要
Step 3: AI 生成摘要和标签
对抓取到的内容,AI 自动处理:
- 生成摘要:200字以内,概括核心内容
- 提取关键观点:3-5个要点
- 生成标签:3-8个标签,基于内容和主题
- 判断内容类型:文章/视频/推文/PDF/其他
Step 4: 检查重复
lark-cli base +record-list --table-id "<table_id>" --filter '...URL = "<目标URL>"'
如果 URL 已存在,提示用户"该内容已在知识库中",并展示已有记录。
Step 5: 发现关联内容
基于标签和关键词,搜索已有知识库中的相关内容:
lark-cli base +record-list --table-id "<table_id>" --filter '...标签 CONTAINS_ANY [标签1, 标签2]'
Step 6: 保存到飞书
创建飞书文档(知识库中):
lark-cli docs +create --title "<内容标题>" --markdown "<格式化后的全文内容>"
更新索引表:
lark-cli base +record-upsert --table-id "<table_id>" --json '{ "标题": "...", "URL": "...", "内容类型": "文章", "标签": ["标签1", "标签2"], "摘要": "...", "关键观点": "...", "文档链接": "...", "保存时间": "..." }'
Step 7: 通知用户
lark-cli im +messages-send --chat-id "<chat_id>" --markdown "已保存到知识库!"
通知内容包括:
- 标题和摘要
- 自动生成的标签
- 发现的关联内容(如有)
- 飞书文档链接
模式二:搜索内容
自然语言搜索
将用户的自然语言查询转换为标签/关键词搜索:
# 基于关键词搜索 lark-cli base +record-list --table-id "<table_id>" --filter '...摘要 CONTAINS "AI芯片"' # 基于标签搜索 lark-cli base +record-list --table-id "<table_id>" --filter '...标签 CONTAINS_ANY ["AI", "芯片", "Nvidia"]' # 基于时间搜索 lark-cli base +record-list --table-id "<table_id>" --filter '...保存时间 >= "2026-03-01"'
搜索结果展示
找到 N 条相关内容: ### 1. {标题} - 类型:文章 | 平台:36氪 - 标签:AI、芯片、GPU - 摘要:{摘要内容} - 保存时间:2026-03-15 - [查看详情]({飞书文档链接}) ### 2. {标题} ...
模式三:关联分析
当保存新内容时,自动与已有内容进行关联分析:
AI 处理逻辑:
- 提取新内容的标签和关键词
- 在索引表中搜索相同/相似标签的条目
- 对内容摘要进行语义相似度比较
- 生成关联说明:"你三周前存过一篇类似的观点,当时是从另一个角度分析的"
发现关联时:
lark-cli base +record-upsert --table-id "<table_id>" --json '{ "关联条目": "已有关联条目ID" }'
模式四:批量导入
支持一次性导入多条内容:
- 用户发送多个链接(一行一个)
- AI 逐一抓取和处理
- 批量创建飞书文档
- 批量更新索引表
- 生成导入报告
模式五:定期整理
用户可要求定期整理知识库:
- 合并重复内容
- 更新过时的标签
- 生成知识库统计报告(总条目数、按类型分布、按标签分布、最近保存趋势)
权限表
| 命令 | 所需 scope |
|---|---|
| |
| |
| |
| |
| |
| |
| |
| |
| |
参考
— 认证、权限(必读)lark-shared
—lark-doc
、+create
、+fetch
详细用法+search
— 知识库节点管理lark-wiki
—lark-im
、+messages-send
详细用法+chat-messages-list
—lark-base
、+table-create
、+record-list
详细用法+record-upsert
— 文件元数据查询lark-drive