PR · 实践复盘

为什么我用 Tauri 给自己写了一个 Markdown 编辑器

XiMD 是我做的 macOS Markdown 编辑器:行内所见即所得、原生毛玻璃界面,常驻内存约 90MB。这篇讲它从两年前一个网页版小工具开始,到这次为什么选择 Tauri,以及还没做好的地方。

约 3 分钟

这个博客的每一篇文章,都是先用 Markdown 写好,再发布上线的。写得多了,对编辑器就会越来越挑剔。

XiMD 是我给自己做的 Markdown 编辑器,2026 年 9 月发布了第一个版本 v0.1.0,在 GitHub 上开源。这篇讲讲它是怎么来的,以及几个技术上的取舍。

两年前的第一个版本:AI-Markdown

XiMD 不是我第一次做 Markdown 编辑器。2024 年 12 月,我做过一个叫 AI-Markdown 的网页版工具:React + TypeScript + Vite,左边写、右边实时预览,可以接 DeepSeek、OpenAI、Claude 帮忙润色,也有亮暗主题和自动保存。

它能用,但一直是个“网页里的工具”:要打开浏览器,文件存在浏览器里,和本地文件夹之间总隔着一层。

这一次,我想要的三件事

隔了两年重新做,我给自己定了三个要求:

  1. 不要左右分屏。 像 Typora 那样,行内所见即所得:光标放在哪一行,那一行就显示 Markdown 源码;光标移开,立刻变回排好版的样子。视线始终落在内容上,不用在两栏之间来回对照。
  2. 看起来就是一个 Mac 应用。 用系统的毛玻璃侧边栏,标题栏和红绿灯按钮融为一体,而不是一个套了窗口的网页。
  3. 轻。 打开要快,常驻内存要小,不能因为写几段字就让风扇转起来。

为什么选 Tauri

做桌面应用,最常见的选择是 Electron。它很成熟,但每个应用都要自带一整套 Chromium 浏览器,安装包大,内存占用也高。

Tauri 的思路不一样:不自带浏览器,直接用系统里已经有的。在 macOS 上用的是系统自带的 WKWebView,界面部分还是熟悉的网页技术,底层逻辑则用 Rust 写。

对 XiMD 来说,这带来了两个直接的好处:

  • 更轻:XiMD 常驻内存大约 90MB;
  • 读写本地文件更自然:打开、保存文件走的是 Rust 写的原生命令,任意目录下的 .md 文件都能直接打开和保存,不受网页沙箱的限制。

整体的技术组合是:Tauri 2.0 做桌面底座,React 19 + TypeScript + Vite 6 做界面,编辑器内核用基于 ProseMirror 的 Milkdown,样式用 Tailwind CSS 和 Radix UI,数学公式用 KaTeX,流程图用 Mermaid,毛玻璃效果则调用系统原生的 vibrancy 能力。

几个我自己最常用的细节

功能列表可以看 GitHub 上的说明,这里只挑几个我写东西时最常用的:

  • 不用想着保存。 停止输入 1.2 秒后自动保存,窗口失去焦点时也会存一次。
  • 截图直接粘贴。 截图后在编辑器里按 ⌘V,图片会自动存到当前文档旁边的 assets/ 目录,并插入相对路径。文档整个文件夹拿走,图片不会丢。
  • 打字机模式和专注模式。 前者让当前行始终停在屏幕中间,后者把其他段落调暗,只留正在写的这一段。
  • 一键复制到公众号和知乎。 把渲染好的内容转成带样式的富文本,直接粘贴到微信公众平台或知乎的编辑器里。对中文写作者来说,这一步能省掉很多重复排版。
  • 划词就能叫 AI。 选中一段文字按 ⌘J,可以润色、纠错、翻译或总结。模型可以用本地的 Ollama,完全离线;也可以填自己的 OpenAI 兼容接口。密钥只保存在本机,代码里没有任何内置的 Key。

取舍和还没做好的地方

  • 只支持 macOS。 毛玻璃、标题栏这些“原生感”都是针对 Mac 做的,所以目前没有 Windows 版本。
  • 第一次打开需要多点一步。 作为独立开源项目,XiMD 没有购买苹果的开发者签名证书,macOS 会提示“无法验证开发者”。需要在“应用程序”里按住 Control 点击图标,选择“打开”;这个操作只需要做一次。
  • 还很新。 v0.1.0 是第一个公开版本,一定还有我自己没用到的场景和没发现的问题。

做工具这件事,本身也是一种能力

从 AI-Markdown 到 XiMD,我最大的体会是:先想清楚“不要什么”,比列出“要什么”更重要。 不要分屏、不要臃肿、不要把用户的文件和密钥藏到云端,这几条定下来之后,技术选型几乎就自己出来了。

给客户做网站或小工具时,我也是这么开始的:先把“这个东西不需要做什么”说清楚,剩下的部分才能做得又快又稳。如果你有一个想做成工具或网站的想法,可以看看我的网站建设服务。

想试试 XiMD,可以去 GitHub Releases 下载:Apple Silicon 和 Intel 芯片的 Mac 都有对应的安装包。