Rybbit 介绍与选型指南
Rybbit(开源隐私优先的网站与产品分析平台,Google Analytics 替代)介绍与选型:定位、架构、功能特性、快速开始、适用场景与限制,及与 GA4/Plausible/Umami/GoatCounter/Offen/Aptabase 的量化对比,基于 v2.9.2 联网溯源。
Rybbit 介绍与选型指南
目标:读完本篇能判断 Rybbit 是否适合作为你的网站/产品分析平台,并与 GA4、Plausible、Matomo、Umami 等同类方案做出量化选型对比。本篇为认知篇,全部信息均来自官方仓库与官方文档的联网溯源,未做本地实测;溯源来源与查询日期(2026-10-30)在各节随文标注。部署实操、配置参数与 API 调用细节分别见本专栏后续各篇。
一、环境信息
本篇是纯联网溯源的认知篇,不依赖任何本地实验环境。为保证可复核性,先把本篇所有关键事实的来源与查询日期固定如下:
| 溯源项 | 来源 | 查询日期 |
|---|---|---|
| 最新稳定版本号 v2.9.2 及发布时间 | GitHub Releases Atom 源 https://github.com/rybbit-io/rybbit/releases.atom | 2026-10-30 |
| 社区活跃度(Stars 13k、Forks 765) | shields.io 实时徽章 https://img.shields.io/github/stars/rybbit-io/rybbit.json | 2026-10-30 |
| 功能清单与同类对比表 | 官方仓库 README.md(v2.9.2 源码包) | 2026-10-30 |
| 开源协议 AGPL-3.0 | 官方仓库 LICENSE.md(v2.9.2 源码包) | 2026-10-30 |
| 技术栈与依赖组件版本 | 官方仓库 docker-compose.yml(v2.9.2 源码包) | 2026-10-30 |
| API 能力与认证方式 | 官方文档源码 docs/content/docs/api/getting-started.mdx(v2.9.2 源码包) | 2026-10-30 |
| 自托管部署方式 | 官方文档源码 docs/content/docs/(docs)/self-hosting.mdx 及 self-hosting-guides/(v2.9.2 源码包) | 2026-10-30 |
💡 技术拓展:releases.atom 是 GitHub 为每个仓库自动生成的 Atom 格式发布订阅源,无需 API Key 即可读取,是绕开 GitHub REST API 限流获取版本号最稳的官方渠道;shields.io 则把 GitHub 星数渲染成徽章数据(JSON 格式加
.json后缀),两者都属于「仓库页可公开访问的数据通道」,不占用每小时 60 次的匿名 API 配额。本系列技术文档取证版本号与社区热度时优先走这两条通道。
二、软件概述
2.1 定位与一句话简介
Rybbit 是一个开源、隐私优先的网站与产品分析平台(Web & Product Analytics),官方将其定位为 Google Analytics 的现代开源替代品,宣传口径为「几分钟即可完成搭建、看板直觉易用」(来源:官方仓库 README.md,查询日期 2026-10-30)。它同时提供两条使用路径:官方托管云服务(rybbit.com)与完全自托管(Self-Hosting 到自己的 VPS),自托管版本功能完整、官方明确「自托管实例不限 API 速率」(来源:官方文档 getting-started.mdx,查询日期 2026-10-30)。
2.2 基本事实卡
| 项目 | 内容 |
|---|---|
| 软件名称 | Rybbit |
| 官网 | https://rybbit.com (文档站 https://rybbit.com/docs) |
| 源码仓库 | https://github.com/rybbit-io/rybbit |
| 开源协议 | AGPL-3.0(来源:LICENSE.md) |
| 最新稳定版 | v2.9.2(2026-10-24 发布,更新 Node.js 以修补 CVE-2026-111497;来源:releases.atom) |
| 社区热度 | Stars 13k、Forks 765(shields.io,2026-10-30) |
| 首选部署形态 | Docker Compose(含 ClickHouse + PostgreSQL + Redis 全家桶) |
| 商业形态 | 官方云(按月订阅)+ 自托管免费 |
| 技术栈 | TypeScript 全栈:Next.js 前端 + Node.js 后端(Better Auth 认证)+ ClickHouse 事件存储 |
| Demo | https://demo.rybbit.com/81 (官方提供的真实生产站点演示) |
2.3 版本节奏与社区活跃度
从 releases.atom 可见的近期发布轨迹:v2.9.0(2026-09-12,大版本特性发布,含时间线标注 Timeline annotations 等面板新功能)、v2.9.1(2026-09-12 同日跟进,含 createdAt 字段迁移)、v2.9.2(2026-10-24,安全补丁版)。一个大版本 24 小时内连发两修、一个半月后出安全补丁,说明项目处于高频迭代期且维护响应较快(来源:releases.atom,查询日期 2026-10-30)。13k Stars 在自托管分析平台赛道属于头部梯队(同赛道 Umami 约 2 万+、Plausible 约 2 万+、GoatCounter 约 4 千+ 量级,均为公开徽章可查的公开数据),配合 Product Hunt「Daily Top Post」徽章(README 内嵌)可判断社区声望处于上升通道。
2.4 项目沿革
Rybbit 由开发者 goldflag(release 作者署名)主导、rybbit-io 组织维护,2025 年起进入快速成长期,2025-10 曾获 Product Hunt 日榜第一。仓库内置 CLAUDE.md、CONTEXT.md、DESIGN.md 等 AI 协作工程文件,是典型的 2025 年后「AI 原生工程化」开发风格的开源项目(来源:v2.9.2 源码包根目录文件清单,查询日期 2026-10-30)。
三、核心架构
3.1 组件构成
以下架构信息来自 v2.9.2 官方 docker-compose.yml 的服务定义(查询日期 2026-10-30),这是官方主推部署形态的权威快照:
| 组件 | 镜像与版本 | 角色 |
|---|---|---|
| client | ghcr.io/rybbit-io/rybbit-client | Next.js(React)前端,监听 3002 端口,提供分析看板 UI |
| backend | ghcr.io/rybbit-io/rybbit-backend | Node.js 后端 API,监听 3001 端口,负责数据写入、查询聚合与认证(Better Auth) |
| clickhouse | clickhouse/clickhouse-server:26.3.17.4 | 列式 OLAP 引擎,存储全部页面浏览/事件数据,通过 8123 HTTP 接口被 backend 访问 |
| postgres | postgres:17.4 | 关系库,存储用户、组织、站点、API Key 等元数据 |
| redis | redis:8.6.4-alpine | 会话追踪、粘性身份识别、bot 异常计数;noeviction 策略 + AOF everysec |
| caddy(可选) | caddy:2.10.0 | 内置 Web 服务器,自动申请 HTTPS 证书,可选启用 |
3.2 数据流
一条典型的分析数据流是:站点访客浏览器加载官方 tracker 脚本(/script.js)→ 无 Cookie 采集页面浏览/自定义事件 → POST 到 backend 的 track 接口 → backend 写入 ClickHouse(async_insert 异步批量插入,官方在 ClickHouse profile 中显式开启以摊薄写入开销)→ 看板查询时 backend 将过滤条件翻译为 ClickHouse SQL 执行聚合。元数据读写(注册、建站、组织与成员管理)走 PostgreSQL;Redis 承担 30 分钟 TTL 的会话键与 bot 异常计数(来源:docker-compose.yml 内嵌的 redis 启动注释与 ClickHouse configs 段,查询日期 2026-10-30)。
💡 技术拓展:为什么选择 ClickHouse 而不是 MySQL/PostgreSQL 存事件?网站分析是典型的「写多读聚合」场景——每秒可能涌入成百上千条 pageview,而看板查询几乎全是按时间范围 + 维度分组的聚合。行式 OLTP 库做这类查询要逐行回表,列式 OLAP 库只扫涉及的列且压缩率高,ClickHouse 在该场景的聚合吞吐通常高一到两个数量级。同类产品中 Plausible 社区版用 ClickHouse、Umami 用 MySQL/PostgreSQL、GoatCounter 用 SQLite,存储引擎的选择直接决定了各自能承载的流量规模档位。Rybbit 采用的正是与 Plausible 同款的重量级方案。
3.3 部署形态
官方提供三种自托管路径(来源:官方文档 self-hosting.mdx 与 self-hosting-guides/,查询日期 2026-10-30):
- 一键脚本:
bash <(curl -fsSL https://rybbit.com/setup.sh)官方引导式安装,适合全新 VPS; - 手动 Docker Compose:克隆仓库后自配
.env再docker compose up -d,可衔接自有 Nginx/Traefik/Coolify 反代(文档明确给出 Without Caddy 分支); - 内置 Caddy:默认编排自带 Caddy 自动 HTTPS,域名解析好即可零证书配置。
商业侧另有官方云(Hosted Service),按 Free/Basic/Standard/Pro 订阅,云版 API 有速率限制而自托管版没有,这一点对「要不要自托管」的决策影响很大(来源:getting-started.mdx 限流表,查询日期 2026-10-30)。
四、功能特性
以下功能清单逐项对照官方 README「Key Features」与对比表整理(查询日期 2026-10-30):
4.1 核心分析能力
- 全套基础指标:会话数、独立访客、页面浏览量、跳出率、会话时长,实时看板;
- 高级过滤:跨 15+ 维度(国家、地区、城市、浏览器、操作系统、设备、来源、渠道、UTM、入口/退出页等)任意组合过滤;
- 自定义事件:支持携带 JSON 属性的事件上报;
- 目标(Goals)、转化漏斗(Funnels)、用户旅程(User Journeys)、留存分析(Retention)四件套齐全;
- 三级地理位置(国家→省州→城市)+ 高级地图可视化(可选接入 Mapbox Token 增强 3D 地球视图)。
4.2 差异化亮点
- 会话回放(Session Replays):直接回放用户会话操作轨迹,这是多数轻量隐私分析平台(Plausible/Umami/GoatCounter)都不具备的能力;
- 错误跟踪(Error Tracking):采集前端 JS 报错并与流量数据同台分析;
- Web Vitals 性能指标:LCP/CLS/INP 等核心网页性能指标采集与看板;
- 用户画像(User Profiles)与会话明细:可 identify 用户并下钻单用户行为序列;
- Bot 检测与流量过滤:内置 bot 异常计数与自有流量隐藏(hiding-own-traffic 官方指南);
- 组织与团队:多组织、多成员、角色权限,站点数量无限制;
- 公开看板:可将站点数据发布为公开页。
4.3 2.9 系新能力
v2.9.0 发布说明(releases.atom,查询日期 2026-10-30)列出的重点:时间线标注(在总览图上钉注释,精确到时分、任选 emoji 图标);配合源码包内 docs 目录可见的 experiments(A/B 实验)、feature-flags(功能开关)文档,Rybbit 已从纯流量分析扩展进「产品分析」领域,对标 PostHog 的部分场景。
4.4 对外接口
- Stats API(beta):REST 风格,Bearer Token / 个人 API Key / 组织 API Key(
rb_org_前缀)三种认证,覆盖 overview、sites、events、sessions、funnels、errors、organizations、teams 等 20+ 端点域,附带 OpenAPI 规范与内置 API Playground; - MCP 服务:内置 Model Context Protocol 服务端(源码 server/src/mcp/),可让 AI 客户端直接查询分析数据,属同类产品中少见的前沿配置;
- SDK 与脚本:官方 tracker 脚本 + 多平台 SDK(react-native 目录)+ Strapi 等第三方集成指南。
五、快速开始(最小可用示例)
本节为溯源视角的最短路径(命令均来自官方文档,查询日期 2026-10-30,未做本地实测验证;实测部署全过程见本专栏部署篇)。
5.1 一键脚本路径
对一台全新 Ubuntu/Debian VPS,官方给出的最短路径是执行官方引导脚本,按提示输入域名即可:
bash <(curl -fsSL https://rybbit.com/setup.sh)
脚本会引导选择是否使用内置 Caddy(自动 HTTPS)、自定义前后端端口,并生成 .env 后以 Docker Compose 拉起全套服务。
5.2 手动 Docker Compose 路径
已有反向代理的用户可走手动路径:克隆官方仓库,创建 .env(至少配置 DOMAIN_NAME、BASE_URL、BETTER_AUTH_SECRET 三项,密钥用 openssl rand -hex 32 生成),然后:
docker compose up -d backend client clickhouse postgres
首个注册用户即成为实例管理员。官方 .env 示例中 ClickHouse/Postgres 默认凭据均为 frog/analytics,生产部署务必修改(来源:.env.example 与 self-hosting-manual.mdx,查询日期 2026-10-30)。
5.3 验证要点
官方 backend 服务自带健康检查端点 /api/health(docker-compose.yml 的 healthcheck 定义),部署完成后浏览器打开客户端端口应出现注册/登录页,注册并添加第一个站点后,把官方 tracker 脚本嵌入目标网站即可看到实时数据流入。
六、适用场景与限制
6.1 适用场景
- 个人博客与作品集:无 Cookie、无需 Cookie Banner,嵌入一行脚本即用,GoatCounter 级别的轻量心智但看板能力强得多;
- 中小企业官网/营销站:替代 GA4 规避数据合规顾虑,保留渠道与转化分析能力;
- SaaS 产品分析:自定义事件 + 漏斗 + 留存 + 会话回放组合,可承接 PostHog 的部分场景而自托管资源开销更低;
- 需要数据主权与私有化:AGPL 开源 + 全组件自托管 + 自托管版无 API 限流,适合把数据留在自己机房/内网;
- AI 驱动的数据消费:内置 MCP 让 LLM 客户端直接查数,适合做自然语言报表与自动化告警的团队。
6.2 限制与注意
- 资源占用不轻:全家桶含 ClickHouse,最低可用配置建议 4GB 内存起步(官方编排对 ClickHouse 设置了 80% RAM 上限比例与后台合并内存约束,说明官方也默认它需要独立资源预算);小内存 VPS 用户应优先考虑 SQLite 系的 GoatCounter 或 Umami;
- Stats API 处于 beta:官方明确提示可能存在破坏性变更(getting-started.mdx 顶部 Callout),生产集成需留升级适配余量;
- AGPL-3.0 传染性:对 SaaS 转售/二次分发场景需法务评估;商业闭源集成应采购官方云或联系商业化;
- 云版与自托管功能差异:云版按订阅档位提供 API Key 与更高配额,自托管版功能全量但运维责任自负;Mapbox 地图增强需自备 Token;
- 回放与高级地图等重型特性:在低配实例上会放大磁盘与内存压力,官方为此提供了 LITE_DASHBOARD 精简模式开关(docker-compose.yml 环境变量,查询日期 2026-10-30)。
七、同类选型对比
7.1 横向对比表
下表综合官方 README 对比表与各项目公开资料整理(查询日期 2026-10-30;「自托管存储」与「资源档位」为按各项目官方编排/文档归纳):
| 维度 | Rybbit | GA4 | Plausible | Umami | Matomo | GoatCounter | Offen | Aptabase |
|---|---|---|---|---|---|---|---|---|
| 开源协议 | AGPL-3.0 | 闭源 | AGPL-3.0(CE)/ 商业 | MIT | GPL-3.0 | AGPL-3.0 | AGPL-3.0 | AGPL-3.0 |
| 自托管 | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 无 Cookie 隐私采集 | ✅ | ❌ | ✅ | ✅ | ✅(需配置) | ✅ | ✅ | ✅ |
| 存储引擎 | ClickHouse | 私有云 | ClickHouse | MySQL/PG | MySQL/PG | SQLite | 内嵌 | ClickHouse |
| 资源档位 | 中高(4GB+) | — | 中高(2-4GB+) | 低(512MB 级) | 中(1-2GB) | 极低(树莓派级) | 低 | 中 |
| 会话回放 | ✅ | ✅(付费) | ❌ | ❌ | 付费插件 | ❌ | ❌ | ❌ |
| 漏斗/留存 | ✅ | ✅ | 部分(付费) | 部分 | 部分(付费) | ❌ | ❌ | 漏斗 |
| 错误跟踪 | ✅ | ❌ | ❌ | ❌ | 插件 | ❌ | ❌ | ✅ |
| 公开 API | ✅ beta 不限速(自托管) | 有(采样) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 官方云定价起点 | 有免费档 | 免费 | 9 美元/月起 | 云版 | 云版 | 免费档 | 免费 | 免费档 |
7.2 选型建议
- 要「轻」:树莓派/1GB 小鸡选 《GoatCounter 介绍与选型指南》(SQLite 单文件、CLI 友好),或选 《Umami 介绍与选型指南》(MIT 协议对二次开发最友好);
- 要「全」:需要会话回放 + 错误跟踪 + 漏斗留存全家桶,Rybbit 是自托管阵营中单仓交付此组合的最短路径,可对照 《Plausible 介绍与选型指南》(同用 ClickHouse、更成熟但社区版功能刻意阉割)做 POC;
- 要「合规审计」:Offen 的「访客自主查看与删除自己数据」设计独此一家,见 《Offen 介绍与选型指南》;
- 要「移动应用分析」:Rybbit 主打 Web(移动端仅 react-native SDK),App 事件分析选 Aptabase 更对口,见 《Aptabase 介绍与选型指南》;
- 要「传统企业报表」:Matomo 的 UA 兼容与插件生态最完整,但自托管复杂度与许可合规成本高于 Rybbit。
一句话结论:在 2026 年的自托管网站分析赛道,Rybbit 是「功能密度/部署复杂度」比值最高的选手之一——代价是你必须养得起 ClickHouse。 数据预算充足的团队建议直接试 Rybbit 与 Plausible 双 POC;资源受限或只要基础计数则下沉到 Umami/GoatCounter。
八、参考链接
- 官网:https://rybbit.com
- 官方文档:https://rybbit.com/docs
- GitHub 仓库:https://github.com/rybbit-io/rybbit
- Releases Atom 源:https://github.com/rybbit-io/rybbit/releases.atom
- 在线 Demo:https://demo.rybbit.com/81
- 自托管文档(v2.9.2 源码包内):docs/content/docs/(docs)/self-hosting.mdx、self-hosting-guides/self-hosting-manual.mdx
- API 文档(v2.9.2 源码包内):docs/content/docs/api/getting-started.mdx
- shields.io 星数徽章:https://img.shields.io/github/stars/rybbit-io/rybbit
- 本专栏部署篇:《Rybbit Docker Compose 部署指南》
- 本专栏配置篇:《Rybbit 2.9.2 配置参数详解》
- 本专栏 API 篇:《Rybbit 2.9.2 API 使用详解》