Chris James42 downloadsSync Obsidian notes with multiple Feishu wikis: follow shared wikis and single documents, track updates, pull changes with one click, and publish your notes as Feishu docs. Enhanced fork of feishu-wiki-sync.
[!NOTE] 本仓库是 chenqaq123/ObsidianSync 的二次开发版本。在上游 0.1.2 的基础上做了若干增强;感谢上游作者的工作。本仓库的 Releases 页面提供二开版本的安装包。
将 Obsidian 仓库中的 Markdown 笔记与飞书知识库双向同步。当前维护版 0.2.4;本仓库下载。
仅支持 Obsidian 桌面版 1.13.7 及以上,连接中国版飞书(open.feishu.cn)。当前不包含 Notion、飞书多维表格或国际版 Lark 接入。本二开版本已上架 Obsidian 社区插件市场(名字: Feishu Wiki Sync Double),插件内直接搜索安装。
Feishu Wiki Sync Double is a desktop Obsidian plugin that keeps your vault in sync with Feishu wikis. Paste a link to a shared wiki or a single shared document and the whole tree lands locally as Markdown — content, images, and folder structure included. A status-bar panel manages multiple wikis at once: "check updates" is fetch-only (changes get flagged before anything is pulled), so you can pull one wiki or all of them with one click. Wikis you own can sync both ways — notes written in Obsidian publish straight back to Feishu docs. Conflict-safe by default: nothing is deleted silently, and overwritten work is backed up. Free and open source.
Full illustrated guide: docs/使用步骤.md (Chinese).
90 秒快速了解——飞书知识库没有批量导出?能看,就能搬走:
完整保姆级教程(安装 → 创建飞书自建应用 → 授权 → 添加知识库 → 拉取 → 检查更新,含字幕):
我的主要资料消费在飞书知识库里:别人的公开知识)、朋友持续更新的单篇分享文档。这些内容我最终要在 Obsidian 里结合AI使用,贴合个人使用习惯——手动复制粘贴又慢又乱,复制完就过期;飞书自带的导出是 PDF,创建副本也不支持知识库,进了 Obsidian 只能当附件看。
上游插件打通了"Obsidian ↔ 飞书"的通路,但按"一次同步一个库"设计,且不支持子目录拉取,实际长期用下来卡在三件事上:
/docx/ 链接不在任何知识库里,插件只认知识库树,这种链接一个都拉不到。所以这次二开的目标很具体:把"跟读别人的知识库和文档"做成一件低维护的事——加库像加书签一样简单,更新像收邮件一样自己挑着拉——同时不破坏上游那套同步安全设计(预览、冲突副本、不静默删东西)。
公开或者只读的知识库内容(仅拉取)
/docx/ 分享链接只同步这一篇;飞书高亮块转成 Obsidian callout,文档引用块转成原文链接多知识库面板

⬇ N 篇,看完再决定拉哪个space_id自己写的内容
安全底线(继承上游并加强)
更完整的技术性差异清单见下方 与上游的差异。
已经能用、我自己在用的部分:
/docx/ 文档:拉取、图片本地化、callout/cite 转换、更新跟进0.2.4 图片下载兜底:社区共享知识库常把素材文件的下载/导出权限关掉(文档可读但下载 403),现在自动改走官方预览端点拿原图,之前"有些图下载不下来"的库恢复正常0.2.3 修复:远端笔记标题含 Windows 非法文件名字符(如英文冒号)时,自动净化为全角后正常落盘,不再中止整次同步0.2.2 已发布 Release还没做的:
/docx/,旧版 doc 和表格链接不行完整的图文步骤在这里:docs/使用步骤.md —— 安装、建飞书应用、授权、添加知识库、检查更新与拉取、冲突处理,每一步都有截图和说明。
快速上手:

