Markdown 编辑器烂大街了,但我还是忍不住做了一个
说实话 Markdown 编辑器这个赛道,已经快泛滥成灾了,跟 Todo 软件有一拼,打开 App Store 数了一下,支持 Markdown 的各种笔记和效率工具加起来最少也有七十几个,更不用说还有好多没有进 App Store 的“野生 Markdown 编辑器”。

从 Typora、熊掌记、Obsidian 到各种笔记软件、知识库软件、在线编辑器,能写 Markdown 的工具多到数不清。还有很多人现在已经懒得管 Markdown 了,直接在 Vibe Coding 工具和各种 Cli、CoWork 工具里让 AI 写。
所以按理说,我再做一个 Markdown 编辑器,怎么看都有点像“中年程序员的手工耿发明”,甚至说严重点可能又制造了一摊电子垃圾。
但我还是忍不住做了一个。
名字叫 Sheaf。

01. 起因很简单:文章还是多少沾点古法手写的边
去年用 AI 写了好多篇文章,但阅读数经常是个位数,后来有一天一不小心,让 AI 写完大纲我手动调了一遍,发现数据比之前的好多了。
写文章还是得真诚点,全靠 AI 的话从感觉差点意思,现在 AI 的文章有点像 2005 年到 2015 年那段时间的拜年短信:
“元旦将到,送你三件吉祥宝:一送一顶如意帽,吉祥如意当头罩;二送一件平安袄,出入平安无烦恼;三送一个大红包,恭喜发财步步高。预祝元旦快乐!”
刚开始可能还有点新鲜感,时间长了容易看吐了。
如果现在还有人拿这种花里胡哨的群发短信敷衍我的话,至少得给这人两个大逼兜。
所以要保证写文章的体验,还是得有一个看着顺眼的编辑器,有足够的掌控感,写完了能复制成 html 贴到微信公众号,也可以导出成社交媒体卡片、引流长图什么的。
也带 AI 功能,让 AI 写个大纲、查错别字、翻译文章什么的,在这个工具里一站式完成。
之前我找了一圈,没找到特别合我意的。
于是老毛病又犯了:算了,自己写一个吧。
02. 现在做软件的成本,低到有点不讲道理
如果放在去年甚至几个月前,我大概率不会真的动手自己写一个工具。
因为写一个桌面端 Markdown 编辑器,听起来就很麻烦。
编辑器要接 CodeMirror,预览要跑 markdown-it,数学公式要 KaTeX,图表要 Mermaid,导出要处理样式,桌面端要 Tauri,还要考虑文件读写、快捷键、暗黑模式、本地存储、自动更新、Mac 软件的签名……
但现在不一样。
有了 Cursor、Claude Code、Codex 这些工具以后,很多以前需要花一两周或者一两个月才能做出来的东西,现在真的可以用几个晚上搓出来一个能用的版本。
我这次做 Sheaf,过程也很像我之前做那些小工具。
一开始只是想做个 MVP:本地打开 Markdown 文件,左边编辑,右边预览。因为 AI 给我生成的很多 md 文档预览确实也不方便。
做着做着觉得,没有大纲体验不好,于是加了章节大纲。
又觉得写长文时纯分屏不一定舒服,于是加了分屏、仅编辑、仅预览三种模式。
再一想,既然我经常写公众号,那干脆把公众号 HTML 导出也做进去,样式内联,复制过去就能用。这就有点像我去年给我媳妇做的一个写作工具了,那个工具的功能实在太丰富了。
然后又顺手加了社交媒体卡片、长图、PDF 导出。

到这一步,事情已经开始失控了。
因为人一旦发现“这个需求好像也就几轮对话的事”,就很容易不断给自己加需求。
AI 改写也要有吧?
但不能让 AI 直接把正文覆盖掉,太吓人了,必须先看 diff。
每次应用 AI 修改前,最好自动存一个历史版本,不然改崩了还能回滚。


中英文之间的空格也要自动处理吧?
我写文章中文、英文、数字混着来的时候没有间距真的难受。
图片拖拽和粘贴插入也要支持吧?
否则写文章插截图还要手动保存、复制路径,也很烦。
于是一个“我就写个简单 Markdown 编辑器”的小念头,最后变成了一个本地优先的 macOS 写作工具。
03. 它不是为了替代谁,只是为了适合我自己
我没有打算拿 Sheaf 和 Typora 竞争,也不会把它要跟 Obsidian 比较。
这些工具都很成熟,各自有很强的使用场景。
Sheaf 更像是我给自己做的一个“写作到发布”的小工作台。
它的定位很简单:
打开本地 Markdown 文件,专心写。
需要结构时,看章节大纲。
需要检查和润色时,叫 AI 进来,但不要让 AI 悄悄改掉全文,必须先给我看修改痕迹。
写完之后,直接导出公众号 HTML、小红书卡片、长图或者 PDF。
文件仍然在本地,不需要账号,也不需要同步到什么云端。

