PostHog Query

通过 CLI 查询 PostHog 产品分析数据,支持 SQL 语法获取页面浏览、事件统计等信息。

已扫描
适合谁
产品经理、数据分析人员
不适合谁
无 PostHog 账号权限者、不熟悉 SQL 的普通用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @quinlanjager/posthog-query

Skill 说明

命令、参数、文件名以原文为准

PostHog 查询技能

通过 CLI 运行 HogQL(兼容 ClickHouse 的 SQL)查询,直接对接 PostHog。

一次性设置

posthog-cli login  # 交互式认证;令牌将保存在 ~/.posthog/credentials.json

需要 API 密钥权限:query:read

命令

posthog-cli exp query run "<SQL>"

查询结果以 JSON 行的形式输出到标准输出。CLI 会从 ~/.posthog/credentials.json 读取认证信息(通过 posthog-cli login 设置)。

属性访问语法

事件属性使用方括号语法——点号加引号键名的写法不适用:

-- ✅ 正确
properties['$current_url']
properties['$browser']

-- ❌ 错误
properties.'$current_url'

示例

统计所有页面浏览量:

posthog-cli exp query run "SELECT count() as pageviews FROM events WHERE event = '\$pageview'"

按 URL 筛选:

posthog-cli exp query run "SELECT count() as pageviews FROM events WHERE event = '\$pageview' AND properties['\$current_url'] LIKE 'https://example.com/%'"

7 天每日趋势:

posthog-cli exp query run "SELECT toDate(timestamp) as date, count() as pageviews FROM events WHERE event = '\$pageview' AND timestamp >= now() - INTERVAL 7 DAY GROUP BY date ORDER BY date"

最近的事件:

posthog-cli exp query run "SELECT event, timestamp FROM events ORDER BY timestamp DESC LIMIT 10"

其他子命令

  • posthog-cli exp query editor — 交互式查询编辑器
  • posthog-cli exp query check "<SQL>" — 不执行查询,仅检查语法和类型
  • run 命令后添加 --debug 可获取完整的 JSON 响应(包含列信息、类型、缓存状态等)

注意事项

  • HogQL 是兼容 ClickHouse 的 SQL,标准 ClickHouse 函数均可用
  • 在事件名称中 shell 转义 $:使用 '\$pageview' 或谨慎使用双引号
  • --debug 标志会返回完整元数据,包括列类型和缓存状态
Q
@quinlanjager

已收录 1 个 Skill

相关推荐