Skip to content

Latest commit

 

History

History
44 lines (30 loc) · 3.73 KB

analytics.md

File metadata and controls

44 lines (30 loc) · 3.73 KB

BioAI 日知使用统计

管理员在网站侧栏打开「管理工作台」,使用现有管理员访问密钥连接后,默认进入「访问与 MCP 统计」。可选择今日、近 7 天、近 30 天,统一使用北京时间。公开网页与 MCP 不提供统计查询接口,令牌只保存在当前管理页面内存。

指标口径

指标 记录内容 解释边界
页面浏览 PV 首次加载与公开页面切换 每五分钟内容刷新不再计一次;禁用 JavaScript、阻止上报或网络失败会漏计
匿名会话 当前浏览器标签页内的随机标识,30 分钟无活动后更换;后端存 HMAC 摘要 不是人数,也不是跨设备 UV;每日去重会话不能直接相加
内容与链接点击 公司、原文或事件打开、外链、MCP 复制按钮、RSS 查看/复制按钮 点击或复制尝试,不证明阅读完成、剪贴板写入成功或 MCP 安装成功
MCP 工具执行 服务端真正执行的五个注册工具,成功/错误、平均/P95 耗时 握手、工具发现、传输失败、参数校验拒绝不算已执行工具;调用数不是用户数
访问来源 浏览器提供的来源域名 来源缺失不证明用户手工输入地址;不会保存完整来源 URL 或搜索词

网页默认仅汇总 User-Agent 规则归为浏览器且未标记测试的事件;自动化与未知来源单列排除数。此分类是启发式,不能保证识别全部机器人。MCP 则包含正常的 AI 自动化客户端,单独排除测试调用。

数据库迁移 016 建立 usage_analytics_state、usage_web_events、usage_mcp_calls。collected_since 表示该库统计机制建立时间,不会生成此前的流量。没有记录时展示零与「尚无记录」,错误率/耗时无分母时显示「—」。

采集与稳定性

  • /api/telemetry 是有大小、字段、页面路径、来源与配额限制的同站点 POST;event_id 去重,成功接收入库后返回 202。
  • /api/admin/analytics?days=1|7|30 在数据库访问前检查管理员凭证,响应 Cache-Control: no-store。
  • MCP 通过 Worker waitUntil 异步写入;统计失败不会改变工具返回,运行日志只输出固定 analytics_write_failed 类别。
  • 应用统计不保存原始 IP、User-Agent、搜索内容、工具参数、提示词、完整来源链接或表单字段;浏览器 DNT/GPC 信号会停止网页采集。Cloudflare 自身的基础设施日志属于独立的运行监控。
  • 使用独立 Worker secret ANALYTICS_SALT 做 HMAC;未配置时仅为兼容已有环境使用管理员密钥。更换盐后旧摘要无法与新摘要关联。
  • 明细保留 90 天,每日北京时间 08:00 Cron 清理;统计表同时进入既有加密备份和恢复计数检查。备份保留期 7 天,已清理数据可能在此期间仍存在于旧密文备份。

验收与测试流量

浏览器从 ?analytics_test=1 进入;本地预览自动标记测试。MCP 验收使用 X-BioAI-Analytics-Test: 1。这些数据可以验证采集而不进入正常使用指标。

运行:

BIOAI_TEST_LOCAL=1 npm test --prefix cloudflare/site
node --test tests/analytics_ui.test.cjs
.venv/bin/python scripts/analytics_acceptance.py --local

生产验收由实现者在已有授权环境执行,脚本从忽略的私有配置读取管理员凭证,报告不含凭证、会话标识或用户行为明细。验收流量不会被写成真实增长。

搜索获客

网页访问来源与工具调用量已经具备独立口径;搜索曝光、搜索词排名、搜索结果点击需要站长平台的实际报告,不能由本站 PV 倒推。Google Search Console 验证、IndexNow 回执与内容入口见 搜索建设说明。