在 macOS 上将为知笔记桌面端笔记导出为 Markdown,并尽量保留目录结构与本地资源。
这个项目的目标是帮助用户从为知笔记迁移到 Obsidian、思源笔记等其他工具。它直接读取本地为知桌面端 profile,并复用为知本地数据结构与部分编辑器转换链路。
English documentation: README.en.md
- 仅支持 macOS
- 面向为知笔记桌面端本地 profile
- 不是为知官方工具
- 依赖对为知桌面端行为的观察与复用,未来版本更新可能导致失效
- 当前测试版本:WizNote for macOS
0.1.107
- 笔记目录树
- 笔记正文 Markdown
- 正文图片/资源到同级
*.assets/目录 - 协作笔记中的正文文件链接附件
- 用于续跑、重试、校验的 manifest
本项目的主要迁移产物是 Markdown,不以原始 HTML 作为主要输出。
⚠️ 重要警告upgrade-legacy是一个会写回为知的操作。它会把旧 HTML 笔记转换成lite/markdown,再把转换结果上传回为知。这会改变用户原笔记的类型,也可能改变原笔记的内容形态。如果你只想导出 Markdown,而不改动为知中的源笔记,应当使用普通export。
- 普通
export对为知源数据是只读的。对于旧 HTML 笔记和较老的webnote剪藏,它可以直接把当前笔记内容转换成导出的 Markdown,而不会写回为知。 upgrade-legacy是可选步骤,但它会改写为知中的旧 HTML 笔记,把它们重写成lite/markdown。- 协作评论默认不导出。
- 所有导出都以 Markdown 为目标格式,包括旧网页剪藏。
- 协作笔记缺失资源时,可以回退到原始 WizNote profile 的本地缓存。
- manifest 采用短锁合并,方便多进程窄范围重试。
- 协作笔记
lite/markdown笔记- 旧 HTML 笔记,可直接导出为 Markdown
- 网页剪藏笔记,包括较老的
webnote项 - 可选的旧普通 HTML 笔记写回升级流程:
upgrade-legacy
极旧的笔记仍可能需要 fallback 转换或人工检查。
环境要求:
- macOS
- 已安装为知笔记桌面端
- Node.js 24+
- 本机已安装 Google Chrome、Chromium 或 Microsoft Edge
检查本地准备情况:
npm run status如果你用的是其他 Chromium 内核浏览器,也可以工作,但需要手工设置 CHROME_PATH 指向浏览器二进制路径,因为脚本的自动发现目前只检查上面这三个应用。
在大批量导出之前,先到为知 设置 -> 同步设置 中,将 离线个人笔记 和 离线群组笔记(老笔记) 都设成 全部笔记。当前测试版本的界面说明已经明确写明:这两项设置 不含附件。
设置完成后,建议先等待为知自己的后台同步把本地离线正文同步到位,再开始大批量导出。实际使用中,为知的离线同步即使在正常工作时也可能很慢,所以用户需要对这一步有耐心。本地已同步完成 的导出通常会明显更快,也更稳定。--fetch-missing 可以在不等待的情况下补抓缺失正文,但它本质上是补救路径,成功率和稳定性通常不如本地同步完成后的导出。
执行首次导出:
node scripts/wiz-export.js export --out ./export --fetch-missing续跑已有导出:
node scripts/wiz-export.js export --out ./export --fetch-missing --attachments --resume基于磁盘文件校验并重建 manifest:
node scripts/wiz-export.js verify --out ./export --rewrite-manifest这些脚本适合“导出已经完成,但还想继续整理导出结果”的场景。
默认假设:
- 当前目录是
wiznote_export_mac/ - 导出的 vault 位于
../export-wiznotes
查看协作笔记里的附件元数据:
npm run coedit-attachments修正仍然带 id=GUID 的损坏 wikilink:
npm run fix:wiz-links清理误识别的 Obsidian 标签和 frontmatter 噪声:
npm run clean:obsidian-tags扫描缺失资源和 moved 资源:
npm run find:missing-resources
node scripts/find-missing-local-resources.js ../export-wiznotes --fix-moved按笔记 frontmatter 回写 Finder 创建时间和修改时间:
python3 scripts/sync_note_file_times.py --mode conservative ../export-wiznotes重复运行时会自动跳过已经对齐的文件。只想检查最近改过的本地 Markdown 时,可以加:
python3 scripts/sync_note_file_times.py --mode conservative --modified-within-days 30 ../export-wiznotes每篇笔记的输出形式:
分类/子分类/笔记.md
分类/子分类/笔记.assets/
这样 Markdown、图片和本地文件链接会放在一起,复制或归档一个子目录时不会破坏相对路径。