飞书应用需要的权限与后台配置要点:
| 权限标识 | 插件用途 |
|---|---|
drive:drive |
文件读写、查询元数据,以及用户开启后的删除传播 |
wiki:wiki |
列出知识空间、读取和创建目录节点、移动文档到知识库 |
wiki:node:read |
读取知识库节点信息,用于解析公开 /wiki/... 根节点链接 |
wiki:node:retrieve |
按节点令牌取回知识库节点,支持公开链接对应的目录同步 |
docx:document |
文档模式中的创建、读取、编辑文档与图片块 |
docs:document.media:download |
下载文件和文档图片素材 |
docs:document.media:upload |
文档模式上传图片素材 |
offline_access |
用户授权后获取刷新凭证,维持登录 |
http://localhost:7634/callbackoffline_access,但要把应用加为知识库成员code= 的完整链接贴进"手动粘贴授权码"accounts.feishu.cn 用于浏览器登录、授权和刷新令牌;open.feishu.cn 用于知识库、文档、文件及图片 API。下载可能由飞书重定向至其素材服务。文档中的外部图片链接会随正文发送给飞书,飞书可能按其规则加载这些链接。docs_ai 接口。.obsidian/plugins/feishu-sync-double/data.json,未额外加密。自定义配置目录时,data.json 随 Obsidian 的配置目录存放;规则、冲突副本和调试日志仍位于仓库内 .obsidian/feishu-sync/。日志可能含笔记路径和接口错误信息,分享前请检查。| 模式 | 飞书中保存的内容 | 适合用途 | 边界 |
|---|---|---|---|
| 文档模式 | 可阅读、可编辑的飞书新版文档 | 在 Obsidian 写作,在飞书阅读和协作 | 会转换排版,不保证 Markdown 源码逐字不变 |
| 文件镜像(默认) | 原始 .md 文件 |
保留原始 Markdown 内容 | 不上传附件,飞书侧的展示取决于 Markdown 文件预览 |
两种模式都支持预览、双向同步、单向推送/拉取和冲突副本。只同步 .md 笔记;文档模式会另行处理笔记引用的本地图片。
打开 Obsidian 的 设置 → 第三方插件 → 浏览,搜索 Feishu Wiki Sync Double,安装并启用。之后的更新会随插件市场自动推送。
从 本仓库 Releases 下载最新版本(当前 0.2.4):
下载并解压 feishu-sync-double-0.2.4.zip,得到 feishu-sync-double 文件夹。
关闭 Obsidian,将该文件夹放入目标仓库的 .obsidian/plugins/ 下。最终应为:
你的仓库/
└── .obsidian/
└── plugins/
└── feishu-sync-double/
├── main.js
├── manifest.json
└── styles.css
重启 Obsidian,在 设置 → 第三方插件 中关闭限制模式,启用 Feishu Wiki Sync Double。
后续的授权与添加知识库步骤见 docs/使用步骤.md。
从旧版(
feishu-wiki-sync手动安装)升级:插件文件夹名变了,把旧文件夹data.json复制到新文件夹即可保留全部知识库配置与同步进度;.obsidian/feishu-sync/(规则与冲突副本)不受影响。
需要 Node.js 20 或以上及 npm。在本仓库目录运行:
npm ci
npm run package
package 依次进行版本检查、类型检查、全部离线测试、生产构建和打包。成功后输出:
dist/
├── feishu-sync-double/
│ ├── main.js
│ ├── manifest.json
│ └── styles.css
├── feishu-sync-double-0.2.4.zip
└── SHA256SUMS
安装包只包含三个运行文件,不包含 TypeScript 源码、测试数据、账号或笔记。main.js 为可审阅的 JavaScript,内含项目及第三方许可声明。SHA256SUMS 提供文件和压缩包校验值。只需编译时运行 npm run build,输出安装目录并更新仓库根目录的 main.js。
也可在关闭 Obsidian 后直接安装到本地仓库:
npm run install:vault -- "/完整路径/你的仓库"
脚本会先构建,再检查仓库是否已有 .obsidian 目录,备份原有的三个安装文件到插件目录内的 .backup-时间戳/,最后替换文件;账号、映射与规则不变。没有指定路径时直接报错,不会猜测安装位置。也支持通过 OBSIDIAN_VAULT 指定仓库;自定义 Obsidian 配置目录可使用 OBSIDIAN_CONFIG_DIR(相对仓库路径)。
发布时必须让 GitHub Release 标签与 manifest.json 的 version 完全一致(例如 0.2.2),并分别上传 main.js、manifest.json、styles.css;ZIP 供手动安装使用,不能替代这三个附件。以后更新需同步修改 package.json、锁文件、manifest.json 和 versions.json,重新构建后创建新版本。发布元数据可用 node scripts/check-release.mjs <版本号> 预先校验。
本仓库相对 上游 0.1.2 的主要增强(均为文档模式):
Day01. LangChain/Day01. LangChain.md),本地树形与飞书一致;空的目录页面仍只当作目录,作者事后补写正文也能在下一轮自动拉取。bookmark-to-link,把飞书的 <bookmark …> 网页书签块转成标准 Markdown 链接 [标题](网址),不再在笔记里残留无法渲染的标签。本地同步目录/attachments/ 下(例如 飞书同步/RAG智能体开发/attachments/),跟随本次同步的根目录,而不是 vault 根目录。X/ 目录与 X.md 笔记并存不再被误判为"远端路径歧义"。/wiki/ 链接(节点页或 /wiki/space/<id> 空间页)或裸节点令牌,自动解析空间与节点,一次确认同步范围(节点子树 / 空间顶层)、本地目录(自动建议 飞书同步/<空间名>,可改)与同步档位,完成即进入首次预览。全程不需要理解 space_id。/docx/ 链接即可只同步这一篇(仅拉取),高亮块转 Obsidian callout、引用块转原文链接,作者更新可跟进。本项目采用 MIT License,是独立社区插件,与 Obsidian、飞书或 Lark 无官方隶属关系。
LINUX DO(https://linux.do) —— 真诚分享、友好讨论的技术社区,本项目的交流与反馈也发布于此
本仓库基于 chenqaq123/ObsidianSync(MIT)二次开发,继承其许可证与版权声明,感谢上游作者的工作。飞书文档和图片接口实现参考了 Lark CLI 的请求格式与素材处理流程;上游版权及许可见 第三方声明,声明同时保留在发布的 main.js 中。构建工具和类型声明不打入插件运行文件。