我现在越来越喜欢“本地优先”这件事。
AI 也是一样。
Sheaf 里的 AI 功能,不是那种“帮你一键生成爆款文章”的思路。
我更希望它像一个坐在旁边的编辑。
你可以选一段,让它改得更口语化;也可以让它检查错别字;也可以让它帮你把某段内容压缩一点。
但最终要不要应用,还是你说了算。
AI 提建议,人做判断。
这可能也是我现在对 AI 写作工具最基本的要求。
04. Vibe Coding 让私人定制软件变得越来越现实
前几天我在上一篇文章里也提到过,我现在有点像在给自己“创造需求”。
每个月 Cursor 订阅在那里,不用完总觉得亏。
以前遇到一个软件不好用,我大概率会忍一忍,或者去找替代品。
现在不一样了。
稍微有点不爽,我脑子里就会冒出一个念头:
要不自己写一个?
过去软件开发是一件重资产事情。你要会写代码,要懂框架,要搭环境,要查文档,要调 bug,要做 UI,要打包发布。
现在很多事情被 AI 抹平了。
不是说不需要技术了,而是“从想法到可用版本”的距离变短了。
一个普通开发者,在下班以后,等孩子睡了,打开电脑,花几个小时或者几个晚上,就能做出一个以前看起来还挺像回事的软件。
这在过去真的很难想象。
但另一面也很明显:当所有人都能快速做软件时,软件本身会变得通货膨胀。
AI 工具烂大街,笔记工具烂大街,Todo 工具烂大街,Git 工具也会烂大街。
未来可能什么都烂大街。
真正稀缺的,反而是你到底有没有真实使用场景,有没有长期打磨的耐心,有没有愿意把一个“小工具”维护到稳定可用。
Vibe Coding 最爽的是从 0 到 1。
最难的是从 1 到 1.1、1.2、1.3。
因为后面不是炫技,是处理细节。
导出样式为什么在公众号后台变了?
图片路径为什么在本地预览没问题,导出 PDF 就挂了?
AI 返回的 diff 怎么保证不误伤原文?
暗黑模式、系统标题栏、自动更新、不同芯片的安装包、不同系统的安装包,这些东西要一点点补,一点点测。
所以我现在越来越觉得,AI 并没有消灭工程能力。
它只是把“写第一版代码”的门槛打下来了,然后把真正麻烦的东西暴露得更清楚。
05. 做这个工具,也是在给自己找一个更舒服的表达方式
我做 Sheaf,还有一个很私人的原因。
我发现自己这几年越来越需要一个稳定的输出场所。
写公众号也好,写博客也好,写 README 也好,写产品文档也好,本质上都是在整理自己的想法。
以前我总觉得,做产品最重要的是把东西做出来。
现在慢慢觉得,把东西讲清楚也很重要。
一个小工具,如果没人知道你为什么做它、解决了什么问题、适合谁用,那它很容易就淹没在 GitHub 和互联网的信息流里。
但写东西这件事又不能太痛苦。
如果每次写完还要折腾半天排版,我就会越来越懒。
所以 Sheaf 对我来说,不只是一个 Markdown 编辑器。
它也是我给自己搭的一个输出工作流:
写作、预览、AI 修改、排版、导出、发布。
尽量都在一个地方完成。
这东西未必适合所有人。
如果你已经重度使用 Obsidian,有一套完整的插件和知识库体系,那 Sheaf 可能太轻了。
如果你只在微信公众号后台直接写,也不关心 Markdown,那它可能也没必要。
但如果你和我一样,经常写长文、技术文档、产品说明、公众号文章,又希望文件保存在本地,同时想要一个从写作到导出的顺滑流程,那它可能会有点用。
尾声:烂大街不代表不能再做
以前我看到一个赛道已经很拥挤,第一反应是:算了,这东西别人都做过了。
现在我的想法有点变了。
别人做过,不代表你不能做。
市场不缺一个新的 Markdown 编辑器,但我缺一个更适合自己的 Markdown 编辑器。
花几天时间做个 MVP,然后花几周打磨上线,给其他感兴趣的人用,这就够了。
AI 时代会出现越来越多这种东西:不是为了融资,不是为了颠覆行业,也不是为了打败谁,就是某个人根据自己的习惯做出来的私人定制软件。
有些会很粗糙,有些会没人用,有些会慢慢长成一个真正的小产品。
我不知道 Sheaf 会变成哪一种。
但至少现在,它已经能让我更舒服地写文章了。
我是全职搬砖、业余时间佛系 Vibe Coding 小工具的前端开发。如果你也经常写 Markdown、公众号、技术长文,或者对这种本地优先的小工具感兴趣,欢迎来试试
Sheaf(官网的演示花了一些心思,可以在电脑端留意一下)。
GitHub:ginuim/Sheaf。
关于 Skill 怎么写、怎么在团队里分发,本站 Agent Skills 连载 里写得更系统一些。
你也可以在 reaidea.com 找到我做的其他工具。