把飞书文档(wiki / docx)批量导入并格式化为 Obsidian 可读的 Markdown 文件。当用户说"从飞书导入"、"把飞书文档整理到 Obsidian"、"克隆飞书内容"、"飞书转 Obsidian"时触发。
将飞书文档批量拉取并格式化,直接在 Obsidian 里可读。支持单篇 docx、wiki 页面、含子页面的 wiki 目录。
$ARGUMENTS[0] — 飞书文档 URL(docx 或 wiki 均可)$ARGUMENTS[1] — 保存目录的绝对路径(不填则询问用户)从 URL 中提取 token:
https://*.feishu.cn/docx/TOKEN → docx 类型,直接进 Step 3https://*.feishu.cn/wiki/TOKEN → wiki 类型,先进 Step 2lark-cli wiki spaces get_node --params '{"token":"WIKI_TOKEN"}'
从返回的 data.node 中读取:
obj_token — 真实文档 tokenobj_type — 文档类型(docx / sheet / bitable 等)space_idhas_child — 是否有子页面如果 has_child 为 true,继续列出所有子节点:
lark-cli api GET /open-apis/wiki/v2/spaces/{space_id}/nodes \
--params '{"parent_node_token":"WIKI_TOKEN","page_size":50}' --as user
提取每个子节点的 obj_token 和 title,用于批量抓取。
对每个 token 执行:
lark-cli docs +fetch --doc OBJ_TOKEN --as user
取返回 JSON 中的 data.markdown 字段,按 title 命名保存为 .md 文件。
跳过空内容(markdown 为空或只有换行)。
格式化脚本在 scripts/formatter.py,安装后位于 ~/.claude/skills/lark-to-obsidian/scripts/formatter.py。
运行方式(将 DEST 替换为实际目标目录路径):
python3 ~/.claude/skills/lark-to-obsidian/scripts/formatter.py "DEST"
脚本会自动处理:
--- 会变成 H2)- **粗体** → ## / ### 标题{ 或 [ 开头的代码块)在目标目录创建 00-目录.md,内容包含:
[[wikilink]] 列表格式参考:
# [目录名]·导航
> 来源:[飞书 URL]
> 导入时间:[日期]
## 文档列表
- [[文件名1]]
- [[文件名2]]
- ...
输出简报:
✅ 导入完成
📁 保存位置:[目标目录]
📄 成功:N 篇
🗑 删除(无有效内容):M 篇
⚠️ 跳过(权限不足):K 篇
打开 Obsidian 后按 Cmd+Shift+P → Reload app without saving 刷新。
00-目录.md 等已有索引文件