我的作品 开源了 MetriBee:给 GA4 换一张好看的脸,不用跑数据库
花了半天时间,搞了个 MetriBee,已经开源。
它是一个 GA4 看板,读你已有的 Google Analytics 4 数据,所有站点放在一屏里看。不加新脚本,不存事件,只跑一个 Node 进程。
开源地址:GitHub,觉得有用就点个 Star
关注我的 GitHub:@nexmoe,看我接下来做什么
官网:metribee.com

为什么做它
我很喜欢 Rybbit,自己用了很久。界面清爽,点一下就能筛选,还有一个会转的地球。
问题在背后。自托管 Rybbit 要跑 ClickHouse、Postgres、Redis,再加应用本身。Plausible 也要 ClickHouse 和 Postgres。事件一天天进来,数据库从几百 GB 涨到几个 TB。磁盘要扩,备份要做,版本要升。
GA4 这边正好相反。事件 Google 免费存,标准媒体资源没有事件上限。我的站本来就都装了 GA4。缺的只是一个顺手的界面。
所以我把两边接起来。MetriBee 的前端改自 Rybbit,后端读 GA4。界面还是那套,存储交给 Google。
所有站点,一屏
GA4 自带的界面,一次只能看一个媒体资源。站点一多,就得来回切。
MetriBee 的首页列出服务账号能看到的所有媒体资源。每个站一张卡片:会话数、趋势线、涨跌、在线人数。也可以换成状态、表格、热力图视图,导出 CSV。接了 AdSense 的话,收入也在这里。

实时页同样是全部站点一起看。某个站流量突然冲高,会标出来。下图里 Pixel Recipes 有 209 人在线,是平时的 3.8 倍。

单站报表
点进一个站,是概览、页面、事件、路径、留存、漏斗。任意一行都能点击筛选,时间段一键对比,常用操作有快捷键。
页面表里,GA4 指标和 Search Console 的点击、曝光、CTR、排名放在同一张表。不用再开两个后台对着看。

漏斗用的是 GA4 原生的漏斗报表。保存好步骤,每一步掉了多少人,一眼看清。

路径是桑基图,看访客下一步去了哪。留存按首次访问分组,按周看还剩多少人。


嵌入、分享、给 AI 用
数据可以做成卡片和徽章,嵌到别的页面。也能生成私密分享链接,随时可以撤销。

同一个容器在 /mcp 提供 MCP 服务。Claude Code、Codex、Cursor 接上以后,可以直接问它 GA4 和 Search Console 的数据。
还有几个小东西。报表有缓存,每个媒体资源有配额保护,不会超出 GA4 的免费 API 额度。按 P 进入隐私模式,站名和链接会模糊,方便录屏和共享屏幕。
它省掉了什么
| MetriBee | Rybbit 自托管 | Umami 自托管 | Plausible CE | |
|---|---|---|---|---|
| 要跑的服务 | 1 个 Node 进程 | ClickHouse + Postgres + Redis + 应用 | Postgres + 应用 | ClickHouse + Postgres + 应用 |
| 服务器存事件 | 不存,Google 存 | ClickHouse,一直涨 | Postgres,一直涨 | ClickHouse,一直涨 |
| 沿用现有 GA4 代码 | 是 | 要换脚本 | 要换脚本 | 要换脚本 |
不用迁移。GA4 里多年的历史数据,第一天就能看到。哪天不用 MetriBee 了,数据还在 GA4 里。
十年的数据和十天的数据,成本一样,都是零。笔记本、树莓派、最便宜的 VPS 都能跑。
它不做什么
这几件事别的工具更强:
- 没有会话回放。
- 没有 Web Vitals 和错误追踪。
- 原始事件在 Google 手里,不在你手里。
- 不是无 Cookie 方案,GA4 的合规要求照样适用。
如果你想完全拥有自己的数据,用 Rybbit。MetriBee 给已经在用 GA4、又想要 Rybbit 体验、但不想养数据库的人。
上手
安装和接入 GA4 的步骤,见 GitHub 上的 Get started。
MetriBee 没有登录。能打开页面的人,都能看到你的数据。请只放在本机,或者放在 Cloudflare Access、Tailscale 后面。
致谢
MetriBee 最早 fork 自 GA4-Dashboard-MCP。GA4 后端、配额处理、缓存和 MCP 服务都建在它上面。整套界面来自 Rybbit。
项目以 AGPL-3.0 开源。欢迎试用,也欢迎提 issue。