什么值得做
obsidianmd/pele · obsidianmd

Obsidian 的 CEO 重写了 Mermaid:Pele 三周 4300 star,靠的是老语法、新渲染和他自己的名字

它是什么 一个把 Mermaid 文字图(流程图、时序图等)直接画成 SVG 的 JavaScript 库:语法和 Mermaid 一样,但更快、更小、不用浏览器、能用 CSS 换主题。

为什么火了 Mermaid 又慢又重、换主题难、要无头浏览器,开发者骂了很多年;Obsidian 的 CEO 本人发布、HN 首页、Obsidian 下一版内置,三件事同一天叠在一起,而且老的 Mermaid 文本不用改就能换过来。

C你可以怎么跟 别再做一个 Mermaid 渲染器或 Pele 移植,学它的打法:找一个人人在用、人人在骂的事实标准库,兼容它的输入,在速度、体积、主题上做出量级差,用倍数当标题、配对比试用页,先在自己的项目里用上再发 HN。

C 级:它的起量很大一部分来自 Obsidian CEO 的名字和 Obsidian 内置,跟进者拿不到;Mermaid 渲染这条路已有 beautiful-mermaid 和一周内冒出的几十个移植、插件,挤满了。值得学的是「兼容老标准、重写实现」的打法。 已公开 / 被广泛讨论
数据(每天更新) · 建库 2026-10-05 · 4,366 星 · 7 天 +395
GitHub · 星数
02k4k10-0910-1710-2410-3111-084.4k
数据 2026-10-09 → 2026-11-08(31 天,31 次观测)。10-28 以前的点来自 deeply / 存档补录,不是每天都有

Pele 是一个把 Mermaid 图(流程图、时序图这类用文字写的图)直接画成 SVG 的 TypeScript 库,作者是 Obsidian 联合创始人兼 CEO Steph Ango(网名 kepano)。2026 年 10 月 17 日发布,到 11 月 6 日有 4,308 个 star,npm 周下载 155 万。这篇讲它为什么三周就起来了、它踩中的痛点有多老、早它九个月做同一件事的项目为什么没这么快,以及你想让自己的开源项目拿到 star,这里面哪些能学、哪些学不来。

一个周六的下午

2026 年 10 月 17 日 14:59(UTC),kepano 在 X 上发了一条帖子,配一段视频和一个在线试用页的链接,话说得很短:比 mermaid.js 快 100–500 倍,包小 6 倍,没有依赖;Pele 会是 Obsidian 下一个版本的新渲染器。

不到一小时,一个叫 dchest 的用户(不是作者)把它提交到 Hacker News,标题是「Pele – Mermaid diagrams as themeable SVG」。这条最后拿到 597 分、63 条评论,上了首页。

评论区读起来像一场积压多年的吐槽:

  • 「Mermaid 官方库是不是还得要一个完整的或无头的浏览器才能排版出 SVG?如果是,Pele 就是好消息。」
  • 「每次我拿 Mermaid 画比玩具复杂一点的图,最后都被那种古怪、拓扑很差的布局气死。」kepano 在下面回:「我同意,所以 Pele 只跟它的语法,不跟它的布局。」
  • 「谢天谢地。给 Mermaid 换主题、在服务端用它,简直是噩梦。」
  • 有人当场把自己文档站的图全换成了 Pele,回帖说「看起来很棒」;另一个人说他的静态站构建脚本原来为了渲染 Mermaid 要起一整个 Chromium,「已经换掉了」。

一周后 kepano 又发了一条:「一周过去,Pele 已经在几十个应用里了,包括 Obsidian 1.15。」

star 是怎么涨的

日期累计 star发生了什么
10-1739X 首发,同日上 HN 首页
10-18136
10-191,525单日记到 +1,389(推断:17、18 两天的爆发被统计晚记了一两天)
10-202,316
10-243,234kepano 发「已在几十个应用里」
11-064,308最近 7 天 +444,前 7 天 +868,进入长尾

(GitHub 每日 star 数,截至 11-06。)

star 在回落,但下载在涨。npm 上 pele 的日下载从 10-22 的约 11 万涨到 11-05 的约 35 万;10-30 到 11-05 这一周是 1,551,081 次(api.npmjs.org)。哪些大包在把它当依赖拉进来、占多少,没核实;但这个量说明它是真被装进项目里了,不只是被收藏。

Mermaid 的老毛病

Mermaid 是写在 Markdown 里的画图语言,GitHub、Notion、Obsidian 都支持,AI 写文档时也爱用它出图。它的官方实现 mermaid.js 有 9.1 万 star、npm 周下载 2,550 万,是事实标准。毛病也是出了名的:要靠浏览器测量才能排版,服务端渲染只能起无头浏览器;包大;深色模式和换主题很麻烦;复杂图的布局乱。kepano 在 HN 回帖里还点了一句,Mermaid 12.1「又带了一个布局引擎(现在有三个了),安全记录也可疑(看看 CVE)」。

Pele 的做法是:语法一个字不改,下面全部重写。 解析、布局、出图自己做,同步执行,不依赖 DOM,颜色和字体都走 CSS 变量,README 写明支持 Mermaid 12.1 的全部内置图型。所以已有的 Mermaid 文本、AI 生成的 Mermaid,都能直接换过来。HN 上有人列出 Pele 修好的一个小行为(子图连到外面的节点时仍保持自己的方向),说「光这一条就够我换了,哪怕它比 mermaid.js 慢」。

早它九个月的人

这个痛点不是 kepano 第一个看见的。

项目谁做的上线规模(11 月初)和 Pele 比
beautiful-mermaidCraft(笔记应用公司)2026-01-281.1 万 star,npm 周下载 94 万卖点几乎一样:好看、快、好换主题、不用浏览器;只支持少数几种图
mermaid-rs-renderer个人2026-01-221,813 star纯 Rust,主要替命令行工具
merman个人未核实未核实Rust 的无头 Mermaid 实现,HN 评论里有人推荐
mermaid-cli / Kroki社区2020 / 20195,158 / 4,397 star靠 Puppeteer 或服务端,重
D2 / PlantUML社区2022 / 20102.6 万 / 1.3 万 star要换一套语法

beautiful-mermaid 的故事最能说明问题:同样是一家笔记公司出的,同样卖「漂亮的 Mermaid」,早了九个月,到现在 1.1 万 star,不差;但 Pele 三周就拿到它四成的 star,npm 周下载已经反超。差别在两处:Pele 覆盖全部图型,能被当成 mermaid.js 的完整替代品认真接入;以及发布那天,作者是 Obsidian 的 CEO,而且第一天就承诺进 Obsidian 下一版——「有人在生产里用」这件事从第一天就成立。

生态自己长出来了

发布后的一到三周,GitHub 上冒出几十个围着它转的仓库:Go 移植(号称逐字节一致)、两个 Rust 移植、Dart 移植、命令行工具,mdBook、Sphinx、rustdoc、DokuWiki、Astro/Starlight 的插件,两个 Neovim 插件、VS Code 扩展,Discourse 官方出了主题组件;发布第二天就有人做了给 AI agent 用的技能包。还有咨询公司做了演示站,Medium 上有人写「Obsidian 从零重写了 Mermaid,快 500 倍」。

这些衍生大多是在帮它扩地盘,不是跟它抢。每多一个插件,就多一个指回 Pele 的入口。

它做对的几件事

kepano 的名字和 Obsidian 的内置是别人拿不到的。但下面几件事谁都能照做:

兼容一个大家都在用、又骂了多年的东西。 不发明新语法,只换实现。用户迁移成本几乎为零,存量内容直接归你。D2、PlantUML 做得再好,都得先说服人换语法。

标题用倍数。 「快 100–500 倍、小 6 倍、零依赖」三个数字能直接被转发,不需要读 README。

配一个能玩的东西。 在线试用页带「对比模式」(Compare),可以拿同一段文字和 mermaid.js 的效果比。HN 上 kepano 回质疑的方式就是甩这个链接。

作者本人首发,让别人去发 HN。 HN 的提交人不是作者,看起来更像自发推荐。

头几周发版发得很勤。 从 10-06 的 1.0 到 10-31 的 1.13.0,25 天发了约 20 个版本(GitHub releases)。社区刚提的问题很快就修,做插件的人才敢接。

如果是你

判断: 别再做一个 Mermaid 渲染器。Pele 已经覆盖全部图型、背着 Obsidian,Go、Rust、Dart 的移植发布后三周内就有人做完了,这条路挤满了。能拿走的是它的打法:找一个「人人在用、人人在骂」的事实标准,兼容它的输入,在速度、体积、主题、安全上做出量级差。

适合谁: 对某个老牌库的痛点有切身体会、又有能力把它的核心重写一遍的开发者。尤其是你本来就有一个在用这个库的项目,能当「自家生产环境」来背书。

