Skip to content

rrweb logo

Try rrweb

rrweb ​

(全新!)rrweb Cloud —— 托管版 rrweb 后端现已上线

Join the chat at slackTwitter FollowRedditrecord bundle sizereplay bundle sizeCDN catalog

English 文档

rrweb 是 "record and replay the web"(录制并回放 Web)的缩写,它是一个用于录制并回放用户在网页上交互操作的工具。

指南 ​

📚 在此阅读 rrweb 使用指南。📚

🍳 场景示例 🍳

📺 演讲: 黑进浏览器,为你的用户打造数字孪生 📺

项目结构 ​

rrweb 主要由以下几个部分组成:

  • rrweb-snapshot,包含快照(snapshot)与重建(rebuild)两大功能。快照用于将 DOM 及其状态转换为可序列化的数据结构,并附带唯一标识;重建功能则将快照还原为对应的 DOM。该包可以独立使用,为当前网页状态生成一份基于静态 HTML 的“截图”,其中所有 JavaScript 均被禁用。
  • record,在初始快照的基础上,记录用户浏览网页过程中所有的 HTML 状态变化(变更,即 mutation)以及用户交互。多次页面加载可以串联成一段完整的录制。
  • replay,重建初始快照,并回放后续的事件列表或事件流,从而呈现一段“会话回放”。
  • rrweb-player,构建在 replay 包之上的播放器 UI,提供暂停、快进、拖拽跳转至任意时间点播放等基于图形界面的功能。

路线图 ​

内部设计 ​

贡献指南 ​

由于我们希望录制端与回放端共享一套强类型的数据结构,rrweb 采用 TypeScript 开发,以提供更强的类型支持。

TypeScript 手册

有关最新的环境搭建、测试以及 pull request 工作流程,请参阅参与 rrweb 贡献。

除了添加集成测试和单元测试之外,rrweb 还提供了一个 REPL 测试工具。

使用 REPL 工具

赞助商 ​

成为赞助商,你的 logo 将连同指向你网站的链接一起展示在 GitHub 的 README 中。

金牌赞助商 🥇 ​

sponsorsponsorsponsorsponsorsponsorsponsorsponsor

银牌赞助商 🥈 ​

sponsorsponsorsponsorsponsorsponsorsponsorsponsor

铜牌赞助商 🥉 ​

sponsorsponsorsponsorsponsorsponsorsponsorsponsorsponsorsponsor

支持者 ​

Sponsor logo

核心团队成员 ​

Justin Halsall
Juice10
提供 rrweb 咨询服务

eoghanmurray


Yun Feng

谁在使用 rrweb? ​

SmartXPostHogImageSmart screen recording for SaaS
SentryPendoMixpanelDatadog
AmplitudeNew RelicThe first ever UX automation toolRemote Access & Co-Browsing
The open source, fullstack Monitoring Platform.Comprehensive data analytics platform that empowers businesses to gain valuable insights and make data-driven decisions.Intercept, Modify, Record & Replay HTTP Requests.In-app bug reporting & customer feedback platform.
Self-hosted website analytics with heatmaps and session recordings.Interactive product demos for small marketing teams