feat(analytics): retire Rybbit and add SEO/GEO discovery tracking

Document Umami as the sole analytics platform, remove Rybbit proxy and
tracker code, and classify public page traffic with discovery_channel for
adm SEO/GEO dashboards.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
john
2026-08-12 01:34:05 +08:00
parent c58a23d155
commit c122bd5664
26 changed files with 466 additions and 449 deletions
@@ -1,6 +1,6 @@
---
description: MindSpace 生成页埋点必须上报创建者 username,且不得用 owner_id identify 匿名访客
globs: mindspace-analytics.mjs,mindspace-rybbit.mjs,mindspace-analytics.test.mjs,mindspace-rybbit.test.mjs,server/portal-session-routes.mjs,server/portal-integration-services-bootstrap.mjs
globs: mindspace-analytics.mjs,mindspace-analytics-discovery.mjs,mindspace-analytics.test.mjs,mindspace-analytics-discovery.test.mjs,server/portal-session-routes.mjs,server/portal-integration-services-bootstrap.mjs
alwaysApply: false
---
@@ -10,7 +10,7 @@ Umami「创建用户」依赖 `event_data.username` / session `username`。路
## 必须
- 服务端 `page_generated``sendMindSpaceAnalyticsEvent` / `sendMindSpaceRybbitEvent`)的事件属性 **必须**包含 `username`(创建者展示名,来自 `resolveAnalyticsOwnerLabel`
- 服务端 `page_generated``sendMindSpaceAnalyticsEvent`)的事件属性 **必须**包含 `username`(创建者展示名,来自 `resolveAnalyticsOwnerLabel`
- 可同时保留 `owner_label` 作兼容,值与 `username` 相同
- Public HTML 内嵌脚本的 `metadata` **必须**继续带 `username`(给 scroll/click 等客户端事件)
@@ -22,5 +22,5 @@ Umami「创建用户」依赖 `event_data.username` / session `username`。路
## 改完必跑
```bash
node --test mindspace-analytics.test.mjs mindspace-rybbit.test.mjs
node --test mindspace-analytics.test.mjs mindspace-analytics-discovery.test.mjs
```