Apple Notes Liberator:把 Apple Notes 里的笔记搬出来

文章目录

Apple Notes Liberator:把 Apple Notes 里的笔记搬出来

Apple Notes Liberator 在 GitHub 上已经拿到 1,017 Star 了。

这个项目就做一件事,把你锁在 Notes.app 里的笔记数据导出来,变成能编辑、能迁移的 Markdown 和 JSON。

1、为什么要做这个工具

苹果的 Notes.app 用起来顺手,但数据被锁在系统沙盒里,导出走官方路径很麻烦。普通用户想换 Notion、Obsidian 之类笔记软件的时候,迁移这一关就卡住了。

作者做这个工具的动机很直接,一是解决自己拿数据的需求,二是借这个项目熟悉 Quarkus 框架。

底层解析工作站在 threeplanetssoftware 的 apple_cloud_notes_parser 肩膀上做的,protobuf 定义和 Notes 数据结构的资料都来自那个项目。

2、它能做什么

程序运行起来之后会去找本机的 Notes 数据库,复制一份过来再解析,不会动你原始的数据库。如果路径找不到,会提示你用 -f 参数手动指定 sqlite 文件位置。

输出方向有两个,JSON 和 Markdown,至少要指定一个,不然程序只打印帮助信息就退出。

跑完之后会在当前目录生成一个 liberated-notes 文件夹,里面包括:

  • notes.json:所有笔记的 JSON 表达
  • markdown/:每条笔记一个 md 文件
  • 内嵌文件副本:从笔记数据里抽出来的图片、附件
  • notes.sqlite:原始 sqlite 数据库的拷贝

3、怎么用

最顺手的安装方式是 JBang。装好 JBang 之后一行命令搞定:

复制代码
jbang app install apple-notes-liberator@hamburgchimps

第一次跑会让你选择信任源,选 2 就行,以后自动跑最新版本。装完之后 apple-notes-liberator --help 看用法。

不用 JBang 也可以。有 Nix 的话进 nix-shell 拿一个隔离的 Java 19 环境。再不行就直接从 releases 页面下 jar 包,本地有 Java 就能 java -jar apple-notes-liberator.jar 跑起来。

4、几个使用细节

macOS 10.13 之后 Notes 数据库被沙盒保护起来,第三方终端比如 iTerm 要去「隐私与安全性 → 完全磁盘访问权限」里勾上,不然会报读不到的错误。

调试的时候可以开日志:

复制代码
QUARKUS_PROFILE=debug apple-notes-liberator

或者在 jar 模式下加 JVM 参数 -Dquarkus.profile=debug,跑完会在 liberated-notes 目录里留下 apple-notes-liberator.log。

JSON 输出里每条笔记有 title、folder、text、embeddedObjects、links 五个字段。嵌入式对象分 TABLE 和 FILE 两种,TABLE 直接给出二维数组结构,FILE 给出文件名,对应的文件能在输出目录里找到。

5、适合哪些人

  • 想从 Apple Notes 迁出去换其他笔记软件的人
  • 需要把笔记数据接进 RAG 流程做向量化的开发者
  • 想给自己做笔记备份和归档的 Mac 用户

项目本身只读不写,原始数据库安全,可以放心跑。

AG 流程做向量化的开发者

  • 想给自己做笔记备份和归档的 Mac 用户

项目本身只读不写,原始数据库安全,可以放心跑。

相关推荐
ACP广源盛139246256737 小时前
Type-C 扩展坞方案选型笔记:DP1.4 转 HDMI2.0 桥接方案评估@ACP
笔记·硬件架构·hdmi·国产芯片·扩展坞
ss2739 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 22 PostgreSQL实例与集群
数据库·笔记·postgresql
ss2739 小时前
AI时代首先数据库-PostgreSQL实战笔记 | 21 PostgreSQL进程与内存架构介绍
数据库·笔记·postgresql
摇滚侠12 小时前
《Java并发编程之美》第 4 章 Java 并发包中原子操作类原理剖析 阅读笔记 7
java·笔记·python
Rabitebla13 小时前
【系统性学习笔记】Linux 权限篇(二):文件属性、权限修改与目录权限的底层逻辑
linux·c++·笔记·学习·算法
深圳老胡13 小时前
STM32CubeMX 2 与 STM32CubeMX 的主要区别
笔记·stm32·单片机·代码规范
叼烟扛炮15 小时前
Linux 学习笔记(十三):高效排错利器——GDB 调试器入门
linux·笔记·学习
Source.Liu16 小时前
【A11】服务器数据库结构笔记
服务器·数据库·笔记
1314lay_100716 小时前
ABAP 读取服务器的文件 OPEN DATASET,READ DATASET f_filepath INTO l_file.
经验分享·笔记
MichaelJohn16 小时前
我用 Obsidian + Claude Code + GitHub 搭了个真正「会生长」的第二大脑
笔记