免费POC, 零成本试错
FDE知识库

FDE知识库

学习大模型的前沿技术与行业落地应用


收藏

我制作了 Feishu2MD 的桌面应用,帮助你快速批量导出飞书文档

发布日期:2026-05-09 12:02:30 浏览次数: 2424
作者:巴卡噗噜

微信搜一搜,关注“巴卡噗噜”

推荐语

一键批量导出飞书文档为Markdown,告别繁琐操作,提升工作效率!

核心内容:
1. Feishu2MD桌面应用的功能与下载方式
2. 与原版CLI工具相比的优化点
3. 追加特性:智能识别文档链接、文件名处理等

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家

飞书文档➡️Markdown

太长不看版

可以直接在这里下载。遇到不安全警告是因为我没有签名,可以在系统设置「隐私与安全性」中主动放行。
🔗 https://github.com/bakabakamio/Feishu2MD-Exporter/releases

在这里阅读项目说明,遇到问题可以在 Issues 里面反馈或者直接在文章中留言:
🔗 https://github.com/bakabakamio/Feishu2MD-Exporter

我之前把飞书文档批量转为 Markdown 文件保存到本地时,使用了 Wsine 开发的一个 Feishu2MD 的 CLI 工具。它是用 Go 实现的,支持单文档、文件夹以及知识库下载。因为真的很好用,我就想着给它做一个 GUI Wrapper。

🔗 https://github.com/Wsine/feishu2md

后来我发现飞书官方也有自己的 Lark CLI,功能更全支持更多的 API,但我其实还没用过。官方这个 CLI 似乎只能导出单个文件,而不支持批量导出文件夹/知识库。虽然说官方 CLI 能更好地与 AI Agent 集成,不过单纯批量导出 Markdown 这个任务已经有 Feishu2MD 了,直接用它就很好。另外,像图片本地化和链接替换这些功能,我也不确定官方 CLI 有没有实现。

🔗 https://github.com/larksuite/cli

但是这些都是后话,因为我一开始的目的,其实就是给 Feishu2MD CLI 做一个 Wrapper🤣。在此基础上也追加了一些我自己会用到的功能。

虽然飞书以后可能会更新文档结构或者接口权限,这个工具以后可能会不适用,但目前用起来还蛮好的。

追加优化的点

它和原版的 Feishu2MD CLI 主要区别在于——当然了,一个是命令行工具,一个是图形界面嘛。不习惯使用 CLI 的朋友可能会更喜欢用它。那么接下来介绍一些追加的特性:

文档链接的智能识别

原本 CLI 需要用不同的命令去下载单个文档、文件夹或知识库,现在我统一成了一个链接输入框,所有的链接都能直接放进去,会自动帮你路由。

也追加支持了知识库分享 wiki/space 格式链接。这个链接可以通过点击「分享知识库」按钮得到。原本的 CLI 如果要下载知识库,只能填写知识库设置页面的链接(即 wiki/settings),但我觉得使用分享链接更符合直觉。现在两种链接都可以识别,我在底层做了一层替换。

文件名作为 H1 处理

可以选择是否将飞书文档的文件名作为一级标题插入正文顶部。默认是开启的,考虑到大家可能已经在正文添加了一个 H1 Heading,取消勾选此项可以避免导出后标题重复。

文件重命名

原本 CLI 下载的文件名通常是一串从 URL 获取的文档 Token,这样子下载到本地以后,就不能一眼知道是什么内容。所以追加了将文件名重命名为真实的文档标题,并自动将非法字符替换为下划线的选项。

至于文档间的相互链接(即 Markdown 文件中互相引用的链接),虽然有做两遍扫描,但我目前还没有好好测试,大家在使用中如果发现问题可以随时告诉我。

图片存放路径

支持修改存放图片的本地文件夹名称,默认为 static,可以根据习惯修改为 picimage 或 assets 等等。图片文件夹会存放在 Markdown 文件的同级目录下,方便后续迁移。

同时我也把 Markdown 中的图片路径改成了相对路径。原本 CLI 使用的是绝对路径,移动后图片就失效了,改用相对路径后就没有这个问题。

默认保存文件夹

在桌面端,App 会在指定位置下创建带时间戳的文件夹来保存导出结果。服务端因为浏览器下载的限制,会把所有的内容打包成一个 ZIP 包,然后下载下来(保存位置遵循浏览器的设置)。

安装和使用

可以在 GitHub Release 下载 Windows 和 Mac 版本的安装包。下载好以后,只要配置好飞书应用凭证,其他什么都不用做,直接就能用。

由于目前还没有签名,系统可能会识别为不安全。安装时跳过警告即可。如果不放心,也可以将代码拉下来让 AI 检查后在本地运行构建。如何构建可以查看 README 中的说明。

另外,如果想在服务器部署或使用本地网页版,也可以参照 README 中的说明。服务器版和桌面版的下载核心机制和 UI 界面都是通用的一套。服务器版支持通过 ENV 注入飞书应用凭证,防止他人滥用。

