v1.2.1OPEN SOURCE / DOCUMENT ARCHIVING

把飞书文档,
带回本地。

将有权限访问的飞书 / Lark Docx 与 Wiki 导出为 Markdown。
文档、图片、目录和结果清单,放进你自己的工作空间。

PYTHON STANDARD LIBRARY · MIT LICENSEYOUR DOCUMENTS, YOUR WORKSPACE

你敲命令,
或让 Agent 来做。

脚本、Skill、本地 Web 服务调用同一套导出逻辑。选择入口,输出规则始终一致。

一个地址,让 Agent 装好。

适用于 Codex、Claude Code、DeepSeek Harness、OpenClaw、Hermes。仓库根目录就是 Skill 目录,助手读取 SKILL.md 后调用现有脚本。

复制右侧提示词交给助手,再提供你要导出的文档。安装 Skill 后仍需完成飞书用户授权。

查看各 Agent 安装说明 ↗
复制给你的 Agent
请把 https://github.com/rovertang/lark-docs-to-md 安装为你的 Skill。

读取 SKILL.md,复用仓库脚本,不要重写下载逻辑。
先运行 scripts/check_env.py --json 检查环境。
需要用户登录时使用 --login --no-wait,将授权链接与二维码给我;等我确认后再用 --device-code 收尾。

使用 user 身份导出我随后提供的文档。递归或整库导出前先确认范围;整库先执行 --dry-run。
完成后报告输出目录、文档与图片数量、失败或降级项。图片失败时不要声称完整导出。

带走正文,
也带走它的上下文。

离线阅读、个人知识库、Agent 上下文、资料迁移。保留可以导出的结构与资源,并记录每次导出的结果。

01

单篇与批量

接受 Docx / Wiki 链接,或逐行读取 URL 列表。批量任务中单个失败会继续处理其余链接,再统一汇总。

batch_download.py
02

引用与层级

按需跟随正文引用,也可遍历整个 Wiki 空间或指定子树。整库导出镜像分类目录,生成本地索引。

download_wiki_space.py
03

本地图片与附件

Markdown 图片改成本地相对路径。知识库附件优先取原件,权限不允许时尝试预览件并标记降级。

assets/
04

结果可以核对

清单保留来源、输出文件与状态。长任务从首跑就启用 --resume,后续重试失败与降级节点。

_manifest.json

不同资源,按各自的方式落盘

知识库节点处理规则
资源本地产物需要知道的边界
DocxMarkdown + 图片图片失败会单独记录,不能视为完整导出。
旧版 Doc纯文本 .md格式、表格和图片会丢失;需要对应接口权限。
电子表格按子表导出 CSV保留可见子表名称,隐藏子表跳过。
附件原件 / 可用预览件预览件标记为 partial,原件与预览均不可用时记录失败。
其他类型记录为 unsupported多维表格、思维笔记、幻灯片、画板与未知类型会记入问题列表,不会静默跳过。

先登录,再下载。

这个项目依赖 lark-cli 调用飞书接口。Python 脚本和 Agent Skill 都需要复用一套已经配置、授权的 CLI 环境。

  1. 01

    配置 CLI 的应用

    先为 lark-cli 配置飞书 / Lark 应用及所需权限。应用配置是调用接口的基础。

    lark-cli config init
  2. 02

    授权用户身份

    下载自己的文档,默认使用 user。通过登录引导完成授权,Token 由 CLI 管理。

    check_env.py --login
  3. 03

    确认目标访问权

    当前账号要能访问目标文档;递归子文档、图片和附件可能各自有权限要求。

    --identity user
配置了机器人 ≠ 获得用户文档权限

用户登录与直接使用 bot 身份是两条不同的访问路径。只有机器人也被授予目标资源访问权时,--identity bot 才适合;它不会自动继承你的个人权限。

外部链接,逐个确认权限

优先用于自己的文档或明确获授权的资料。浏览器能打开的外部公开链接,不代表当前应用和账号一定能通过 API 导出。

先让环境就绪。

已有可用的 CLI 配置与登录态?直接克隆仓库并自检。首次使用,则先安装和配置 lark-cli。

01

安装 CLI 与获取项目

TERMINAL
npm install -g @larksuite/cli
# 首次使用 CLI 时,先完成应用配置
lark-cli config init

git clone https://github.com/rovertang/lark-docs-to-md.git
cd lark-docs-to-md
02

自检与用户授权

TERMINAL
python3 scripts/check_env.py
# 需要登录时再执行
python3 scripts/check_env.py --login
# 授权后重新自检
python3 scripts/check_env.py --json

Windows 可使用 py -3 代替 python3。登录默认申请 docs,wiki,drive,sheets;应用侧权限与用户授权都需要满足。项目脚本不读取或保存 API Token。

选一个导出范围

替换示例链接,默认不递归
python3 scripts/download_docx_tree.py "https://example.feishu.cn/docx/YOUR_DOC_TOKEN" -o ./downloads --identity user

需要连同正文引用下载时,再添加 -r --max-docs 50。

文件在本地,
结果有清单。

知识库导出会生成分类索引、状态清单和问题列表。成功、预览降级、空文档、失败、不支持、主动跳过,都有记录。

okpartialfailedunsupported

拿到预览件,不等于拿到原件;有图片失败,也不等于完整归档。检查清单后再判断导出结果。

LOCAL ARCHIVE / 结构示意Wiki
downloads / 我的知识库 /
├── _INDEX.md          分类索引
├── _failures.md       问题列表
├── _manifest.json     结构化清单
├── _manifest.csv      Excel 可读
├── state.json         启用 --resume 时
└── 项目资料 /
    ├── _分类页.md
    ├── 项目笔记.md
    ├── 进度表__总览.csv
    └── assets / … / image-001.png
1.2.1
LATEST DOCUMENTED VERSION

让归档更容易核对。

多子表 CSV 保留真实名称,文件数与体积计入图片资源,断点续传明确提示检查点状态。无标题回退命名与清单格式也已统一。

完整更新日志 ↗