OpenRouter 安全与可观测

OpenRouter 安全与可观测

PostHog

1 分钟阅读

PostHog

将追踪发送到 PostHog

PostHog 是帮助你理解用户行为的开源产品分析平台。借助 PostHog 的 LLM 分析,你可以跟踪和分析 AI 应用用量。

第 1 步:获取 PostHog 项目 API 密钥

在 PostHog 中,前往项目设置:

  1. 登录你的 PostHog 账户
  2. 前往 项目设置(Project Settings)
  3. 复制项目 API 密钥(以 phc_... 开头)

第 2 步:在 OpenRouter 中启用广播

前往 设置 > 可观测性(Settings > Observability),打开 启用广播(Enable Broadcast) 开关。

启用广播

第 3 步:配置 PostHog

点击 PostHog 旁的编辑图标,并填写:

  • Api Key:你的 PostHog 项目 API 密钥(以 phc_... 开头)
  • Endpoint(可选):默认为 https://us.i.posthog.com。欧盟区域请使用 https://eu.i.posthog.com

第 4 步:测试并保存

点击 测试连接(Test Connection) 验证配置。仅当测试通过时才会保存配置。

第 5 步:发送测试追踪

通过 OpenRouter 发出一次 API 请求,然后在 PostHog 控制台中查看 LLM 分析。

PostHog LLM 分析

自定义元数据

PostHog 接收的 LLM 分析事件会将自定义元数据作为事件属性包含在内。使用 trace 字段可为分析数据附加额外上下文。

支持的元数据键

OpenRouter 会将下列保留的 trace 字段映射到 PostHog 原生 $ai_* 属性, 这些属性驱动 PostHog 内置的 LLM 分析仪表盘。

PostHog 属性说明
trace_id$ai_trace_id用于归组相关事件的自定义追踪标识符
generation_name$ai_span_nameLLM 生成事件的名称

自定义属性透传

trace_name 会作为普通自定义属性 trace_name 转发(而不是 $ai_trace_name), 因此你可以在 PostHog 中按追踪名称筛选事件,而无需了解 PostHog 的 $ai_* 命名 约定。

trace 中不在上表内的其他键会以 metadata_<key> 形式转发(例如 featuremetadata_feature)。

嵌套深度上限: 自定义属性值最多支持 3 层嵌套。超过 3 层的值会被替换为 '[truncated]'。这有助于保持事件载荷紧凑,并降低 PostHog 的解析延迟。

示例

{
  "model": "openai/gpt-4o",
  "messages": [{ "role": "user", "content": "Recommend a product..." }],
  "user": "user_12345",
  "session_id": "session_abc",
  "trace": {
    "trace_name": "Product Recommendations",
    "generation_name": "Generate Recommendation",
    "feature": "shopping-assistant",
    "ab_test_group": "variant_b"
  }
}

上述请求会生成带有以下属性(以及其他属性)的 $ai_generation 事件:

PostHog 属性
trace_name"Product Recommendations"
$ai_span_name"Generate Recommendation"
metadata_feature"shopping-assistant"
metadata_ab_test_group"variant_b"

补充说明

  • user 字段会映射到 PostHog 的 distinct_id,用于用户级 LLM 分析
  • session_id 字段会映射到 $ai_session_id,用于会话归组
  • PostHog 的 LLM 分析仪表盘会自动跟踪 Token 用量、费用和模型表现

隐私模式

当该目标端启用 隐私模式 时,事件中会排除 $ai_input$ai_output_choices 属性。其余分析数据——Token 用量、费用、模型信息以及自定义元数据——仍会正常发送。