我一直有个很烦的小问题。
Obsidian 是我真正想长期沉淀东西的地方。本地文件、双链、结构、长期知识库,都很舒服。
但工作里的很多文档又天然在飞书里:需求、方案、协作、评论、权限、多人编辑。
于是每天就在两个软件之间来回切:在 Obsidian 里想起“这个方案其实在飞书”;打开飞书搜一遍;回到 Obsidian,又忘了哪个本地笔记对应哪个飞书文档。
有一阵子我甚至在纠结:到底该完全用飞书,还是完全用 Obsidian?
后来想明白了:成年人当然是全都要。
所以做了 Lark Doc。
它会在 Obsidian 里创建很轻的 `.lark.md` 文件。这个文件留在本地 vault 里,保存飞书文档的元信息;但你点击它的时候,会直接在 Obsidian 里用 WebView 打开对应的飞书文档。
更重要的是,`.lark.md` 本质上仍然是一个普通文本文件。它的原始内容不是飞书文档的副本,而是一段给 AI 的说明:告诉 AI 如何通过 Lark CLI 读取这个飞书文档的最新内容。所以这里不需要做复杂的双向同步;AI 看到这个本地文件时,也能知道该去哪里拿到远端文档的最新版本。就像这样:
> **Shadow File** - This note is a local proxy for a Lark or Feishu wiki document.
>
> **Wiki URL:**
www.feishu.cn>
> **Node info (via lark-cli):**
> ```bash
> lark-cli wiki spaces get_node --params '{"token":"xxxx"}' --format json
> ```
>
> This file contains only front matter metadata. The full content resides in Lark and can be viewed at the wiki URL above.
这样飞书文档还是飞书文档,保留协作、评论、权限;Obsidian 也还是 Obsidian,保留本地文件、链接、索引和长期沉淀。
现在支持:
- 点击 `.lark.md` 直接打开对应飞书 / Lark 文档
- 重复点击复用已有标签页,行为像普通 Markdown
- 从已有飞书链接创建本地关联文件
- 从 Obsidian 创建新的飞书文档
- 同步远端标题和本地文件名
- 自动生成 `Lark Documents.base` 管理所有关联文档
GitHub:
github.com下面两张图会更直观:一张是文档直接在 Obsidian 里打开,另一张是 Bases 里的关联文档索引。