在使用前,我们需要准备飞书应用的凭证,具体步骤如下:

1. 获取应用凭证

登录飞书开发者后台创建企业自建应用。应用名称和应用描述随便填,自己能分清楚即可。

🔗 https://open.feishu.cn/app

在「权限管理」页面,搜索并开通以下应用身份权限(注意:我们需要开通的是「应用身份」而非「用户身份」权限):

  • docx:document:readonly
  • docs:document.media:download
  • drive:drive:readonly
  • wiki:wiki:readonly

你可以直接复制这里的权限字符串进行搜索。整个复制到输入框后,就会出现对应的权限,全选开通即可:

docx:document:readonlydocs:document.media:download, drive:drive:readonlywiki:wiki:readonly

创建版本并发布后,在「凭证与基础信息」中找到你的 APP ID 和 APP SECRET,并填入 App 设置中。

2. 配置文档权限

确保你要导出的飞书文档、文件夹或知识库已经开启了「互联网上获得链接的人可阅读」权限。

导出整个知识库时,请点击「分享知识库」 → 「将知识库发布到互联网」 并复制该分享链接,而非其中的单篇文章链接。正确示例:

🔗 https://domain.feishu.cn/wiki/space/xxxxxxxx

3. 开始导出

复制文档、文件夹或知识库的 URL 并填入首页的输入框,再点击「导出为 Markdown」就可以了。

Voilà,就这么简单。

开发的一些碎碎念

因为我从来没有做过桌面端 App,虽然只是通过 Tauri 打包了一下,但是整个过程还是学到了蛮多有意思的东西。

最开始我只是在 Google AI Studio 上随口说了一句,想要给 Feishu2MD 做个 Web Wrapper,这样我不管在哪里都能用。结果它很快就做出了雏形。虽然最初只能导出单个文档还有 bug,但慢慢调试下来感觉已经很好了。后来我想不然搞个桌面端呗,考虑到这是用 Google AI Studio 做的,就决定用 Google 自家的 Antigravity 继续。

平心而论,虽然说 Antigravity 好像是第一个使用 Agent Manager 这种形式的 IDE,但我觉得它很难用…但是既然有 Google AI Pro 订阅,不用白不用嘛🤣

发现 Antigravity 里面的模型配额是这样的:Gemini 3.1 Pro High 和 Pro Low 是一个池子的,Gemini 3 Flash 是一个池子的,然后其他家的模型比如 Claude Opus 和 Sonnet 是一个池子的。另外 Google AI Pro 每月还有 1000 点 AI credits,本来我以为只能用在 Flow 里做视频用,后来发现其实是跟 Antigravity 共用的。当 5 小时配额 & 周配额用完后,可以选择继续使用这些点数。

看起来好像还不错?但我真的觉得 Google 做产品很乱。有一阵子,Antigravity 里面不管用什么模型都显示服务器忙,连 Flash 模型都忙,也不知道到底在干嘛。当时 Gemini CLI 也有问题,一直说我没有权限使用,但提示的是我正在使用一个并不属于我的 Google Cloud Project…退出重新登录也没用。当时好像很多人都有这个问题。

总之它所有东西都用不来,只有 AI Studio 能用。AI Studio 倒是又更新了不少小东西🤣🤣。然后它居然把 Flow 又独立了一个专门做音乐的 Flow Music 出来(虽然好像是原本的一个产品改名),甚至还能做音乐 Playground(也是类似于 Web App)。每次看到它更新,我就在想你能不能把坏掉的先修修好。现在倒是都好了都能用哈哈哈。

Antigravity 也只有 Plan 和 Fast 模式,顾名思义,Plan 就是它会先规划再执行,Fast 就是直接执行。但是我觉得有时候 Plan 和 Fast 有啥区别啊?它也没有给我 Plan…被其他的惯坏了,我还蛮希望它有开箱即用的 Debug 模式之类的,不用我自己配。

前面是 IDE 的一些小吐槽。其实这件事情本身对我来说比较难的一个点是发布 Release 版本。因为我不想每次都自己打包然后手动上传,所以 AI 帮我写了一个 workflow 文件。现在的流程是打上版本 tag 之后 push 到 GitHub,会自动触发 GitHub Actions,自动运行打包任务,完成后创建一个 Release Draft,我看没问题就可以直接点公开。

最初调试的时候这些 Action Jobs 都失败了。那怎么办呢我可不会改。我就想不是给它配好了 GitHub MCP 吗,也开了 Actions 的读取权限,那我直接让它自己排查错误就好了。但它就是修不好,后来我烦了,直接把 Error Message 贴给它,一下子就修好了…

所以是我哪里没做对,还是说 GitHub Actions 就比较难?但是因为我现在已经跑通了,暂时也不会去碰其他的 Release,这个问题就先放着了。

Anyways,祝大家使用愉快!😋


53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询

扫码登录
登录即表示您同意《53AI网站服务协议》
服务协议

欢迎您使用【53AI 官方网站】(以下简称“本网站”或“我们”)。本《会员服务协议》(以下简称“本协议”)是您(以下简称“会员”或“用户”)与【深圳市博思协创网络科技有限公司】之间关于注册、登录及使用本网站会员服务所订立的法律协议。

在您注册或登录前,请务必审慎阅读、充分理解各条款内容,特别是免除或限制责任的条款、知识产权条款、争议解决条款等。此类条款将以加粗形式提示您注意。 当您通过微信公众号授权、手机验证码验证或其他方式成功登录本网站时,即视为您已完全理解并同意接受本协议的全部内容。

一、 定义

本网站:指由【深圳市博思协创网络科技有限公司】运营的,域名为【53ai.com】的网站及相关移动端页面。

会员服务:指本网站向注册会员提供的知识库文章查阅、内容检索及其他相关增值服务。

知识库内容:指本网站发布的包括但不限于文字、图表、数据、研究报告、行业分析等数字化内容资源。

二、 账号注册与登录

登录方式:本网站支持以下登录方式,您可根据实际情况选择:

微信公众号授权登录:您同意将您的微信OpenID信息授权给本网站,用于创建或关联会员账号。

手机验证码登录:您需提供真实有效的手机号码,并通过短信验证码完成身份验证与登录/注册。

账号安全:您的账号仅限您本人使用,禁止赠与、借用、租用、转让或售卖。因您保管不善导致的账号被盗、密码泄露等损失,由您自行承担。

实名认证:根据相关法律法规要求,我们可能要求您在特定功能下完成实名认证。如您拒绝提供,可能无法使用部分或全部服务。

未成年人保护:若您未满18周岁,请在法定监护人的陪同下阅读本协议,并在征得监护人同意后使用本服务。

三、 服务内容与规范

知识库查阅权限:会员登录后,有权按照其会员等级对应的权限范围,在线浏览、检索本网站知识库中的相关文章及内容。

服务变更:我们有权根据业务发展需要,调整、变更或终止部分服务内容,并将以网站公告、公众号消息等方式提前通知。

禁止行为:您在使用服务时不得实施以下行为:

利用技术手段批量爬取、下载、转存知识库内容;

将知识库内容用于商业目的或未经授权地向第三方传播;

干扰本网站正常运行或侵犯其他用户合法权益;

发布违法违规信息或从事违反公序良俗的活动。

四、 知识产权声明

权利归属:本网站知识库中的排版设计、软件代码等内容的知识产权均归【公司全称】或原权利人所有,受《中华人民共和国著作权法》等法律保护。

有限许可:本网站授予会员一项非独占、不可转让、不可转授权的普通许可,仅限于个人学习、研究之目的在线查阅知识库内容。

侵权追责:未经书面许可,任何单位或个人不得以任何形式复制、转载、摘编、镜像、汇编或以其他方式使用上述内容。一经发现,我们保留追究其法律责任的权利。

五、 个人信息保护

我们重视对您个人信息的保护。关于我们如何收集、使用、存储和保护您的个人信息,请单独阅读 《隐私政策》。

您通过微信公众号授权或手机号验证所提供的信息,我们将严格按照《个人信息保护法》的规定处理,仅用于身份识别、服务提供及安全验证等必要用途。

您可以随时通过网站设置或联系客服行使查阅、更正、删除个人信息及撤回授权同意的权利。

六、 免责声明

内容准确性:知识库内容仅供参考,不构成专业建议。我们不对其完整性、准确性、时效性作任何明示或暗示的保证,您应自行判断并承担使用风险。

不可抗力:因自然灾害、政策法规变化、网络故障、第三方平台接口异常(如微信接口维护、运营商短信通道故障)等不可抗力导致的服务中断或延迟,我们不承担违约责任。

第三方链接:本网站可能包含指向第三方网站的链接,该等网站的内容和服务不受我们控制,请您自行甄别风险。

七、 违约责任

如您违反本协议约定,我们有权视情节采取警告、限制功能、暂停服务、注销账号等措施,并保留要求赔偿损失的权利。

如因您的违约行为导致我们遭受行政处罚、第三方索赔或商誉损失,您应承担全部赔偿责任(包括但不限于罚款、赔偿金、律师费、公证费等)。

八、 法律适用与争议解决

本协议的订立、执行和解释均适用中华人民共和国大陆地区法律。

因本协议产生的或与本协议有关的任何争议,双方应友好协商解决;协商不成的,任何一方均可向【公司所在地】有管辖权的人民法院提起诉讼。

九、 其他

本协议构成双方就本服务达成的完整协议,取代此前任何口头或书面约定。

本协议任一条款被认定为无效或不可执行的,不影响其他条款的效力。

我们对本协议享有最终解释权,并在法律允许的范围内保留随时修改的权利。修改后的协议一经公布即生效,继续使用服务即视为同意修订内容。


已查阅