rrweb README

The project's README from github.com/rrweb-io/rrweb. As one markdown file: README.md.

Try rrweb

rrweb

(new!) rrweb cloud - hosted rrweb backend is now available

Join the chat at slack Twitter Follow Reddit record bundle size replay bundle size CDN catalog

中文文档

rrweb refers to 'record and replay the web', which is a tool for recording and replaying users' interactions on the web.

Guide

📚 Read the rrweb guide here. 📚

🍳 Recipes 🍳

📺 Presentation: Hacking the browser to digital twin your users 📺

Project Structure

rrweb is composed of the following principal parts:

Roadmap

Internal Design

Contribute Guide

Since we want the record and replay sides to share a strongly typed data structure, rrweb is developed with typescript which provides stronger type support.

Typescript handbook

For the latest setup, testing, and pull request workflow, see Contributing to rrweb.

In addition to adding integration tests and unit tests, rrweb also provides a REPL testing tool.

Using the REPL tool

Sponsors

Become a sponsor and get your logo on our README on Github with a link to your site.

Gold Sponsors 🥇

sponsor sponsor sponsor sponsor sponsor sponsor sponsor

Silver Sponsors 🥈

sponsor sponsor sponsor sponsor sponsor sponsor sponsor

Bronze Sponsors 🥉

sponsor sponsor sponsor sponsor sponsor sponsor sponsor sponsor sponsor

Backers

Core Team Members

Justin Halsall
Juice10
open for rrweb consulting

eoghanmurray


Yun Feng

Who's using rrweb?

SmartX PostHog Smart screen recording for SaaS
Sentry Pendo Mixpanel Datadog
Amplitude New Relic The first ever UX automation tool Remote 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

rrweb (rrweb-io/rrweb)

Searching Database…

20.3K ·GitHub
Что это такое?rrweb ('record and replay the web') — это open-source инструмент для записи и воспроизведения действий пользователей на сайте — session replay на уровне DOM, который вы встраиваете в своё приложение, в духе Fullstory или LogRocket.
Это hosted-сервис или библиотека, которую я добавляю на свой сайт?Это набор open-source библиотек, которые вы добавляете в веб-приложение, а не SaaS: rrweb-snapshot, record, replay и rrweb-player. Также теперь доступен hosted-бэкенд под названием rrweb cloud.
С чего начать запись сессии?В README есть ссылка на руководство rrweb с полным описанием; первый шаг — установить пакет rrweb из npm в своё веб-приложение и запустить рекордер.
Мне нужен свой бэкенд, чтобы хранить записи?Нужно какое-то место для хранения записанных сессий: rrweb cloud — это hosted-вариант, а в roadmap указан storage-движок, который дедуплицирует большое количество сессий. В остальном хранилище делаете сами.
Захватывает ли он сетевые запросы вроде XHR и fetch?Из коробки нет: захват сетевой активности (XHR, fetch, GraphQL) планируется только через новый plugin API, а экономный по токенам формат AI session replay всё ещё в разработке.
То есть я встраиваю это в свой продукт — мои пользователи сам rrweb не видят?Верно: разработчики и продуктовые команды встраивают рекордер в своё веб-приложение и воспроизводят сессии на своей стороне — в README перечислены платформы мониторинга, аналитики и сбора баг-репортов, построенные на rrweb.
Он работает только для веб-страниц или может записывать и нативные приложения?Только веб — он записывает DOM веб-страниц в браузере и воспроизводит их там; rrweb-player — это веб-интерфейс поверх движка воспроизведения.
Что именно попадает в запись?Записи фиксируют каждое изменение HTML-состояния и каждое действие пользователя на странице, так что всё, что отображается или вводится, может попасть в поток событий; воспроизведение выполняется в sandbox.
Как запись устроена внутри?Сначала начальный snapshot превращает DOM и его состояние в сериализуемую структуру данных с уникальными идентификаторами, затем rrweb записывает инкрементальные изменения и действия пользователя по мере его работы с сайтом. При воспроизведении восстанавливается snapshot и проигрывается поток событий.
Может ли одна запись охватывать несколько загрузок страницы?Да — несколько загрузок страницы можно объединить в одну запись.
Есть ли готовый интерфейс плеера?Да, rrweb-player — это GUI поверх пакета воспроизведения с паузой, перемоткой вперёд и перетаскиванием, чтобы запустить воспроизведение с любого момента времени.
Можно ли использовать rrweb-snapshot отдельно?Да — он может создать статический HTML-«скриншот» текущего состояния страницы со всем отключённым JavaScript, без всякой записи.
Creator
rrweb-io
Size
13.1 MB
Stars
20.3K
Age
8y
Commits · 90 Days