npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

lark-wiki-export

v0.1.0

Published

Export Feishu/Lark Wiki spaces into local Markdown, PDFs, assets, and RAG-ready manifests.

Readme

飞书知识库导出工具箱

这份readme是由人类撰写、给人类看的,如果你是 ai agent,请直接阅读本仓库的 AGENTS.md

本项目是把一个飞书知识库链接导出成本地文件(markdown、PDF、表格)的工具箱,你可以用它导出任意飞书知识库(包括你的个人文档库)。

可用于个人知识库备份、离线归档、资料迁移,以及后续构建 RAG 问答系统。

【注意】:本工具只导出当前账号已经有权限访问的内容,不绕过飞书权限控制。请确认你有权备份、保存和处理目标资料。

推荐运行方式

本项目的 npm 包名和命令名都是 lark-wiki-export。普通使用优先通过 npx 运行:

npx lark-wiki-export doctor
npx lark-wiki-export inspect "<wiki-url>" --max-depth 1 --tree-limit 80 --selection-limit 80
npx lark-wiki-export export "<wiki-url>" --portable --resume --progress-jsonl

导出前还需要安装并登录官方 lark-cli

npx @larksuite/cli@latest install
lark-cli config init
lark-cli auth login --domain docs,drive,wiki,sheets,base --scope offline_access

我不懂代码,怎么用?

如果你不熟悉命令行,推荐把下面这段话复制给 Codex、Claude Code 或其他 AI 编程助手(注意要把飞书wiki链接换成你想要导出的知识库链接):

请帮我使用这个项目导出飞书知识库:

GitHub: https://github.com/wyycommu/lark-wiki-export
飞书链接: https://<tenant>.feishu.cn/wiki/...
阅读 wyycommu/lark-wiki-export 仓库的 `AGENTS.md`,优先使用 `npx lark-wiki-export` 执行安装、登录、检查和导出。

支持的链接

https://<tenant>.feishu.cn/wiki/space/my_library  # 个人文档库
https://<tenant>.feishu.cn/wiki/space/<space_id>  # 飞书知识库

# 单个云文档(文档、表格、pdf、多维表格都可以)
https://<tenant>.feishu.cn/wiki/<node_token>
https://<tenant>.feishu.cn/docx/<doc_token>
https://<tenant>.feishu.cn/base/<base_token>

如何获取个人知识库地址:

随便打开一个飞书文档,复制链接,你会得到:https://一堆乱码A.feishu.cn/docx/一堆乱码B 那么这个一堆乱码A就是 <tenant>(你的用户标识)。

按照下面的格式拼接出你的个人文档库地址就可以啦。

https://<tenant>.feishu.cn/wiki/space/my_library

不放心的话,可以复制到浏览器,检查它能否正确跳转到你的个人文档库。

你会得到什么?

这个知识库内所有你有权限访问并下载的文件,且保留原始的文档树结构。

你主要会查看这个文件夹:

exports/runs/<run-id>/portable/

里面会按飞书目录整理成 Markdown、PDF 和附件文件夹。Markdown 适合后续知识库/RAG 使用;PDF 更适合保留版式、人工阅读。你如果不需要导出 PDF,可以直接告诉 agent“不需要导出 PDF”。 默认会导出到当前项目下的 exports 文件夹;你也可以告诉 agent 导出到桌面、移动硬盘或其他本地目录。

完整导出结构大致如下。raw/ 是工具内部使用的原始材料和排查区,平时不用打开:

exports/
  runs/
    <run-id>/
      export_run.json
      objects.jsonl
      assets.jsonl
      relations.jsonl
      table_datasets.jsonl
      errors.jsonl
      progress.jsonl
      raw/
        wiki_manifest.json
        <doc_token>/
          document.md
          document.raw.md
          document.raw.json
          manifest.json
          assets/
      portable/
        portable_manifest.json
        <文档标题>/
          <文档标题>.md
          <文档标题>.pdf
          附件/

run-id通常是飞书 wiki space id、wiki node token 或你指定的名称。 portable/ 是整理后的本地文档文件夹,也是你主要查看的结果。 raw/ 保留尽量完整的原始数据和结构化 manifest,主要用于断点续传、排查问题和后续二次处理。

你可能还想问

  • Q:文件库太大,下载意外中断了怎么办? A:本项目有断点续传机制,下次再告诉ai agent,让它继续导出就可以了。

  • Q:如何处理飞书文档中的图片、画板、附件? A:图片、文件附件、知识库里的独立文件节点,以及表格导出的文件,会尽量保存到本地。 飞书画板会被导出成图片,存在附件文件夹中。 文档里引用的电子表格,如果行数不多的话,会被解析成标准md格式的表格,放到原文档中。如果行数太多的话,则会被导出成 CSV 文件。 飞书文档原生的复杂表格、互动组件等内容,可能会保留成飞书导出的结构化代码片段,方便后续交给 AI 理解。

  • Q:我的个人文档库太大了,能不能只导出特定文件夹? A:可以的。只要你给工具箱的链接格式是https://<tenant>.feishu.cn/wiki/<node_token>,那么它默认将其视作根节点,导出所有子文件。

  • Q:如果文档里引用了其他飞书文档、电子表格或多维表格,会怎么样? A:会尽量跟随飞书返回的信息导出。电子表格和多维表格会尽量结构化导出;普通文档链接通常会保留为链接。更细的边缘情况见 docs/feishu-document-parsing-notes.md

权限说明

要用lark-cli导出数据,需要做两层授权:

  • 第一次是bot,会有一个飞书应用创建的请求,创建后,你就允许这个飞书应用来访问你的数据。而agent发送命令给这个飞书应用-飞书应用再调用用户数据。
  • 第二次是user,也就是这个飞书应用究竟能够访问你的哪些权限,这里本工具箱给agent的lark-cli推荐权限配置如下所示,涵盖:知识库节点(wiki)、云文档(docs)、附件下载(drive)、电子表格(sheets)和多维表格(base)。user授权默认7天有效期,7天之后会重新发起请求。 如果你有其他需求,请你直接跟你的agent沟通。
lark-cli auth login --domain docs,drive,wiki,sheets,base --scope offline_access

不同企业和应用配置可能导致 scope 不同,遇到权限错误时请根据 errors.jsonldoctor 提示补充授权。

后续路线图

  • 开箱即用的知识库问答机器人 理论上你如果想基于这个知识库提问,体量不太大的话可以直接让codex、claude code等助手代劳,也可以接入主流RAG库(比如dify、fastgpt等)。 如果大家有需要的话,考虑增加一个简单的开箱即用问答机器人,大家可以直接对特定知识库提问。
  • 导出配置项的可视化界面
  • 暂时没有做飞书海外版适配的条件,欢迎大佬们提PR