Liveblocks 实时协作基础设施

为您的应用提供构建模块和基础设施,让人与AI在同一应用中协同工作。

Star 数
★ 4.8k
最近更新
13 天前
License
NOASSERTION
主语言
TypeScript

30 秒速览

运行形态
代码库 / SDK云服务 / SaaS
可在哪里用
通用 · 跨平台
费用
有免费版,另有付费云服务
上手难度
中 · 需要几步配置
开始前需要
网络访问
典型场景
产品团队需要为协作工具(如项目管理软件)添加实时评论功能,让用户可以直接在界面上讨论任务或内容。
不适合
  • 需要完全离线或数据不出本地的团队
  • 无法接受 AGPL-3.0 混合许可的商业项目
  • 希望完全自建、不依赖厂商云服务的团队

这个 Agent 能做什么,适合哪些场景?

Liveblocks是一个实时协作基础设施,提供评论、多人协同、AI代理和通知等即用型功能。它包含多个SDK和包,如@liveblocks/client、@liveblocks/react、@liveblocks/react-ui等,支持React、Tiptap、Blocknote、Lexical、Redux、Zustand等前端框架和状态管理库。通过Yjs协议实现文档协同编辑,提供REST API和Python SDK等服务端集成。该平台支持部署在自托管环境或云端,可满足从简单评论到复杂AI协作的各种场景。许可证为Apache-2.0和AGPL-3.0的组合。

Liveblocks提供了一套用于在应用中集成实时协作功能的SDK和API。它通过WebSocket管理实时连接,利用CRDT算法同步文档状态,支持多人同时编辑。其就绪功能包括评论系统、多人协同(如光标位置、在线状态)、AI代理(可将AI作为协作者添加到应用中)以及通知系统。开发者可以使用@liveblocks/client作为基础客户端,@liveblocks/react提供React绑定,@liveblocks/react-ui提供现成组件,@liveblocks/yjs支持与Yjs集成实现文档协同。服务端可使用@liveblocks/node、Python SDK或REST API进行身份验证和管理。

  1. 产品团队需要为协作工具(如项目管理软件)添加实时评论功能,让用户可以直接在界面上讨论任务或内容。
  2. 开发者希望在React应用中加入多人实时协作白板或文档编辑,需要处理并发编辑和状态同步。
  3. AI初创公司想要在应用中集成AI代理,让AI作为协作者能实时响应用户操作,例如辅助写作或数据分析。
  4. 企业需要为内部工具添加通知功能,及时通知用户有新的评论、提及或状态变化。
  5. 开源项目或独立开发者希望利用现成的CRDT和Yjs集成,快速构建协作功能,无需从零实现同步算法。
  6. 希望将应用扩展为支持多人同时操作的游戏或虚拟环境,需要低延迟的实时同步基础设施。

如何安装或部署这个 Agent?

源代码可从GitHub获取,但需要安装Node.js和npm。要开始使用,您需要注册Liveblocks账户并获取API密钥。具体安装步骤未在文档中说明,但可以推断:使用npm安装相关包,例如:npm install @liveblocks/client @liveblocks/react。然后按照Liveblocks官方文档(liveblocks.io/docs)初始化客户端并设置身份验证。

如何使用这个 Agent?

首先,在Liveblocks官网注册并创建项目以获取公钥。安装必要的包后,在您的应用入口初始化Liveblocks客户端:import { createClient } from "@liveblocks/client"; const client = createClient({ publicApiKey: "pk_..." }); 然后在React组件中使用@liveblocks/react的RoomProvider来包装需要协作的部分,并使用useOthers、useMyPresence等钩子访问实时状态和事件。对于文档协同,可结合Yjs和@liveblocks/yjs。服务端使用REST API或Python SDK进行用户身份验证和权限管理。具体示例可从官方示例(liveblocks.io/examples)获取。

这个 Agent 有哪些优点和局限?

优点
  • 提供从客户端到服务端的完整解决方案,包括多个框架的SDK,减少集成工作量。
  • 内置CRDT和Yjs支持,确保多人编辑时的数据一致性和同步性能。
  • 即用型功能如评论、通知、AI代理,可独立或组合使用,灵活满足需求。
  • 支持自托管,可以在自己的基础设施上部署,控制数据隐私。
局限
  • 需要注册Liveblocks服务并依赖其API,虽然不是强制锁定,但部分功能依赖于服务端。
  • 许可证混合,某些部分为AGPL-3.0,可能对商业应用有约束,需要仔细评估。
  • 没有完整的本地化文档,中文资料有限,可能需要参考英文文档。
  • 对AI代理的支持可能在当前版本中还不够成熟,可能需要额外配置。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
