一个基于 JavaScript 的图数据同步引擎与工具集,用于构建去中心化、离线优先、端到端加密的点对点应用。
loro-dev/loro
一个基于 CRDT 的 Rust 库,支持 JS/WASM 和 Swift,让 JSON 类应用数据可协作、自动合并并支持版本控制。
- Star
- 6,237
- Fork
- 193
- 未关闭 Issue
- 66
- 最近提交
- 29分钟前
这是什么?
Loro 是一个 CRDT(无冲突复制数据类型)库,用于构建本地优先(local-first)和协作型应用。每个节点可以离线编辑文档,在同步时自动合并,无需中心服务器来裁决冲突。
库内提供多种数据类型:基于 Fugue 算法的文本编辑、富文本 CRDT、可移动树、可移动列表以及后写入胜出(LWW)的 Map。文档支持增量更新、快速加载、历史版本时间旅行,以及类似 Git 浅克隆的浅快照。
Loro 使用 Rust 编写,可直接在 Rust 中使用,也可通过 WebAssembly 在 JavaScript 中使用(即 loro-crdt npm 包),并支持 Swift。其他语言的绑定由 loro-ffi 项目提供。
核心功能
- 01多节点并发编辑的自动合并
- 02基于 Fugue 的文本编辑与富文本 CRDT
- 03支持可移动树和可移动列表
- 04可回溯文档历史进行时间旅行
- 05类似 Git 浅克隆的浅快照
- 06增量更新,只同步变更部分
适用场景
- 为基于 JSON 的应用添加实时协作,无需中心化合并服务
- 构建支持离线编辑、稍后同步的笔记或文档编辑器
- 对结构化应用数据做版本管理并浏览历史
- 在 Web 或 Swift 应用中实现多人富文本协作编辑
快速上手
- 1
打开 README 中链接的入门教程
- 2
在 JS 项目中,参照 README 示例从 loro-crdt 包导入 LoroDoc 和 LoroList
收录于专题
标签
常见问题
- loro 是什么?
- 一个基于 CRDT 的 Rust 库,支持 JS/WASM 和 Swift,让 JSON 类应用数据可协作、自动合并并支持版本控制。 Loro 是一个 CRDT(无冲突复制数据类型)库,用于构建本地优先(local-first)和协作型应用。每个节点可以离线编辑文档,在同步时自动合并,无需中心服务器来裁决冲突。
- loro 可以免费使用吗?用的什么许可证?
- loro 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- loro 还在维护吗?
- 活跃维护中。loro 最近一次提交是在 2026年10月22日。
- loro 适合用来做什么?
- 为基于 JSON 的应用添加实时协作,无需中心化合并服务 构建支持离线编辑、稍后同步的笔记或文档编辑器 对结构化应用数据做版本管理并浏览历史 在 Web 或 Swift 应用中实现多人富文本协作编辑
- loro 怎么安装和运行?
- 打开 README 中链接的入门教程 在 JS 项目中,参照 README 示例从 loro-crdt 包导入 LoroDoc 和 LoroList
- 在哪里获取 loro?
- 源代码和安装说明在 GitHub 上:https://github.com/loro-dev/loro
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
开源、本地优先的知识库,将文档、白板画布和表格融合在同一工作区中,可替代 Notion 和 Miro。
面向 JavaScript 应用的本地优先、响应式 NoSQL 数据库,可运行于浏览器、Node.js、React Native 等环境。
一个以单个 HTML 文件交付的 PowerPoint 替代品,文件本身包含查看、演示和编辑功能。
Table Habit 是一款免费开源的 Flutter 习惯追踪应用,支持 WebDAV 同步与离线使用。
本地优先、基于 Markdown 的笔记应用,支持 macOS、Windows、Linux、Android 和 iOS,可选择自有云存储或服务器同步。