不适合谁: 想靠再做一个 Pele 移植、Pele 插件拿 star 的人。移植和插件的 star 天花板低,而且大多数生态已经有人占了。

怎么做: 在别的领域找 Mermaid 这样的对象——输入格式已经成了标准、官方实现又慢又重又难定制的库。比如 Markdown 里常见的其他文本格式(数学公式、乐谱、图表描述语言),或者那些「必须起一个无头浏览器才能用」的工具。照 Pele 的写法:README 第一句说清兼容什么、快几倍、小几倍;做一个能左右对比的在线试用页;头一个月高频发版,主动接社区提的问题。

怎么获客: 你没有 Obsidian 的用户,能靠的是 Hacker News 和你的痛点用户。HN 评论区那种「我要起一整个 Chromium 才能渲染」的人,就是你的第一批用户;发 HN 前,最好先把你自己的项目或一个熟人的文档站迁过去,带着「已经在生产里用」的证据上。顺手给 AI agent 做一个技能包,现在 AI 生成的文本格式越来越多,「快、不用浏览器、能在服务端跑」的渲染器正好被需要。

什么时候之前: 越早越好。Pele 证明了「重写老标准」这个打法在 2026 年能起量,接下来几个月会有人照着去重写其他老库;好对象被挑走一个少一个。

什么情况说明看错了: ① 一两个月后 Pele 的 npm 下载掉回去、Obsidian 之外几乎没人用,说明它的量主要来自 Obsidian 本身,不是「兼容 + 重写」这个打法;② 有人用同样的打法重写别的老库,没有大牌背书,也在 HN 上了首页、拿到几千 star——说明这条路个人也走得通,等级可以往上调;③ beautiful-mermaid 这类先行者在 Pele 之后反而加速,说明真正的需求是「好看的 Mermaid」,不是全量兼容。

GitHub 仓库 ↗

研究底稿:竞品表、获客证据、完整研究报告
竞品
名字在哪上线规模它和这家不同在哪
mermaid-js/mermaid开源20149.1 万 star,npm 周下载 2550 万语法相同,Pele 重写了解析和布局:不要浏览器、同步执行、包小 6 倍、CSS 变量主题、限制了安全面
lukilabs/beautiful-mermaid(Craft)开源2026-01-281.1 万 star,npm 周下载 94 万卖点几乎一样,但只覆盖少数图型;Pele 覆盖 Mermaid 12.1 全部内置图型,还有 Obsidian 当首发宿主
1jehuang/mermaid-rs-renderer开源2026-01-221813 star原生 Rust,主打替掉 CLI;Pele 能直接替掉前端的 mermaid.js
mermaid-cli / Kroki开源2020 / 20195158 / 4397 star要靠 Puppeteer 或服务端;Pele 在 JS 里同步出 SVG
D2 / PlantUML开源2022 / 20102.6 万 / 1.3 万 star要换语法;Pele 直接兼容存量的 Mermaid 文本和 LLM 生成的 Mermaid
GitHub/Notion/Obsidian 旧版内置 Mermaid大厂功能多年—内部都是 mermaid.js;Pele 本身就是 Obsidian 1.15 的新内置渲染器
用户从哪来
  • 查实 创始人 X 首发:kepano 2026-10-17 推文:100-500× faster、6× smaller、will be the new renderer in the next version of Obsidian;一周后又发 'already in dozens of apps'
  • 查实 Hacker News:2026-10-17 dchest 提交,597 分、63 评论(item 50132193)
  • 查实 Obsidian 社区和产品内置:r/ObsidianMD 'coming in Obsidian 1.15' 两帖;Obsidian 论坛已有 pele 功能需求
  • 查实 生态插件自发传播:GitHub 上 10-17 之后冒出几十个 pele-* 仓库,包括 Discourse 官方组件、pele.wiki、Medium 文章
  • 推断 AI 和 agent 写 Mermaid 的需求:HN 评论提到 Claude 用 markdown 画图;发布第二天就有 pele-skill 和 dsh-pele

obsidianmd/pele:Obsidian 官方的 Mermaid 渲染器,为什么 3 周拿到 4300 star

一句话

