关于 integration-flask
用于将 PostHog 分析接入 Flask 应用的技能,提供分阶段配置流程,以及初始化、用户识别和异常跟踪的 Flask 专属指导。
主要功能
- 01分阶段配置流程
- 02Flask 初始化指导
- 03用户识别指导
- 04异常跟踪指导
- 05注重隐私的事件属性
适用场景
- 01为 Flask 应用添加 PostHog 分析
- 02通过应用工厂初始化 PostHog
- 03在登录或注册时识别用户
- 04跟踪关键流程中的异常
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ posthog/ skills --skill integration-flask安装后在 Claude Code 中输入/integration-flask确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/basic-integration-1.0-begin.mdbasic-integration-1.1-edit.mdbasic-integration-1.2-revise.mdbasic-integration-1.3-conclude.mdEXAMPLE.mdflask.mdidentify-users.md详细介绍
Flask 的 PostHog 集成
此技能可帮助你将 PostHog 分析添加到 Flask 应用程序中。
工作流
按顺序完成以下步骤:
basic-integration-1.0-begin.md- PostHog 设置 - 开始 ← 从这里开始basic-integration-1.1-edit.md- PostHog 设置 - 编辑basic-integration-1.2-revise.md- PostHog 设置 - 修订basic-integration-1.3-conclude.md- PostHog 设置 - 结束
参考文件
references/EXAMPLE.md- Flask 示例项目代码references/flask.md- Flask - 文档references/identify-users.md- 识别用户 - 文档references/basic-integration-1.0-begin.md- PostHog 设置 - 开始references/basic-integration-1.1-edit.md- PostHog 设置 - 编辑references/basic-integration-1.2-revise.md- PostHog 设置 - 修订references/basic-integration-1.3-conclude.md- PostHog 设置 - 结束
示例项目展示了目标实现模式。请查阅文档了解 API 详情。
关键原则
- 环境变量:始终使用环境变量存储 PostHog 密钥。切勿将其硬编码。
- 尽量减少改动:在现有集成旁添加 PostHog 代码。不要替换或重构现有代码。
- 遵循示例:实现应尽可能贴合示例项目中的模式。
框架指南
- 使用
posthog.api_key和posthog.host在create_app()中全局初始化 PostHog(而不是按请求初始化) - 由于 Flask 内置了错误处理程序,请使用
posthog.capture_exception(e)手动捕获异常以进行错误跟踪 - 在
create_app()中,先初始化 PostHog,再注册 Blueprint - 请记住,源代码位于
venv/site-packages目录中 posthog是 Python SDK 的软件包名称- 使用
pip install posthog或pip install -r requirements.txt安装依赖项,不要在 shell 命令中直接使用未加引号的版本说明符(如>=) - 在 CLI 和脚本中:退出前必须调用
posthog.shutdown(),否则所有事件都会丢失 - 始终使用
Posthog()类构造函数(基于实例的 API),而不是模块级的posthog.api_key配置 - 始终在
Posthog()构造函数中加入enable_exception_autocapture=True,以自动跟踪异常 - 绝不要在
capture()事件属性中发送 PII——不得包含电子邮件、全名、电话号码、实际地址、IP 地址或用户生成的内容 - PII 应放在
identify()人员属性中,而不是capture()事件属性中。安全的事件属性包括message_length、form_type和布尔标记等元数据。 - 使用
atexit.register()注册posthog_client.shutdown,以确保退出时刷新所有事件 - Python SDK 没有
identify()方法——请使用posthog_client.set(distinct_id=user_id, properties={...})设置人员属性,或在上下文中使用identify_context(user_id)
识别用户
在登录和注册事件期间识别用户。请参考示例代码和文档,了解此框架的正确识别模式。如果同时存在前端和后端代码,请使用 X-POSTHOG-DISTINCT-ID 和 X-POSTHOG-SESSION-ID 标头传递客户端会话和 distinct ID,以保持关联。
错误跟踪
在相关文件中添加 PostHog 错误跟踪,尤其是在关键用户流程和 API 边界附近。
评论
支持 Markdown