macOS 原生的
Logseq
直接编辑你硬盘上的 Markdown 文件。每日日记、反链、即时搜索、Git,都在一个原生 Mac 应用里,点开就能写。没有 Electron,没有云端,没有锁定。
Logseq 做的它都做。
Electron 要的它都不要。
为 macOS 从头写起。不是移植,也不是套壳。用的是系统的文本引擎、真正的菜单栏和原生滚动。
你的笔记就是文件
纯 .md 文件,CommonMark 加 wikilink。没有数据库,没有索引,没有私有格式层。用任何编辑器打开,用任何工具 diff。
不建索引的搜索
全文、反链、未链引用、页名。Rust 的 ripgrep 引擎每次查询都直接搜文件。没有索引要重建,也没有索引会过期。
用 Git 同步,不经过我们
libgit2 跑在应用里。保存即自动 commit,推拉任意远端,切分支,解冲突,带行内 diff 的提交历史,以及精确到单文件的回滚。
键盘优先的大纲
缩进、折叠、多选、跨页拖拽重排。每次编辑都有精确的逆操作,撤销和重做不会跑偏。括号配对、复选框和标签都是内置的。
⌘K 与 ⌘F
一个面板管页面、斜杠命令、收藏和最近。一条搜索栏横跨每一天日记,无论加载与否。两者都跟得上你打字的速度。
再大的库,滚动也不卡
行由 CoreText 直接绘制,跑在绝对坐标布局的回收列表上。五千页的日记,滚起来和空库一样顺。
从别处过来? SeqLog vs Logseq · SeqLog vs Obsidian
没有数据库,没有索引,没有云。
四个很早就定下的决定,之后每个版本都守着。
没有东西会不同步
Markdown 是唯一的数据存储。没有 SQLite,没有缓存,也没有会跟文件脱节的中间层。你用 Vim 改一条笔记,SeqLog 里立刻就能看到。
永不建索引
搜索直接扫库。没有后台索引,没有首次启动的等待,出问题时也没有损坏的数据库要删。指一个文件夹,然后开写。
从上到下都是 Apple 原生
SwiftUI、AppKit 和 Swift Concurrency。SwiftUI 撑不住帧率的地方,交给 CoreText 接管。没有跨平台层,也就没有它带来的那些性能问题。
你的同步,你的服务器
用你早已熟悉的版本控制,而不是一个你不得不信任的同步服务。自动 commit 记下每次编辑,push 和 pull 在机器之间搬运它们。没有一个字节经过我们。
一份很短的依赖清单。
只有真正必须的才在这里。
- 界面
- SwiftUI + AppKit,CoreText 自绘行
- 存储
- 纯 Markdown 文件,无数据库
- 搜索
- Rust 走 C FFI,ripgrep 引擎
- 版本控制
- 内嵌 libgit2,不依赖
git命令行 - 语言
- Swift 6.2,严格并发
- 测试
- 1,465 项单测与 UI 测试
- 更新
- Sparkle,已签名并公证
- 要求
- macOS 15+,Apple Silicon 或 Intel
每个人都会问的
四个问题。
SeqLog 开源吗?
不开源。它在 macOS 上永久免费,个人和商业用途都可以,但应用源码不公开。如果开源是硬性要求,Logseq 和 Obsidian 是更好的答案。见与 Logseq 的对比。
它用数据库吗?
不用。纯 Markdown 文件是唯一的数据存储。没有 SQLite,没有缓存,也没有搜索索引。每次查询都通过 Rust 的 ripgrep 引擎直接搜文件,所以没有索引要重建,也没有索引会过期。
Claude Code 或脚本能改我的库吗?
能。库就是一个装着 .md 文件的文件夹,任何能读写文件的东西都能处理你的笔记。SeqLog 监听这个文件夹,外部修改会被自动读进来。
能打开我现有的 Logseq 图谱吗?
能。目录结构一样,pages/ 和 journals/,而且它同时认 Logseq 的 YYYY_MM_DD 日记文件名和自己的。不做任何转换或导入,所以两个应用可以指向同一个文件夹。