Tarquin note
Tarquin note
本文迁移自 wl.do 原文,已按本站 2024 归档规则保留原文结构。

每次给朋友介绍 Petrichor,我都要先回答同一个问题:
"你这不就是个 Notion / Logseq / Obsidian / Halo / Typecho / WordPress 吗?"
是,又不是。一个工具的存在意义,从来不在于"功能差不多就够了",而在于它把哪几件事真正缝合成了一个连贯的工作流。Petrichor 就是为这种"缝合"而生的。
我有一个习惯:白天在 Notion 里写零散的笔记和草稿,到了某一天想把其中一段整理成博客发出去,就要:
这不是某个工具的问题,这是"写作工具"和"发布工具"被人为分裂的结果。它们应该是同一件事的两个面。
我想要的是这样一个东西:
市面上没有一个工具能把这五件事干净地合在一起。所以我做了 Petrichor。
Petrichor,词源是"雨后泥土的香气"——一种留在记忆里的细微感受。我希望这个项目对它的用户来说,是同样的东西:让你写下的东西能沉淀下来,而不是消散在产品的更新换代里。
它是一个个人 / 小团队级别的全栈知识库与博客平台,技术栈是 Next.js 16 + TypeScript + Supabase PostgreSQL + S3 兼容对象存储,目标部署环境是 Vercel——一键部署,零自建服务器。
它在做的事情可以拆成 3 层:
| 层 | 提供什么 |
|---|---|
| 写作层 | 基于 PlateJS 的富文本编辑器,支持 Markdown、代码块、数学公式、白板、思维导图、表格、媒体嵌入等几十种节点 |
| 沉淀层 | 多层级知识库目录树、文章标签、文章分享、AI 总结、LLM Wiki 智能问答 |
| 发布层 | 一键把私有文章设为公开,自动生成 SEO 元数据、RSS、Atom、sitemap,配套一个简洁的公开博客首页主题 |
很多博客系统的"草稿"和"已发布"是两个状态、两套表,导致编辑公开文章时会出现奇怪的同步问题。Petrichor 里没有"草稿"和"文章"的区别,所有内容统一是知识库节点,只是多了一个is_public开关。
这看似只是字段设计上的区别,实际带来的体验差异是巨大的:
我不喜欢 ChatGPT 网页那种"开个独立聊天窗去问"的工作流——上下文断开了,要把段落复制过去再复制回来。
Petrichor 的 AI 写作有6 种动作,全部直接作用于编辑器的当前选区:
所有结果都是流式插入,写到一半你可以中断。写作是连续的,AI 也应该是连续的。
很多 AI 产品的代付模式注定走向"涨价 → 降智 → 用户流失"的循环。Petrichor 选了一条更轴的路:
这个设计的好处是:Petrichor 这个项目本身不依赖任何 AI 厂商的商业关系。用户的钱用户自己掏,平台不会随着某个厂商变天而集体失能。
Petrichor 的依赖路径是这样的:
也就是说,一个个人用户从 0 上线 Petrichor 的真实成本是:$0/月。
如果你愿意付钱,也只是为了上量——Supabase 升级到 Pro 大概 $25/月,对应几十万行数据;其他都按用量计费。
它不是一个 banger 产品,它只是一个把"写 → 沉淀 → 发布"做得连贯的小工具。它适合:
它不适合:
Petrichor 是一个让"写作"和"发布"重新成为一件事的工具。
如果你也觉得"在 Notion 里写完一段还要复制到博客重新排版"是一件极其荒唐的事,那这个项目大概值得你花十分钟试一下。
第一个版本会有缺陷、有别扭、有 bug,欢迎在 GitHub 上提 Issue 或 PR。这个东西本来就是为了我自己写得开心而做的——如果它能让你也写得开心一点,那就足够了。