Liveblocks 实时协作基础设施 当前 37 · 缺口较多 代码库 / SDK免费版 + 付费版 ★ 4.8k 13 天前 TypeScript —
Huginn 61 · 存在缺口 自托管服务免费 ★ 50k 今天 Ruby —
Trigger.dev 57 · 缺口较多 代码库 / SDK免费版 + 付费版 ★ 17k 今天 TypeScript —
Clawith — 团队版 OpenClaw 45 · 缺口较多 自托管服务免费 + 模型费 ★ 4.2k 1 个月前 Python OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
37/ 100 五分制 1.9 / 5
本评测基于 2026年8月11日 的源码;此后该项目发布了 4 个正式版本,尚未复审。分数与结论只代表评测时的版本。 最近版本 ↓
信任安全 6/29
可靠稳定 6/14
适用触发 8/18
规范维护 8/18
有效结果 6/13
证据核验 3/8
查看各维度的扣分理由
信任安全6 / 29 · 1.0/5

证据显示仓库包含大量示例和测试,但未发现明确的权限最小化设计或用户确认机制。数据流透明度有限,敏感数据处理未提及。依赖安全有部分体现(如依赖检查工具),但未深入。外部效果方面,部署工作流包含硬编码的Vercel令牌,存在风险。回滚机制未提及。来源归属有版权声明,但发布者未验证。

可靠稳定6 / 14 · 2.1/5

自一致性较好,测试覆盖了并发操作和知识隔离等场景,但依赖可用性未明确,失败消息处理不充分。

适用触发8 / 18 · 2.2/5

面向广泛的开发者受众,提供了多种框架的SDK和示例,但能力边界和触发精度描述不足,环境适配信息有限。

规范维护8 / 18 · 2.2/5

信息架构清晰,有README和文档链接,但安装说明不详细,命名稳定性未明确,示例和FAQ较丰富,已知限制未提及,许可证明确但为双许可,版本变更日志存在但未详细,维护责任有社区支持渠道。

有效结果6 / 13 · 2.3/5

输出可用性一般,边际价值较高(提供实时协作基础设施),成本效益未明确。

证据核验3 / 8 · 1.9/5

声明可追溯性一般,跨来源佐证有限,事实与推断分离不明确。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 部署工作流中硬编码的Vercel令牌可能泄露,需谨慎处理。
  • 发布者身份未验证,依赖供应链风险需评估。
  • 未发现用户确认机制,AI代理操作可能缺乏人工监督。
证据充分度:低 评估于 2026年8月11日 审查版本 95fddc436f1c 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. v3.24.3 3.24.3
    发布说明摘录
    @liveblocks/client - Fix LiveText reconnect convergence with pending edits, including lost acknowledgements, repeated reconnects, and queued edits. Recovery updates now reach editor integrations instead of being filtered as local echoes.
    在 GitHub 查看 ↗
  2. v3.24.2 3.24.2
    发布说明摘录
    @liveblocks/client, @liveblocks/react, and @liveblocks/node - Fix edge cases in return types of .toJSON(), useStorage() selectors, and getStorageDocument(roomId, "json"): - a LiveObject whose properties are all optional no longer loses its keys when nested inside another Live structure. - a value typed as Record<string, T> no longer loses T. - an object carrying both a string index signature and named keys no longer loses the named keys. - a LiveObject converts to the same type whether you reach it directly or through a parent. …
    在 GitHub 查看 ↗
  3. v3.24.1 3.24.1
    发布说明摘录
    @liveblocks/react - Add new hook useMutableStorage() to get direct access to the mutable Storage root. See [docs](https://liveblocks.io/docs/api-reference/liveblocks-react#useMutableStorage). - Fix thread resolved/unresolved status being reverted under some conditions. (Thanks @VihaanAgarwal for the contribution!)
    在 GitHub 查看 ↗

常见问题

Liveblocks的价格模型是怎样的?
Liveblocks提供免费层级用于起步,付费计划基于使用量(如同时连接数或API调用),详细定价需在官网查询。
如何管理用户权限?
您可以在服务端使用REST API或SDK来管理用户身份、分配权限,并控制哪些用户可以访问房间和编辑内容。文档中的身份验证部分有详细说明。
如果自托管,需要哪些额外组件?
自托管需要您自己部署Liveblocks服务,并可能需要配置数据库(如Redis)。具体依赖未在本文档中列出,建议联系官方获取部署指南。
数据同步的冲突如何处理?
Liveblocks使用CRDT技术实现冲突自动解决,确保所有客户端最终达到一致状态,无需手动处理合并冲突。
能否与现有的React应用集成?
可以,通过@liveblocks/react包,您可以轻松将Liveblocks集成到React应用中,使用提供的钩子和组件。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents