这个项目能做什么
WebSight 是一个开源且隐私优先的网站分析项目。其目标是在不将访客商品化的前提下,为网站所有者提供所需的数据:它不使用 Cookie,不进行跨站追踪,也不收集个人数据。它既提供托管应用,也提供可完全在自有基础设施上运行的软件。
追踪与设置
该追踪器旨在保持轻量化:核心脚本小于 1KB,采用异步和延迟加载。集成有两种方式:最简单的是使用一个指向托管追踪器的延迟脚本标签,通过 data-site 属性命名目标网站。其他 data-* 属性与包选项一一对应,涵盖持久化模式、Core Web Vitals 采样以及针对管理或健康检查路由的路径排除。此外,可以通过名为 websight 的 npm 包集成到构建流程中,提供类型化的 init 调用以及用于自定义事件的 track 和 identify 函数;track 和 identify 可以在 init 之前调用,并会在追踪器启动时排队执行。项目还提供了一个 Analytics 组件,用于在根布局中挂载以实现 React 集成。
分析能力
README 中列出了一个实时仪表盘,可实时更新访客状态而非延迟更新,以及一个可旋转的 3D 地球,用于突出显示当前读者的位置。会话回放由 rrweb 提供支持,被描述为隐私掩码模式,可在仪表盘中按站点启用。对于行为分析,该项目涵盖了自定义事件、转化漏斗、目标和留存队列,以及可按来源、国家、设备或活动进行切片的过滤器和细分。Core Web Vitals 和 JavaScript 错误捕获可按需加载。
隐私立场
无 Cookie、无状态追踪是其默认设定。README 声称该方法符合 GDPR、CCPA 和 PECR,访客无需提供同意。可以为任何站点生成公开分享链接,并可选择密码保护。该项目采用 MIT 许可证且完全可自托管。
架构与自托管
WebSight 是一个由 Supabase Postgres 数据库支持的单一 Next.js 应用程序。追踪器位于应用的 public 目录中,因此无需运行单独的服务:只需一个指向一个 Supabase 项目的 Next.js 应用即可。README 中的自托管步骤包括克隆仓库、复制环境示例文件并填写 Supabase 密钥和应用 URL、安装依赖、构建并启动。supabase/migrations 下的迁移通过 Supabase CLI 应用,之后应用可部署到 Vercel 或其他 Node 主机。README 指出,包含环境变量和地理位置/CDN 注意事项的完整指南位于在线自托管指南中。
README 中提到的技术栈包括 Next.js 16、React 19、TypeScript、Tailwind CSS v4、用于 Postgres 的 Supabase、Recharts、用于 3D 地球的 three-globe 以及用于会话回放的 rrweb;追踪器本身被描述为零依赖并使用 tsup 构建。
社区与许可证
项目欢迎提交 Issue 和 Pull Request,文档托管在项目的专用文档站点上。该项目采用 MIT 许可证,被描述为可免费使用且可免费自托管。
评论
0 评分人数达到10人后显示
登录后参与讨论。