Pele 是 Obsidian 联合创始人兼 CEO Steph Ango(kepano)几乎一个人写的 TypeScript 库(384 次提交里他占绝大多数,GitHub contributors,2026-11-06)。它吃 Mermaid 12.1 的语法,自己做布局,直接出 SVG:没有依赖、同步执行、颜色字体走 CSS 变量。自称比 mermaid.js 快 100–500 倍,包小 6 倍。它跑出来靠三样东西叠在一起:kepano 和 Obsidian 的名气、HN 首页,还有 Mermaid 拖了多年的老毛病(慢、大、难换主题、要浏览器、有 CVE)。另外它兼容现有语法,换过来几乎不花成本。

数据

  • 仓库 2026-10-05 建,2026-10-17 公开发布。数据卡截至 2026-11-06 是 4308 star、128 fork,GitHub API 当天读到 4329。
  • 我们库里的 repo_day:10-17 39 → 10-18 136 → 10-19 1525 → 10-20 2316 → 10-24 3234 → 11-06 4308。最大单日增量记在 10-19(+1389)。这和 10-17 的 X、HN 发布差了一到两天,很可能是采集滞后,10-17、10-18 两天的爆发被记到了 10-19(推断)。最近 7 天 +444,前 7 天 +868,已经进入长尾。
  • npm 周下载 1,551,081(2026-10-30~11-05,api.npmjs.org)。同期 beautiful-mermaid 是 941,214,mermaid 是 25,524,314。日下载从 10-22 的 11 万涨到 11-05 的 35 万,一直在涨。说明它被真当成依赖装进项目了,不只是收 star。但哪些大包在拉它,我没核实。
  • 发版很密:10-06 的 1.0.x 到 10-31 的 1.13.0,25 天发了约 20 个版本(GitHub releases)。

竞品

产品类型上线规模Pele 不同在哪
mermaid-js/mermaid开源(事实标准)20149.1 万 star,npm 周下载 2550 万Pele 兼容它的语法,但重写了解析和布局:不依赖 DOM 和浏览器测量、同步执行、包小 6 倍、颜色走 CSS 变量、限制了安全面
lukilabs/beautiful-mermaid(Craft 出品)开源2026-01-281.1 万 star,npm 周下载 94 万卖点一样(好看、快、好换主题、不用浏览器),但只支持少数几种图(同类 skill 写的是 6 种);Pele 说覆盖 Mermaid 12.1 的全部内置图型,还有 Obsidian 当首发宿主
1jehuang/mermaid-rs-renderer开源 Rust2026-01-221813 star原生 Rust,主打替掉 CLI;Pele 走 JS/浏览器生态,能直接替掉前端的 mermaid.js
mermaid-cli / Kroki开源服务端渲染2020 / 20195158 / 4397 star靠 Puppeteer 或服务端,很重;Pele 在 Node 和浏览器里同步出 SVG
D2、PlantUML、Graphviz开源,另一套语法2022 / 2010 / 更早D2 2.6 万、PlantUML 1.3 万 star要换语法;Pele 不用,几乎所有已有的 Mermaid 文本和 AI 生成的 Mermaid 都能直接用
GitHub、Notion、Obsidian 旧版内置的 Mermaid 渲染大厂功能多年—内部都是 mermaid.js;Pele 本身就是 Obsidian 1.15 的新内置渲染器

结论:这条赛道 2026 年初已经被 beautiful-mermaid 证明过需求,它拿了 1.1 万 star。Pele 不是第一个做的,但它是覆盖最全的,还背着一个大宿主。

