文章目录
OpenReplay:自己搭的会话回放工具,给前端排错用的
OpenReplay 在 GitHub 上拿到 12.2K Star 了。
这是一个开源的会话回放工具,可以自己部署在云服务器上,让你看到用户在 Web 应用里到底做了什么,遇到问题怎么操作,把排错时间压短。
1、这玩意儿是干嘛的
就一件事:把用户在你网站或 Web 应用里的操作过程录下来,存到自己的服务器上,让你能像看录像一样回放。
但回放只是入门。它还顺手把表面之下的东西也抓了下来:网络请求、控制台日志、JS 报错、store 状态变化、页面性能指标、CPU 内存占用,一并记录。一个 26KB 的 tracker 脚本,异步发送,对性能影响有限。

2、为什么要用它
做前端排错的人都遇到过这种场景:用户报了个 bug,说页面崩了,但问他怎么操作的他也不记得,让他复现复现不出来。你打开监控面板,只能看到一堆聚合数据,回不到当时的现场。
OpenReplay 解决的就是这个落差。每次用户操作都是一段可回放的轨迹,附带完整技术上下文。看到 user 卡在某个点,你就能直接看到当时的网络请求是不是慢了、JS 是不是抛错了、Redux store 状态走到哪一步了。
跟同类产品比,它的核心卖点是 self-hosted。数据全程留在你自己的云端,不用经过第三方,安全合规这一关直接省了。
3、主要功能

会话回放本身不用多说,重点是它在回放基础上叠加的几层能力:
- DevTools 视图:相当于在用户浏览器里调试,网络活动、JS 错误、store 状态和 40 多个性能指标都摆出来,复现 bug 和定位性能问题不用再切多个工具
- Assist:远程协助场景用,可以直接看到用户实时屏幕,通过 WebRTC 接通话,不依赖第三方屏幕共享软件
- Spot:Chrome 扩展,用户在浏览器里直接录 bug,录的时候把开发者要修它需要的技术细节都带上
- Omni-search:不用打埋点就能搜,按用户动作、session 属性或技术事件筛
- Analytics:从一堆回放里挑出影响转化率和收入的关键问题
- 插件机制:覆盖 Redux、VueX、MobX、NgRx、Pinia、Zustand 等状态管理,以及 Apollo、Relay 的 GraphQL 查询、Fetch/Axios 请求
4、怎么部署
支持的公有云都给了 step-by-step 文档:AWS、GCP、Azure、DigitalOcean、Scaleway、OVHcloud,再加一个 Kubernetes 通用方案。
不想自己部署也行,官方提供云服务版,免费账号可以直接用。
5、适合哪些人
- 做前端、需要快速定位线上 bug 但苦于复现困难的团队
- 对数据合规有要求、不能把用户行为数据放到第三方平台上的公司
- 已经在用 Sentry、Datadog、CloudWatch、Elastic 等后台日志工具,想把前后端日志串起来追踪同一个 session 的开发者
后端日志同步这块它支持 Sentry、Datadog、CloudWatch、Stackdriver、Elastic,能把后端日志和前端会话回放对应上,前后走一遍就能看清整条链路。
自己部署的好处还有一层:fork 后按业务改,加埋点字段、改隐私过滤逻辑、对接内部系统都不受限制。Star 数虽然不算爆炸,但 self-hosted 这个赛道里,它的功能完整度和生态覆盖算独一档。
Star 数虽然不算爆炸,但 self-hosted 这个赛道里,它的功能完整度和生态覆盖算独一档。