ProseKit:把 ProseMirror 的陡峭学习曲线包成 headless 框架

前端
编辑器
开源
React
2026/9/29
·

阅读时间: 大约 6 分钟

ProseKit:把 ProseMirror 的陡峭学习曲线包成 headless 框架

ProseKit 官方在线编辑器演示:工具栏与富文本渲染效果

富文本编辑器是前端”三大难”之一:Quill 太老、Slate 魔改多、TipTap 把 ProseMirror 包了一层但 API 仍绕。ProseKit(prosekit.dev,MIT,背后公司 Ocavue)走的是另一条路:基于久经考验的 ProseMirror,做一个 headless、可扩展、框架无关的编辑器框架——自带 slash 命令面板、@提及、#话题、任务列表、数学公式、表格、图片缩放,并给出五框架适配器和 Tailwind 写的复制即用组件。本文基于官网实读分析。

一、它开箱自带什么

官网演示页把能力列得很全:

  • 基础富文本:粗斜体下划线删除线、行内代码、链接;
  • @提及 / #话题:@someone、#topics 自动补全;
  • slash 命令面板:按 / 插入任意块;
  • 嵌套列表、任务列表(todo/doing/done 进度)、编号列表;
  • 代码块、可拖拽缩放的图片、表格;
  • 数学公式:$...$ 行内公式、$$ 独占一行块级公式(官网示例就是欧拉恒等式 $e^{i\pi}+1=0$ 与高斯积分 $\int e^{-x^2}dx=\sqrt{\pi}$)。

ProseKit 官方特性卡:协同编辑支持 Yjs/Loro,底层是 ProseMirror

二、架构选择:headless + 多框架 + ProseMirror 底座

官网把设计原则写成六张卡:

  1. Headless by Design:对样式零假设,不绑 UI;
  2. Copy-Paste Components:Tailwind 写的组件复制进项目自由改;
  3. Framework Flexibility:同一内核 + React / Vue / Preact / Svelte / Solid 五套适配器;
  4. Flexible API:扩展 API 为”直觉化”设计;
  5. Collaborative Editing:无缝接 Yjs 或 Loro 做实时协同;
  6. Built on ProseMirror:底座是被纽约时报和 Atlassian 用过的 ProseMirror。

这是它和 TipTap 最核心的差异:TipTap 只做 React/Vue 双适配器,ProseKit 把 Solid/Svelte/Preact 都覆盖了;协同方面同时支持 Yjs 和更新的 Loro。

三、口径与局限

  1. “battle-tested”指的是 ProseMirror,不是 ProseKit。 官网反复强调 ProseMirror 被 NYT/Atlassian 使用——但 ProseKit 自己是个年轻框架,封装层的 API 稳定性、扩展生态还需要时间沉淀。
  2. headless 的代价。 不绑 UI 意味着你要自己做工具栏、气泡菜单、 slash 面板的样式——它给 Tailwind 组件只是起点,复杂交互仍要自己写。“开箱即用”指的是内核功能,不是现成产品级编辑器。
  3. 与 TipTap 的正面竞争。 TipTap 生态(插件、模板、招人即会)成熟度远超 ProseKit,迁移成本和社区资源都在 TipTap 那边。ProseKit 的差异化押在五框架覆盖 + Loro 协同 + 更现代的 API 设计上。
  4. 协同要自己接服务端。 “seamless integration with Yjs or Loro”只是客户端集成,CRDT 的后端/连接层仍要自己搭(或用 Hocuspocus 这类方案)。
  5. 商业公司背书的双面性。 Ocavue 公司维护意味着可持续性比个人项目强,但也意味着未来可能走开源核心 + 商业版路线,长期要关注许可证变化。

四、客观评价

优势:

  • 站在 ProseMirror 这个正确底座上,不重复造轮子;
  • headless + Tailwind 复制组件,符合 shadcn 时代审美;
  • 五框架适配器覆盖最广(尤其 Solid/Svelte);
  • Yjs/Loro 双协同支持,面向实时文档场景。

局限:

  • 年轻框架,生态与插件数量不及 TipTap;
  • headless 意味着 UI 工作量转移给使用者;
  • API 仍在快速演进;
  • 与 TipTap 同质化竞争,差异化还需时间证明。

五、谁该关注

要做”带协同的文档/笔记/评论区”产品、又不想从 ProseMirror 裸写起的团队——ProseKit 比 TipTap 更现代、比裸 PM 更省力。已经深度用 TipTap 的项目,没有强迁移理由;做简单评论框的,用它是杀鸡用牛刀。如果你正在 Solid/Svelte 生态找富文本方案,它是目前少有的一等公民选择。

参考来源