增长手段(证据)

  1. 创始人本人在 X 首发(确认)。kepano 2026-10-17 14:59 UTC 发帖:"100-500× faster than mermaid.js、6× smaller bundle、No dependencies……Pele will be the new renderer in the next version of Obsidian",配了视频和 playground 链接(x.com/kepano/status/2111472054293913749)。一周后又发一条:"One week later, Pele is already in dozens of apps including @obsdmd 1.15",附更新日志。Threads 同步发了。
  2. HN 首页(确认)。2026-10-17 15:55 由 dchest(不是作者)提交 "Pele – Mermaid diagrams as themeable SVG",597 分、63 条评论(HN Algolia,item 50132193)。评论里的痛点很集中:mermaid 要无头浏览器、布局差、主题和暗色模式难弄、服务端渲染像噩梦。有人当场把文档站迁过去了。
  3. Obsidian 社区和产品内分发(确认)。r/ObsidianMD 有两帖:"Pele: New renderer for Mermaid diagrams coming in Obsidian 1.15" 和 "Pele, from the Obsidian team…"。Obsidian 论坛已经有人提 "mermaid/pele diagram max characters" 的需求。Obsidian 1.15 内置它,等于几百万用户自动成了它的用户(用户量级未核实)。
  4. 生态自发接入(确认)。发布后 1–3 周里,GitHub 上冒出几十个 pele-* 衍生仓库:pele-cli、pele-go(逐字节一致的 Go 移植)、pele-rs(两个)、pele_dart、mdbook-pele、sphinx-pele、pele-rustdoc、dokuwiki-pele、Astro/Starlight 集成、两个 pele.nvim、VS Code 扩展、Discourse 官方主题组件(discourse/discourse-pele-theme-component)、agent skill(jpmanson/pele-skill)。还有咨询公司做的 pele.wiki 演示站,Medium 上 "Obsidian Rebuilt Mermaid From Scratch. Pele Renders Diagrams 500x Faster"。kepano 说的 "dozens of apps" 基本对得上。
  5. AI 写 Mermaid 的顺风(推断,部分证据)。HN 评论:"allow Claude to edit and draw and save to a single markdown file"。发布第二天就有人做了 agent skill,DeepSeek Harness 也接了(hesheng01/dsh-pele)。LLM 输出 Mermaid 已经很普遍,所以"快、不用浏览器、能流式出图"的渲染器正好有需求。

没看到付费推广,开源库也不需要。

为什么跑出来

  • 名人加平台背书:作者是 Obsidian CEO,发布时就承诺进 Obsidian 下一版。"真有人在生产里用"这件事从第一天就成立。
  • 兼容旧语法,换起来几乎零成本:不发明新语言,把 Mermaid 生态的存量直接接了过来(对比 D2、PlantUML 要用户换语法)。
  • 数字好传播:"100–500× faster、6× smaller、zero deps" 是能直接转发的标题;火山女神的名字、手绘 logo、playground 也让它更好记、更好传。
  • 痛点由来已久:HN 上大家抱怨 mermaid 的布局、主题、无头浏览器、CVE 已经很多年。kepano 在 HN 回复里也点了 Mermaid 12.1 "ships with yet another layout engine (three now), and has a questionable safety record (see CVEs)"。
  • 覆盖全、迭代快:支持全部内置图型,拿 Mermaid 自己的 parser spec 测试再加差分模糊测试;25 天发了约 20 个版本。这让它能被认真接入,而不是收个 star 就走,npm 周下载 155 万可以作证。

差异化

和 mermaid.js 比:同样的语法,但轻、快、同步、不要浏览器、主题走 CSS、安全面收紧。和 beautiful-mermaid 这类"好看版 Mermaid"比:覆盖全部图型,有 Obsidian 当首发宿主,作者本身就是设计师,视觉统一。差异化是真的,但光有它不够,beautiful-mermaid 早 9 个月就卖过几乎一样的点。让 Pele 在 3 周内拿到 4000 多 star 和百万级周下载的,是差异化(全量兼容)加上分发(kepano 本人、HN、Obsidian 内置)。

能见度与跟风

  • 能见度:已经被广泛讨论。HN 597 分,Obsidian 官方渠道、Reddit、Medium 都写过,kepano 的推文是一手源头。star 增速已经回落。
  • 跟风或衍生:大量跟进,但大多是生态插件和语言移植(Go、Rust、Dart),不是对着干的竞品。nexmoe/pele-rs 这种"纯 Rust Mermaid-to-SVG"已经开始以独立实现出现。

可借鉴

  1. 去替换一个大家都在用、却被骂了多年的事实标准库,兼容它的输入格式,只在性能、体积、主题、安全上做到量级差。
  2. 发布时就有一个"自家生产环境",拿它当信用背书。
  3. 标题用倍数,配 playground 和视频,作者本人首发,让社区去发 HN。
  4. 头几周高频发版,接住社区提的问题,让生态插件自己长出来。

不确定

  • 10-19 的单日峰值是采集滞后,还是有二次传播(比如 Obsidian 1.15 预览、国内转载),没核实。
  • npm 周下载 155 万里,有多少来自某个大包的传递依赖,没核实。
  • Obsidian 1.15 的正式发布日期和用户量未核实;Reddit 两帖的分数抓不到(Reddit 拦了请求)。
  • kepano 在 X 上的粉丝数未核实(GitHub 9565 关注者)。

出处

文章由 AI 根据公开数据和我们每天采集的数据写成,数字带出处,推断已标明