
Cloud Document Converter:飞书文档变 Markdown
2026/7/15大约 6 分钟

如何将飞书文档转换为 Markdown?
如何批量导出飞书文档为本地文件?
Cloud Document Converter:1.2k Stars 的浏览器扩展
支持下载/复制飞书文档为 Markdown,Chrome/Edge/Firefox 全平台
一个解决飞书文档导出痛点的开源工具
问题背景
飞书文档导出的痛点:
┌─────────────────────────────────────────────────────────┐
│ 飞书文档导出的痛点 │
├─────────────────────────────────────────────────────────┤
│ │
│ 典型场景: │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 1. 文档迁移 │ │
│ │ · 从飞书迁移到其他平台 │ │
│ │ · 需要保留文档格式 │ │
│ │ · 飞书没有原生 Markdown 导出功能 │ │
│ │ │ │
│ │ 2. 本地备份 │ │
│ │ · 想把飞书文档备份到本地 │ │
│ │ · 担心平台数据丢失 │ │
│ │ · 需要可编辑的格式 │ │
│ │ │ │
│ │ 3. 版本控制 │ │
│ │ · 想用 Git 管理文档版本 │ │
│ │ · 需要纯文本格式 │ │
│ │ · 飞书文档无法直接纳入版本控制 │ │
│ │ │ │
│ │ 4. 跨平台使用 │ │
│ │ · 飞书文档只能在飞书平台使用 │ │
│ │ · 想在其他平台使用 │ │
│ │ · 需要通用的格式 │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 传统解决方案的局限: │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 1. 复制粘贴 │ │
│ │ · 手动复制,效率低 │ │
│ │ · 格式容易丢失 │ │
│ │ · 图片需要单独下载 │ │
│ │ │ │
│ │ 2. 飞书导出功能 │ │
│ │ · 只支持 Word、PDF 等格式 │ │
│ │ · 不支持 Markdown │ │
│ │ · 格式转换效果差 │ │
│ │ │ │
│ │ 3. 第三方工具 │ │
│ │ · 需要安装软件 │ │
│ │ · 需要配置 API │ │
│ │ · 使用门槛高 │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────┘解决方案:Cloud Document Converter
一个浏览器扩展,解决飞书文档导出痛点
┌─────────────────────────────────────────────────────────┐
│ Cloud Document Converter 解决方案 │
├─────────────────────────────────────────────────────────┤
│ │
│ 核心功能: │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 1. 下载飞书文档为 Markdown │ │
│ │ · 一键下载整个文档 │ │
│ │ · 保留文档结构 │ │
│ │ · 包含图片链接 │ │
│ │ │ │
│ │ 2. 复制飞书文档为 Markdown │ │
│ │ · 一键复制到剪贴板 │ │
│ │ · 粘贴到任意编辑器 │ │
│ │ · 即用即走 │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 使用方式: │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 1. 安装扩展 │ │
│ │ · Chrome Web Store │ │
│ │ · Microsoft Edge Store │ │
│ │ · Firefox Add-ons Store │ │
│ │ │ │
│ │ 2. 打开飞书文档 │ │
│ │ · 在浏览器中打开飞书文档 │ │
│ │ · 确保文档加载完成 │ │
│ │ │ │
│ │ 3. 点击扩展图标 │ │"
│ │ · 选择"下载为 Markdown" │ │
│ │ · 或选择"复制为 Markdown" │ │
│ │ │ │
│ │ 4. 完成 │ │
│ │ · 下载:自动下载 .md 文件 │ │
│ │ · 复制:Markdown 内容已在剪贴板 │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 项目数据: │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ GitHub Stars: 1.2k ⭐ │ │
│ │ Forks: 183 🍴 │ │
│ │ Issues: 26 🐛 │ │
│ │ Releases: 30 📦 │ │
│ │ License: MIT 📄 │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────┘技术架构
Monorepo + TypeScript + Vue 的现代技术栈
┌─────────────────────────────────────────────────────────┐
│ Cloud Document Converter 技术架构 │
├─────────────────────────────────────────────────────────┤
│ │
│ 项目结构: │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ Monorepo 结构: │ │
│ │ ┌───────────────────────────────────────────┐ │ │
│ │ │ cloud-document-converter/ │ │ │
│ │ │ ├── apps/ │ │ │
│ │ │ │ └── chrome-extension/ │ │ │
│ │ │ ├── packages/ │ │ │
│ │ │ ├── package.json │ │ │
│ │ │ ├── pnpm-workspace.yaml │ │ │
│ │ │ └── turbo.json │ │ │
│ │ └───────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 技术栈: │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 编程语言: │ │
│ │ ┌───────────────────────────────────────────┐ │ │
│ │ │ TypeScript: 58.6% │ │ │
│ │ │ Vue: 38.3% │ │ │
│ │ │ JavaScript: 1.6% │ │ │
│ │ │ CSS: 1.2% │ │ │
│ │ │ HTML: 0.3% │ │ │
│ │ └───────────────────────────────────────────┘ │ │
│ │ │ │
│ │ 核心技术: │ │
│ │ · TypeScript:类型安全的开发体验 │ │
│ │ · Vue 3:响应式 UI 框架 │ │
│ │ · Chrome Extension API:浏览器扩展开发 │ │
│ │ · Turbo:Monorepo 构建工具 │ │
│ │ · pnpm:包管理器 │ │
│ │ · Vitest:单元测试框架 │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 核心模块: │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 1. 文档解析模块 │ │
│ │ · 解析飞书文档 DOM 结构 │ │
│ │ · 提取文档元素(标题、列表、代码块等) │ │
│ │ · 处理嵌套结构 │ │
│ │ │ │
│ │ 2. Markdown 转换模块 │ │
│ │ · 将飞书文档元素转换为 Markdown │ │
│ │ · 处理特殊格式(表格、图片、数学公式) │ │
│ │ · 保留文档结构 │ │
│ │ │ │
│ │ 3. 图片处理模块 │ │
│ │ · 提取图片 URL │ │
│ │ · 生成 Markdown 图片语法 │ │
│ │ · 处理图片链接过期(2 小时) │ │
│ │ │ │
│ │ 4. 下载/复制模块 │ │
│ │ · 生成 .md 文件 │ │
│ │ · 复制到剪贴板 │ │
│ │ · 触发浏览器下载 │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────┘功能详解
支持的飞书文档元素:
┌─────────────────────────────────────────────────────────┐
│ 支持的飞书文档元素 │
├─────────────────────────────────────────────────────────┤
│ │
│ 块级元素(Block): │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ┌──────────────────┬──────────┬──────────────┐ │ │
│ │ │ 飞书文档元素 │ 是否支持 │ Markdown │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Divider │ ✅ │ Thematic │ │ │
│ │ │ │ │ Break │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Headings (1-6) │ ✅ │ ATX │ │ │
│ │ │ │ │ Headings │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Headings (7-9) │ ✅ │ Paragraph │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Code Block │ ✅ │ Code Block │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Quote │ ✅ │ Blockquote │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Bullet List │ ✅ │ Bullet List │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Ordered List │ ✅ │ Ordered List │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Task List │ ✅ │ Task List │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Table │ ✅ │ Table │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Image │ ✅ │ Image │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Inline Math │ ✅ │ Math Block │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Synced Reference │ ✅ │ ✅ │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Call Out │ ❌ │ Blockquote │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Diagram │ ❌ │ Image │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Grid │ ✅ │ flattened/ │ │ │
│ │ │ │ │ Table/HTML │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Iframe │ ✅ │ HTML │ │ │
│ │ └──────────────────┴──────────┴──────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 行内元素(Inline): │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ ┌──────────────────┬──────────┬──────────────┐ │ │
│ │ │ 飞书文档元素 │ 是否支持 │ Markdown │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Bold │ ✅ │ Bold │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Delete │ ✅ │ Delete │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Italic │ ✅ │ Italic │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Inline Code │ ✅ │ Inline Code │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Link │ ✅ │ Link │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Font Color │ ✅ │ HTML │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Font Background │ ✅ │ HTML │ │ │ │
│ │ │ Color │ │ │ │ │
│ │ ├──────────────────┼──────────┼──────────────┤ │ │
│ │ │ Underline │ ✅ │ HTML (<u>) │ │ │
│ │ └──────────────────┴──────────┴──────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 待支持元素: │
│ ┌─────────────────────────────────────────────────┐ │
│ │ · Bitable(飞书多维表格) │ │
│ │ · Chat Card(聊天卡片) │ │
│ │ · File(文件) │ │
│ │ · ISV(第三方应用) │ │
│ │ · Mind Note(思维笔记) │ │
│ │ · Sheet(飞书表格) │ │
│ │ · Indent and Align(缩进和对齐) │ │
│ └─────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────┘使用场景
Cloud Document Converter 的典型使用场景:
┌─────────────────────────────────────────────────────────┐
│ 典型使用场景 │
├─────────────────────────────────────────────────────────┤
│ │
│ 场景 1:文档迁移 │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 需求: │ │
│ │ · 从飞书迁移到 Notion/Confluence/Wiki │ │
│ │ · 需要保留文档格式 │ │
│ │ │ │
│ │ 操作: │ │
│ │ 1. 在飞书中打开文档 │ │
│ │ 2. 点击扩展图标,选择"复制为 Markdown" │ │
│ │ 3. 在目标平台粘贴 │ │
│ │ 4. 调整格式(如有需要) │ │
│ │ │ │
│ │ 效果: │ │
│ │ · 文档结构完整保留 │ │
│ │ · 标题、列表、代码块格式正确 │ │
│ │ · 迁移时间从 30 分钟缩短到 1 分钟 │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 场景 2:本地备份 │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 需求: │ │
│ │ · 把飞书文档备份到本地 │ │
│ │ · 担心平台数据丢失 │ │
│ │ │ │
│ │ 操作: │ │
│ │ 1. 在飞书中打开文档 │ │
│ │ 2. 点击扩展图标,选择"下载为 Markdown" │ │
│ │ 3. 保存到本地文件夹 │ │
│ │ 4. 定期备份 │ │
│ │ │ │
│ │ 效果: │ │
│ │ · 所有文档以 .md 格式备份 │ │
│ │ · 可用任意编辑器打开 │ │
│ │ · 数据完全可控 │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 场景 3:版本控制 │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 需求: │ │
│ │ · 用 Git 管理文档版本 │ │
│ │ · 需要纯文本格式 │ │
│ │ │ │
│ │ 操作: │ │
│ │ 1. 在飞书中打开文档 │ │
│ │ 2. 点击扩展图标,选择"下载为 Markdown" │ │
│ │ 3. 放入 Git 仓库 │ │
│ │ 4. 提交和推送 │ │
│ │ │ │
│ │ 效果: │ │
│ │ · 文档纳入版本控制 │ │
│ │ · 可以查看历史版本 │ │
│ │ · 可以对比变更 │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 场景 4:跨平台使用 │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 需求: │ │
│ │ · 飞书文档只能在飞书平台使用 │ │
│ │ · 想在其他平台使用 │ │
│ │ │ │
│ │ 操作: │ │
│ │ 1. 在飞书中打开文档 │ │
│ │ 2. 点击扩展图标,选择"复制为 Markdown" │ │
│ │ 3. 粘贴到 Typora/Obsidian/VS Code │ │
│ │ 4. 继续编辑 │ │
│ │ │ │
│ │ 效果: │ │
│ │ · 文档可以在任意平台使用 │ │
│ │ · 不受限于飞书平台 │ │
│ │ · 使用自己喜欢的编辑器 │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────┘技术亮点
Cloud Document Converter 的技术亮点:
┌─────────────────────────────────────────────────────────┐
│ 技术亮点 │
├─────────────────────────────────────────────────────────┤
│ │
│ 1. Monorepo 架构 │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 使用 Turbo + pnpm workspace │ │
│ │ ┌───────────────────────────────────────────┐ │ │
│ │ │ 优势: │ │ │
│ │ │ · 统一管理多个包 │ │ │
│ │ │ · 共享代码和依赖 │ │ │
│ │ │ · 统一构建和测试 │ │ │
│ │ │ · 提高开发效率 │ │ │
│ │ └───────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 2. TypeScript 全栈 │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 58.6% 的代码使用 TypeScript │ │
│ │ ┌───────────────────────────────────────────┐ │ │
│ │ │ 优势: │ │ │
│ │ │ · 类型安全 │ │ │
│ │ │ · IDE 智能提示 │ │ │
│ │ │ · 减少运行时错误 │ │ │
│ │ │ · 代码可维护性高 │ │ │
│ │ └───────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 3. Vue 3 响应式框架 │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 38.3% 的代码使用 Vue 3 │ │
│ │ ┌───────────────────────────────────────────┐ │ │
│ │ │ 优势: │ │ │
│ │ │ · 响应式 UI │ │ │
│ │ │ · 组件化开发 │ │ │
│ │ │ · 性能优秀 │ │ │
│ │ │ · 生态丰富 │ │ │
│ │ └───────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 4. Chrome Extension API │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 深度使用浏览器扩展 API │ │
│ │ ┌───────────────────────────────────────────┐ │ │
│ │ │ 核心 API: │ │ │
│ │ │ · chrome.tabs │ │ │
│ │ │ · chrome.scripting │ │ │
│ │ │ · chrome.downloads │ │ │
│ │ │ · chrome.clipboard │ │ │
│ │ └───────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 5. 跨平台支持 │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 支持 Chrome、Edge、Firefox 三大浏览器 │ │
│ │ ┌───────────────────────────────────────────┐ │ │
│ │ │ 优势: │ │ │
│ │ │ · 覆盖主流浏览器 │ │ │
│ │ │ · 用户体验一致 │ │ │
│ │ │ · 维护成本低 │ │ │
│ │ └───────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 6. 开发友好 │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 完善的开发环境 │ │
│ │ ┌───────────────────────────────────────────┐ │ │
│ │ │ 特性: │ │ │
│ │ │ · DevContainer 支持 │ │ │
│ │ │ · Husky Git Hooks │ │ │
│ │ │ · ESLint + Prettier │ │ │
│ │ │ · Vitest 单元测试 │ │ │
│ │ │ · Turbo 构建优化 │ │ │
│ │ └───────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────┘已知限制
Cloud Document Converter 的已知限制:
┌─────────────────────────────────────────────────────────┐
│ 已知限制 │
├─────────────────────────────────────────────────────────┤
│ │
│ 1. 图片链接过期 │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 问题: │ │
│ │ · 图片链接只有 2 小时有效期 │ │
│ │ · 2 小时后图片资源无法访问 │ │
│ │ │ │
│ │ 解决方案: │ │
│ │ · 在 2 小时内下载图片到本地 │ │
│ │ · 使用图片托管服务 │ │
│ │ · 定期更新图片链接 │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 2. 部分元素不支持 │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 不支持的元素: │ │
│ │ · Call Out(提醒)→ 转换为 Blockquote │ │
│ │ · Diagram(流程图)→ 仅下载图片 │ │
│ │ · File(文件)→ 仅保留链接 │ │
│ │ · Bitable(多维表格)→ 待支持 │ │
│ │ · Chat Card(聊天卡片)→ 待支持 │ │
│ │ · ISV(第三方应用)→ 待支持 │ │
│ │ · Mind Note(思维笔记)→ 待支持 │ │
│ │ · Sheet(表格)→ 待支持 │ │
│ │ · Indent and Align(缩进和对齐)→ 待支持 │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 3. 格式转换损失 │
│ ┌─────────────────────────────────────────────────┐ │
│ │ │ │
│ │ 可能的格式损失: │ │
│ │ · 特殊字体颜色(转换为 HTML) │ │
│ │ · 特殊背景颜色(转换为 HTML) │ │
│ │ · 复杂嵌套结构(可能简化) │ │
│ │ · 自定义样式(可能丢失) │ │
│ │ │ │
│ │ 建议: │ │
│ │ · 转换后检查格式 │ │
│ │ · 必要时手动调整 │ │
│ │ · 使用标准 Markdown 语法 │ │
│ │ │ │
│ └─────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────┘收尾金句
- 如何将飞书文档转换为 Markdown?
- Cloud Document Converter:1.2k Stars 的浏览器扩展
- 支持下载/复制飞书文档为 Markdown,Chrome/Edge/Firefox 全平台
- 一个解决飞书文档导出痛点的开源工具
Cloud Document Converter:让飞书文档变 Markdown 的浏览器扩展
一键下载/复制,支持 20+ 种文档元素,Monorepo + TypeScript + Vue 现代技术栈
