
LarkReader 把飞书知识库整个搬到硬盘上——目录层级、正文、图片、附件一起落盘,之后断网也能翻。它不保存使用者的飞书密码或 token:凭据由官方 lark-cli 在本机托管,自己只负责发起一次设备码登录,不破解也不绕过任何权限机制,只能读到该账号本来就有权限看的内容。

它是 Tauri 2 + Rust + Vue 3 写的桌面应用,走 GPL-3.0 许可,属于开源 的开源软件,无自建服务端、无遥测。设计上覆盖 Windows、macOS、Linux 三个平台,但当前 v0.1.0 的预编译安装包只提供 Windows x64 版本,另外两个平台需要从源码构建。

场景痛点
知识库写在云端,翻阅的前提是网络通、登录态在、权限还在。真要用的时候总卡在这些地方:飞机和高铁上打不开;同事离职后他写的那批页面权限变了;想给一份资料做长期归档,只能一篇篇复制粘贴,图片复制出来变成一条外链,过段时间就失效了。
手动导出的另一个问题是结构丢失。飞书里排好的层级和顺序,复制出来全成了平铺的一堆文件;表格和多维表格更麻烦,导出的 CSV 丢格式,重新整理一遍比重写还累。对把飞书当知识管理 主阵地的人来说,能一次性拿回完整结构的工具推荐 并不多。

核心功能
作为一件 软件工具,它把能力集中在导出与阅读两件事上,其余一概不做。
四种节点各自的导出格式
不同节点类型对应不同的落盘格式,不是一律转成文本:
- Doc(文档正文) → Markdown:富文本、表格、代码块都会保留,图片并发下载到本地
_images目录并改写成相对路径,附件按原始字节下载 - Sheet(表格) →
.xlsx - Bitable(多维表格) → 每张数据表一个
.ndjson,外加一份.manifest.json元数据,记录base_token、table_id、rev与记录统计 - file(文件附件) → 原样字节,扩展名保持原样,字节数与上传时一致

递归导出与落盘规则
选中的文件夹会自动包含它下面的全部后代节点,整棵目录树按飞书里的层级与排序落到本地,编号前缀即子节点树序,例如 01_文本排版/。同名节点自动追加 (2)、(3) 编号,不会互相覆盖;超长标题截断到 100 字符。
递归过程带三重保护:循环检测、深度上限 64 层、节点数上限 10,000,避免异常结构把任务拖死。

节点级勾选与并发控制
工作台是树形界面,可以精确到单个节点勾选,支持全选、反选、按类型筛选,节点类型用颜色区分并自动统计规模。扫描分两种模式:Auto 只导出当前节点,FullSpace 展开整个知识库(前端默认)。
并发数在 1 到 32 之间可调,默认 4。作为一件 下载工具,它把节奏交给使用者而不替使用者决定:任务提交后立即返回 ID 转到后台执行,界面显示 8 阶段进度——扫树、权限校验、拉取文档、转 Markdown、下载图片、写盘等——同时给出完成数、当前标题与预计剩余时间。任务可以协作式取消,并返回已完成的部分结果,历史记录保留 24 小时、最多 100 条。

认证与隐私
登录走设备码方式,不是填 Cookie。引导页会并行体检 Node.js、lark-cli、应用配置与登录状态四项,固定安装 @larksuite/cli@1.0.93,自动失败重试 3 次;配置向导自动弹出浏览器,ready 与 needs_refresh 都算有效登录态。登录态过期前用 refresh_token 续期,不需要每次重新扫码。
整个过程中唯一的网络流量是本机直连 open.feishu.cn 调用官方 Open API,所有产物只写入使用者自己选的本地目录。这类工具最该说清的就是数据去向,对看重 隐私保护 的团队来说,无服务端、无遥测、凭据不落自家的设计比功能多少更要紧。
本地阅读
导出之后可以直接在应用内打开本地阅读页:左侧目录树、右侧正文,图片以 data URL 内联渲染,不依赖网络也不依赖飞书登录,并支持全文搜索。它是 Windows 上少见的一类 阅读器——先导出再离线读,而不是在线同步。
可靠性与更新
错误统一走结构化协议,带 code、message、retryable 三个字段;输出目录在写入前预检可写性与磁盘空间,写入过程用临时文件、备份与回滚,失败不留半截文件;遇到临时性故障按指数退避重试,另有独立的运行日志页。
更新在设置页一键检查,下载进度可见、可取消,用内嵌公钥做签名校验;Windows 装完自动接管,macOS 与 Linux 装完自动重启。


安装与使用
下面按 使用教程 的顺序写清前置条件、首次配置与日常操作。
前置条件
- Node.js 22+:官方
lark-cli依赖它,lark-cli本体由应用自动安装 - 系统:Windows 10+ / macOS 11+ / Ubuntu 20.04+,架构 x86_64 或 arm64
- 磁盘:至少 200 MB 可用空间
- 网络:能访问
open.feishu.cn - 账号:一个有目标 Wiki 或文档查看权限的飞书账号
首次配置
- 安装后启动,自动进入引导页,等待四项环境体检完成
- 按提示完成应用配置,浏览器会自动打开;随后用设备码登录飞书,设备码与授权链接都可一键复制
- 选择本地输出目录,配置即完成;日后可在设置页重新运行引导,也可以退出登录
macOS 与 Linux 用户目前需要自行构建:装好 Rust stable 与 Node.js 22+ 后,克隆仓库、执行 npm install,再执行 npm run tauri build,产物在 src-tauri/target/release/bundle/ 下。注意 npm run dev 只启动前端,完整功能需要 npm run tauri dev。
日常使用
- 粘贴飞书链接,支持 Wiki URL 或单篇文档 URL
- 在树形界面勾选要导出的节点,右侧实时显示已选数量与类型分布
- 选择输出目录后点开始,进度条显示阶段、当前文档与预计剩余时间,完成后自动打开目录
导出结果是纯 Markdown 加本地图片和附件,可以直接交给任何编辑器或 文件管理 流程处理,不用再依赖飞书客户端。
使用建议
| 场景 | 建议 |
| 小型知识库、只要单篇 | 用 Auto 扫描模式,只导出该节点 |
| 整库备份、长期归档 | 用 FullSpace 模式,勾选根节点一次性导出 |
| 网络条件一般 | 并发保持默认 4,避免触发限流 |
| 网络良好、赶时间 | 并发提到 16 或 32 |
| 表格与多维表格为主 | 导出后用 Excel、Pandas 或 BI 工具直接读 XLSX 与 NDJSON |
注意事项
导出内容的版权归原作者所有,仅限个人学习与备份,不要用于传播或商业用途;使用者需自行遵守飞书用户协议、开放平台条款及所在组织的数据安全规定。

我的使用感受
作者把一次真实导出的产物整个开源在仓库里:8 个顶层节点、38 项成功、0 失败,17 个附件字节级一致,落盘目录可以直接翻看。这种可核对的验证方式在 GitHub精选 项目里不多见,比截图有说服力。
节点级勾选与可中断任务比较实用——不想要的分支可以不勾,中途取消也能拿到已完成部分。它只做导出与本地阅读,不同步回云端;首次配置要装 Node.js、多平台安装包还没齐。作为一件 效率工具,它补上的是 实用软件 里空着的一格:把云端知识库拿回自己手里。
官方网站
https://github.com/LPK3215/LarkReader
https://lpk3215.github.io/LarkReader
下载地址
https://pan.quark.cn/s/fd62602a68e9







