Show HN: RePlaya – 自托管浏览器会话回放,支持实时追踪

Hacker News Top 工具

摘要

RePlaya 是一款自托管的会话回放工具,它将每个浏览器会话存储为 S2 流,从而无需单独数据库即可实现实时追踪和回放。它包含一个记录器脚本片段和仪表盘。

嗨,HN,我是 s2.dev 的创始人之一。RePlaya (<a href="https://github.com/s2-streamstore/replaya" rel="nofollow">https://github.com/s2-streamstore/replaya</a>) 是一款使用 rrweb (<a href="https://github.com/rrweb-io/rrweb" rel="nofollow">https://github.com/rrweb-io/rrweb</a>) 的自托管浏览器会话回放工具。<p>我想到,为每个会话建立持久流将是此类工具所需功能的更简洁架构基础。作为一项独特功能,它还使实时追踪变得简单直接,因为播放器可以从记录器正在追加的同一流中读取数据。<p>另一种架构可能是使用摄取数据管道进行索引,这带来了复杂性和延迟。你需要将多个数据系统串联起来,比如消息队列、元数据库、对象存储和/或 OLAP 数据库。<p>这里唯一的依赖是 S2,它有一个名为 s2-lite 的开源版本,你可以自托管 (<a href="https://news.ycombinator.com/item?id=46708055">https://news.ycombinator.com/item?id=46708055</a>)。<p>工作原理:<p>- 每个浏览器会话对应一个 S2 流<p>- 大型 rrweb 事件(如完整快照)被分帧到多个二进制 S2 记录中,并在读取时重新组装<p>- 活动会话通过 S2 读取会话进行实时追踪,并通过 SSE 桥接到浏览器<p>- 会话列表依赖于对反向时间戳进行编码的流名称,因为 S2 返回按字典顺序排列的列表<p>- 依赖栅栏令牌,以便已停止的会话不会被延迟的记录器再次写入<p>- 保留和垃圾回收通过 S2 流配置处理,因此无需后台任务<p>很期待听到大家对这个工具或每个会话一个流模型的看法!
查看原文
查看缓存全文

缓存时间: 2026/06/02 18:33

新会话出现在列表中,并从其S2流实时追踪——当访客使用应用时,回放和活动馈送会更新。(MP4)

相似文章

Replay QA

Product Hunt

Replay QA 是一款工具,通过捕获和回放会话,帮助开发人员在用户发现之前找到 bug。