LarkReader 飞书文档本地导出工具:一键备份目录结构与图片

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_tokentable_idrev 与记录统计
  • 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 次;配置向导自动弹出浏览器,readyneeds_refresh 都算有效登录态。登录态过期前用 refresh_token 续期,不需要每次重新扫码。

整个过程中唯一的网络流量是本机直连 open.feishu.cn 调用官方 Open API,所有产物只写入使用者自己选的本地目录。这类工具最该说清的就是数据去向,对看重 隐私保护 的团队来说,无服务端、无遥测、凭据不落自家的设计比功能多少更要紧。

本地阅读

导出之后可以直接在应用内打开本地阅读页:左侧目录树、右侧正文,图片以 data URL 内联渲染,不依赖网络也不依赖飞书登录,并支持全文搜索。它是 Windows 上少见的一类 阅读器——先导出再离线读,而不是在线同步。

可靠性与更新

错误统一走结构化协议,带 codemessageretryable 三个字段;输出目录在写入前预检可写性与磁盘空间,写入过程用临时文件、备份与回滚,失败不留半截文件;遇到临时性故障按指数退避重试,另有独立的运行日志页。

更新在设置页一键检查,下载进度可见、可取消,用内嵌公钥做签名校验;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 或文档查看权限的飞书账号

首次配置

  1. 安装后启动,自动进入引导页,等待四项环境体检完成
  2. 按提示完成应用配置,浏览器会自动打开;随后用设备码登录飞书,设备码与授权链接都可一键复制
  3. 选择本地输出目录,配置即完成;日后可在设置页重新运行引导,也可以退出登录

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

日常使用

  1. 粘贴飞书链接,支持 Wiki URL 或单篇文档 URL
  2. 在树形界面勾选要导出的节点,右侧实时显示已选数量与类型分布
  3. 选择输出目录后点开始,进度条显示阶段、当前文档与预计剩余时间,完成后自动打开目录

导出结果是纯 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

相关推荐

Avatar photo

JameCling

我是 格律诗的软件世界 的作者,一名专注于软件工具、AI 技术和数字效率领域的独立研究者。
多年来,我持续关注互联网工具的发展趋势,体验不同平台的软件产品,并研究它们如何帮助用户提升效率。
我的工作不仅是整理软件信息,而是通过实际测试、功能分析和使用场景研究,帮助用户判断一个工具是否真正值得使用。
格律诗的软件世界 的每一篇文章都希望提供真实、有价值的信息,包括工具特点、使用方法、优缺点分析以及适合的人群。
我相信,好的工具能够改变工作方式,而准确的信息能够帮助用户做出更好的选择。