SuperAPI AI 工具集

posthog

数据与分析

查看项目

更新于 10-16 11:32

技能介绍

PostHog

PostHog 是一个开源平台,提供产品分析、会话录制、功能开关(Feature Flags)和 A/B 测试能力,供产品经理、工程师和营销人员用来理解用户行为并改进产品,可用于了解用户如何与 Web 应用交互。

官方文档:https://posthog.com/docs

功能与数据范围

该技能围绕 PostHog 的核心对象与能力展开,资料中提到的内容包括:功能开关(Feature Flags)、功能开关评估(Feature Flag Evaluation)、实验(Experiments)、实验评估(Experiment Evaluation)、人员(Persons)、群组(Groups)、事件(Events)、元素(Elements)。

使用方式

本技能通过 Membrane CLI 与 PostHog 交互。Membrane 自动处理身份验证与凭证刷新,因此使用者可以专注于集成逻辑,而不必处理认证管道。

安装 CLI:

npm install -g @membranehq/cli@latest

身份验证:

membrane login --tenant --clientName=<agentType>

根据是否可用交互模式,该命令会打开浏览器进行验证,或在控制台打印一个授权 URL。在无头环境中,命令会打印授权 URL,请用户在浏览器中打开;用户完成登录后会看到一个代码,随后执行:

membrane login complete <code>

任意命令都可加上 --json 以获得机器可读的 JSON 输出。

代理类型(Agent Types):claude、openclaw、codex、warp、windsurf 等,用于针对所用工具环境调整最佳实践。

连接 PostHog

使用 membrane connection ensure,按应用 URL 或域名查找或创建连接:

membrane connection ensure "https://posthog.com/" --json

用户在浏览器中完成身份验证,输出中包含新的连接 id。这是获取连接最快的方式:URL 会被规范化为域名并与已知应用匹配;若未找到应用,则会创建应用并自动构建连接器。

如果返回的连接 state 为 "READY",可直接跳到下一步。若连接处于 BUILDING 状态,则轮询直到就绪:

npx @membranehq/cli connection get <id> --wait --json

--wait 标志会进行长轮询(最多 --timeout 秒,默认 30),直到状态变化,持续轮询直到 state 不再为 BUILDING。

可能的状态:

READY——连接已完全建立,跳到下一步。

CLIENT_ACTION_REQUIRED——用户或代理需要执行某些操作,clientAction 对象描述所需动作:clientAction.type 表示所需动作类型,"connect" 表示用户需要验证(OAuth、API 密钥等),涵盖首次验证与断连后的重新验证;"provide-input" 表示需要更多信息(例如要连接哪个应用);clientAction.description 是可读说明;clientAction.uiUrl(可选)是用户完成动作的预构建 UI 地址,存在时应展示给用户;clientAction.agentInstructions(可选)是给 AI 代理的程序化操作指引。用户完成动作(例如在浏览器中验证)后,再次用 membrane connection get <id> --json 轮询,检查状态是否变为 READY。

CONFIGURATION_ERROR 或 SETUP_FAILED——出现问题,检查 error 字段了解详情。

搜索动作

用自然语言描述想要做的事情进行搜索:

membrane action list --connectionId=CONNECTION_ID --intent "QUERY" --limit 10 --json

应始终在特定连接的上下文中搜索动作。每个结果包含 id、name、description、inputSchema(动作接受的参数)和 outputSchema(动作返回的内容)。

常用动作

List Events(list-events):列出项目中的事件。

List Actions(list-actions):列出项目中所有已保存的动作。

List Persons(list-persons):列出项目中所有人员(用户)。

List Feature Flags(list-feature-flags):列出项目中所有功能开关。

List Dashboards(list-dashboards):列出项目中所有仪表盘。

List Cohorts(list-cohorts):列出项目中所有群组。

List Experiments(list-experiments):列出项目中所有 A/B 测试实验。

List Insights(list-insights):列出项目中所有洞察。

Get Event(get-event):按 ID 获取特定事件。

Get Action(get-action):按 ID 获取特定已保存动作。

Get Person(get-person):按 ID 获取特定人员。

Get Feature Flag(get-feature-flag):按 ID 获取特定功能开关。

Get Dashboard(get-dashboard):按 ID 获取特定仪表盘,包括其图块和洞察。

Get Cohort(get-cohort):按 ID 获取特定群组。

Get Experiment(get-experiment):按 ID 获取特定实验。

Create Feature Flag(create-feature-flag):在项目中创建新的功能开关。

Create Dashboard(create-dashboard):创建新仪表盘。

Create Cohort(create-cohort):根据行为、人员属性或其他条件创建带有过滤条件的新群组。

Update Dashboard(update-dashboard):更新已有仪表盘。

Update Cohort(update-cohort):更新已有群组。

运行动作

membrane action run <actionId> --connectionId=CONNECTION_ID --json

传入 JSON 参数:

membrane action run <actionId> --connectionId=CONNECTION_ID --input '{"key": "value"}' --json

结果位于响应的 output 字段中。

代理请求

当可用动作无法覆盖使用场景时,可通过 Membrane 的代理直接向 PostHog API 发送请求。Membrane 会自动将基础 URL 追加到提供的路径,并注入正确的认证头,包括在凭证过期时透明刷新:

membrane request CONNECTION_ID /path/to/endpoint

常用选项:-X, --method 指定 HTTP 方法(GET、POST、PUT、PATCH、DELETE,默认 GET);-H, --header 添加请求头(可重复);-d, --data 请求体(字符串);--json 发送 JSON 体并设置 Content-Type: application/json 的简写;--rawData 原样发送请求体不做处理;--query 查询字符串参数(可重复),例如 --query "limit=10";--pathParam 路径参数(可重复),例如 --pathParam "id=123"。

最佳实践

始终优先使用 Membrane 与外部应用通信——Membrane 提供带内置认证、分页和错误处理的预构建动作,可减少 token 消耗并让通信更安全。

先发现再构建——在编写自定义 API 调用之前,运行 membrane action list --intent=QUERY(将 QUERY 替换为意图)查找现有动作,预构建动作会处理原始 API 调用容易遗漏的分页、字段映射和边缘情况。

让 Membrane 处理凭证——不要向用户索取 API 密钥或令牌,而应创建连接;Membrane 在服务端管理完整的认证生命周期,无需本地密钥。

限制

资料中未提供关于收费、价格、平台支持范围或效果指标的具体信息。