乐于分享
好东西不私藏

用 WorkBuddy 自动监控飞书文档:更新实时采集进 Obsidian 知识库

用 WorkBuddy 自动监控飞书文档:更新实时采集进 Obsidian 知识库
FEISHU · 实战2026.07

让飞书文档自己跑进知识库

三个脚本的事

盯更新 · 读内容 · 存本地

小路 · AI 编程出海

飞书监控知识库

📦 4 Parts + Conclusion

👉 滑动

PART 01

怎么监控更新

revision 号

PART 02

怎么读内容

lark-cli 抓取

PART 03

怎么存库

落 Obsidian

PART 04

踩的坑

挂了二十天

前两天想看看 WayToAGI 最近收录了啥,打开知识库才发现——我那个飞书监控脚本,已经停更快二十天了。

它是我自己写的,本来每天自动把 WayToAGI 的每日收录搬进 Obsidian。结果悄无声息挂了,我一直没察觉。

修的时候顺手把整套流程理了一遍。这篇就讲清楚一件事:怎么用 WorkBuddy 监控、采集一个飞书文档——怎么盯它更新、怎么把内容读出来、怎么存进自己的知识库。

先垫一句背景:飞书文档没有 RSS,也不提供「有更新就通知我」。想自动追一个飞书文档,只能自己搭一套。

01

PART

怎么盯着它有没有更新

WATCH · 监控更新

飞书文档每改一次,都会涨一个 revision 号。监控,就是盯这个号。

脚本 check_updates.py 每天跑一次,记下上次的 revision,跟现在的比。

...python

current = get_revision(DOC_URL)  # 问飞书:现在到第几版了

if current != last_revision:    # 号变了,说明有人更新

  for day in missing_days:   # 把断更的日期补上

    pull_day(day)

号没变就不动,变了就往下走去抓。

02

PART

怎么把飞书文档的内容读出来

FETCH · 读取内容

读飞书,靠的是 WorkBuddy 的飞书连接器。装好之后,本地会多一个命令行工具 lark-cli。

它用你自己的飞书账号权限,一条命令就能读文档、抓内容、下图片:

...bash

lark-cli docs +fetch --doc "文档链接" --scope keyword \

 --keyword "7月21日收录" --doc-format markdown --as user

WayToAGI 的收录有个固定格式:每天一个 「7月21日收录」 的标题,下面每条是「一句话描述 + 原文链接」。

所以读某一天,就是拿这个日期标题去定位区块,把里面的条目全捞出来。

...python

def fetch_day(day_label):

  content = lark_fetch(keyword=day_label) # 定位到这一天

  return parse_entries(content)      # 逐条解析

捞出来之后有个关键动作:过滤。几百条里大部分对我没用。

我写了个 assess_value,按标题和描述打分。「实战」「出海」「保姆级教程」这种留,「早安打卡」「心灵鸡汤」这种直接扔。命中的才往下走。

03

PART

怎么存进我自己的知识库

STORE · 落库

命中的条目,再用 lark-cli 把原文拉成 Markdown,图片一并下到本地。

落地长这样:

...tree

01_Sources/waytoagi/

├── 2026-07-21_文章标题.md  ← 每篇一个 Markdown

└── images/

  └── 2026-07-21_文章标题/  ← 图片按文章分目录

有两个细节值得说。

一是文件名带完整年月日。飞书收录只写「7月21日」,不带年份,翻多了容易翻到去年的旧内容,所以我在存的时候把年份补上。

二是图片全下到本地,不挂外链。哪天飞书链接失效,我库里还留着一份。

存完就进了 Obsidian,跟我其他笔记一样能搜、能双链、也能被 AI 读。

04

PART

踩的坑:它挂了二十天我没发现

BUG · 排查

前面这三块,逻辑都不复杂。真正的坑在别处。

我这几个脚本最早在 Windows 上写的,lark-cli 的路径直接写死成了 C:\Users\...\lark-cli.cmd。

后来换到 Mac 上跑,这路径根本不存在,脚本一启动就报错退出。

但它是后台定时跑的,输出我平时看不见。就这么安安静静地失败了二十天。

修起来是一行的事——把路径改成自动找:

...python

import shutil

LARK_CLI = shutil.which("lark-cli") or find_lark_cli()

麻烦的是后半句:自动化挂了,你往往是最后一个知道的。所以我现在给这类脚本都加了一句——跑完往日志写一行,哪天没新行,就是挂了。

修完顺手写了个回填脚本,把断更的十九天补了回来,九十八条收录里命中三十九条有价值的,正一篇篇转进库里。

这套东西不复杂,几个 Python 脚本加一个 lark-cli。你要是也有个天天翻的飞书文档,可以照这个思路搭,先把「能抓今天的新内容」跑通就行。

既然看到这里了,如果觉得有用,随手点个赞、在看、转发三连吧。

点赞
在看
转发

THANKS FOR READING