桃子桃子快讯
返回首页
工具

开源 AI 原生网站分析工具 OpenAnalytics 发布

开源隐私优先的网站分析工具,支持 AI 助手与 MCP 协议,可一键自托管。

2026.08.15 · 周六4 分钟阅读

OpenLabs 在 Hacker News 上发布了开源的隐私优先网站分析工具 OpenAnalytics,主打「AI 原生」与可自托管架构。该项目采用 AGPL-3.0 许可证,所有组件集中在单个 pnpm monorepo 中,便于审阅与部署。作者同时运营着托管实例 getopen.so,代码与自托管版本完全一致。

整体架构与组件

OpenAnalytics 由若干独立应用组成,职责清晰:

  • apps/tracker:浏览器端追踪脚本,仅几 KiB,CI 强制约束字节预算
  • apps/collector:事件接入、字段清洗、限速、入队
  • apps/worker:将事件从队列写入 ClickHouse,处理会话、汇总、导出、邮件与删除
  • apps/api:控制平面,承载认证、站点、密钥、分享、事件定义、漏斗、组件、收入、AI 助手与 MCP
  • apps/query-gateway:唯一允许读取 ClickHouse 的进程,校验 Ed25519 签名的查询请求
  • apps/realtime:实时仪表盘背后的 SSE 流
  • apps/web:仪表盘前端,基于 Next.js
  • apps/cli:oa 命令行工具,支持站点初始化、统计查询与 device-flow 登录

存储层面,控制平面使用 Postgres,事件与汇总使用 ClickHouse,事件队列与实时缓存分别由两套 Valkey 实例承担。系统还附带 MCP(Model Context Protocol)服务器,可与外部 AI 助手对接。

隐私模型

OpenAnalytics 不使用 Cookie、不做指纹识别、不构建跨站用户画像。访问者身份采用每日轮换的盐值哈希,原始 IP 不入库。DNT(Do Not Track)与 GPC(Global Privacy Control)信号在采集器入口即被尊重,事件写入前已完成判定。城市级地理定位默认关闭,由各站点单独选择是否开启。

地理解析依赖本地数据库完成,查询全程不离开宿主机。数据库未内置打包——文件约 60 MB 且一个月内即过期,运维可在自托管脚本中按需拉取。

自托管与升级

官方提供 SELF-HOSTING.md 作为部署指南,核心步骤包括:

  • 准备一台装有 Docker 的 Linux 主机,约 4 GB 内存
  • 配置 app、api、c、rt 四条 DNS 记录
  • 运行 generate-secrets.sh 生成密钥与 .env
  • 执行 docker compose pull && docker compose up -d,首次启动自动签发 TLS 证书

正式镜像发布于 ghcr.io/openlabs-so/openanalytics,目前仅提供 amd64 版本;如需在 arm64 上运行或试用开发分支,可在本地用同一 compose 文件加一个标志构建全部镜像,约十分钟即可完成。

升级通过 ./upgrade.sh 完成,并在升级前为可能的回滚准备快照。数据库迁移单向不回滚,回滚路径必须依赖备份恢复——恢复意味着丢弃升级后到达的数据,脚本会在执行前提示该约束。

AI 能力边界

OpenAnalytics 内置的 AI 助手使用 OpenAI API 作为可选能力,环境变量 OPENAI_API_KEY 未设置时,相关面板与功能自动禁用,其余服务不受影响。MCP 服务器则为外部 AI 客户端提供标准化的事件查询与站点操作接口。两者均作为可选增强存在,并不构成系统依赖。

信源