发现 AI 代理的未来arrow_forward

PostHog

calendar_today收录于 2026年2月23日
category智能体与应用工具
code开源
PythonTypeScriptReactPostgreSQL机器学习Web应用智能体与应用工具模型与推理框架开发者工具/代码数据分析/BI/可视化

开源的全栈产品分析平台,集成了 Web 分析、会话回放、功能开关和 A/B 测试工具,帮助团队构建成功产品。

PostHog 项目概述#

PostHog 是一个开源的一站式产品开发平台,旨在解决现代产品开发中工具链碎片化的问题。传统上,团队可能需要同时使用 Google Analytics(流量分析)、Mixpanel(产品分析)、Hotjar(会话回放)、LaunchDarkly(功能开关)和 Sentry(错误追踪)等多种 SaaS 工具。PostHog 将这些能力整合到单一平台中,提供数据管道、分析和行动的闭环。

核心价值#

  • 数据主权与隐私:支持 Self-hosted(自托管),满足合规要求,数据不出域
  • 产品全生命周期覆盖:从最初的流量监控到深入的用户行为分析,再到功能灰度发布和 A/B 测试,最后到错误监控和用户反馈
  • 开发者友好:提供丰富的 SDK、SQL 查询接口和 API,支持自动捕获事件,降低埋点成本

功能模块#

分析与洞察#

模块功能描述
Product Analytics核心分析引擎,支持自动捕获事件或手动埋点;提供趋势、漏斗、留存、路径分析;支持 HogQL(基于 SQL 的方言)直接查询底层数据
Web Analytics类似 Google Analytics 的仪表盘,专注流量监控、Web Vitals(性能指标)、收入追踪
LLM Analytics专为 AI 应用设计,捕获 LLM 的 traces(调用链)、generations(生成内容)、延迟与 Token 成本

体验与调试#

模块功能描述
Session Replays用户会话回放,记录用户在 Web 或移动端的真实操作,结合控制台日志,用于诊断问题和理解用户意图
Error Tracking错误追踪与监控,自动捕获前端/后端异常,提供分组、告警和与 Session Replay 的关联跳转

发布与实验#

模块功能描述
Feature Flags功能开关,支持基于用户 ID、群组或百分比的灰度发布;保证高性能,支持服务端渲染
ExperimentsA/B 测试与多变量测试,测量变更对核心指标的影响;支持无需代码的配置
Surveys问卷与反馈,提供无代码模板或自定义问卷构建器

数据基础设施#

模块功能描述
Data Warehouse数据仓库集成,同步外部数据源,与 PostHog 的产品数据联合查询
Data Pipelines (CDP)客户数据平台,实时将事件数据转发至 25+ 第三方工具或 Webhook
Workflows自动化工作流,基于事件触发消息发送或数据流转

免费额度(PostHog Cloud)#

  • 每月 100万事件
  • 5k 会话录制
  • 100万 Feature Flag 请求
  • 10万异常
  • 1500 问卷回复

适用场景#

  • 产品经理分析用户激活、留存和转化漏斗
  • 开发者通过 Session Replay 复现用户报错场景,结合 Error Tracking 快速定位 Bug
  • 工程团队实施 Feature Flags 进行安全发布,并利用 Experiments 验证功能价值
  • 数据工程师通过 Data Pipeline (CDP) 将产品数据同步至数据仓库
  • AI 团队监控 LLM 应用的调用链、成本与延迟

SDK 支持矩阵#

前端移动端后端
JavaScriptReact NativePython
Next.jsAndroidNode
ReactiOSPHP
VueFlutterRuby

额外支持:Go, .NET/C#, Django, Angular, WordPress, Webflow 等

部署方式#

方式一:PostHog Cloud(推荐)#

方式二:自托管 Hobby 部署#

# Linux + Docker(推荐 4GB 内存)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/posthog/posthog/HEAD/bin/deploy-hobby)"

代码示例#

JavaScript Web Snippet#

<script>
  !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([].slice.call(arguments))}}(p=t.createElement("script")).type="text/javascript",p.crossOrigin="anonymous",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags getFeatureFlag getFeatureFlagValue reloadFeatureFlags group updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures getActiveMatchingSurveys getSurveys onSessionId".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]);
  posthog.init('<YOUR_API_KEY>', {api_host: '<YOUR_HOST>'})
</script>

Python SDK#

import posthog
posthog.capture('user_id', 'event_name', {'property': 'value'})

架构原则#

PostHog 采用大型 Monorepo 项目结构,正从单体向垂直切片架构转移:

  • 垂直切片:每个产品拥有独立的全栈实现(DB -> API -> UI),减少跨模块耦合
  • 模块边界约束:使用 tach 工具检查 Python 模块依赖,使用 Turborepo 管理构建依赖
  • HogQL:PostHog 的核心查询层,将 SQL-like 语法转换为 ClickHouse 查询

关键配置文件#

  • pyproject.toml - Python 依赖与工具配置
  • pnpm-workspace.yaml - 前端 monorepo 配置
  • docker-compose.hobby.yml - 自托管 Docker Compose
  • turbo.json - Turborepo 构建配置

保持更新

获取最新的 AI 工具和趋势,直接发送到您的收件箱。没有垃圾邮件,只有智能。

rocket_launch