Repolode
toeverything

toeverything/blocksuite

基于 Web Components 和 CRDT 的 TypeScript 工具包,用于构建块编辑器和协作应用。

可替代:Notion

Star
6,085
Fork
565
未关闭 Issue
196
最近提交
昨天

这是什么?

BlockSuite 是一套用于构建编辑器和协作应用的工具包。它提供与界面无关的文档状态建模框架,并附带预构建的编辑组件,例如基于块的文档编辑器 PageEditor,以及图形化画布编辑器 EdgelessEditor,两者共享相同的富文本能力。

数据层基于 Yjs CRDT 库实现,文档天然支持实时协作和时间回溯。组件采用原生 Web Components,可在 React 或其他框架中使用。开发者可以自定义块类型,在多个编辑器之间复用同一份文档,并通过快照和转换器与 Markdown、HTML 等格式互相转换。

该项目起源于 AFFiNE 知识库,现以独立库的形式维护。目前仍处于早期阶段,组件和扩展接口还在持续完善。

核心功能

  • 01提供两种预构建编辑器:基于块的页面编辑器和画布式无边界编辑器。
  • 02基于 Yjs CRDT 实现实时协作和文档时间回溯。
  • 03支持自定义块和行内嵌入组件。
  • 04采用原生 Web Components,可在 React 等框架中使用。
  • 05通过快照和转换器支持 Markdown、HTML 等格式转换。

适用场景

  • 在 Web 应用中构建类 Notion 的块编辑器。
  • 为现有产品添加协作式富文本编辑功能。
  • 基于原生框架和组件开发定制化编辑器。
  • 在多个编辑器视图之间共享同一份文档。

快速上手

  1. 1

    阅读快速开始指南以安装 BlockSuite 包

  2. 2

    从 presets 包中的预设编辑器开始使用

使用前须知

  • README 称 BlockSuite 仍处于早期阶段,组件和扩展 API 可能仍会变化。
  • 从源码构建需要参考单独的 BUILDING.md 指南。
  • 采用 MPL 2.0 许可证,这是一种弱 Copyleft 许可证,修改过的 MPL 授权文件需要开源其变更。

收录于专题

标签

常见问题

blocksuite 是什么?
基于 Web Components 和 CRDT 的 TypeScript 工具包,用于构建块编辑器和协作应用。 BlockSuite 是一套用于构建编辑器和协作应用的工具包。它提供与界面无关的文档状态建模框架,并附带预构建的编辑组件,例如基于块的文档编辑器 PageEditor,以及图形化画布编辑器 EdgelessEditor,两者共享相同的富文本能力。
blocksuite 可以免费使用吗?用的什么许可证?
blocksuite 以 MPL-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
blocksuite 还在维护吗?
活跃维护中。blocksuite 最近一次提交是在 2026年11月6日。
blocksuite 适合用来做什么?
在 Web 应用中构建类 Notion 的块编辑器。 为现有产品添加协作式富文本编辑功能。 基于原生框架和组件开发定制化编辑器。 在多个编辑器视图之间共享同一份文档。
blocksuite 怎么安装和运行?
阅读快速开始指南以安装 BlockSuite 包 从 presets 包中的预设编辑器开始使用
在哪里获取 blocksuite?
源代码和安装说明在 GitHub 上:https://github.com/toeverything/blocksuite

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目