
Cloudflare推出面向编码代理的产品分析工具
来源标题:Product analytics events, nearly too cheap to meter
该工具让开发者将应用事件采集到自己的Cloudflare账户,再同步到本地DuckDB文件,供编码代理直接分析。无需自建服务器,数据不离开用户账户,Cloudflare免费计划即可起步。目前已支持JavaScript和React Native SDK、HTTP、Segment与Sentry SDK,以及GitHub、Stripe和RevenueCat的webhook。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
为编码 agent 打造的产品分析,运行在你自己的 Cloudflare 账户里。
事件进入你的 Cloudflare 账户 → 你机器上的 DuckDB → 你的编码 agent
抓取来源
继续使用
即将推出
各标识为其所有者的商标,仅用于展示兼容性。
把事件带回自己的家。将应用事件采集进你自己的 Cloudflare 账户,同步到本地 DuckDB 文件,再把原始数据交给你的编码 agent 做产品分析和报告。
你的应用 ──► Worker + Durable Objects ──► R2 归档(在你的 Cloudflare 账户中)
│
slurp sync ◄────┘(经过校验,幂等)
│
▼
你机器上的 DuckDB ──► SQL、报告、你的编码 agent
无需运行服务器,数据不会离开你的账户。Cloudflare 免费计划就足以起步。
你的编码 agent 掌控整个流程:拉取数据、用 SQL 分析、撰写报告、交付修复,并更新埋点,让下一轮信号如期而至。目前支持 JavaScript 和 React Native SDK、HTTP、你已在使用的 Segment 和 Sentry SDK(含 Swift 和 Python),以及 GitHub、Stripe 和 RevenueCat webhook;图中其他输入(bug 报告、聊天、可读的崩溃堆栈、其他分析工具、更多 SDK)都在路线图上,见 Connections。
向你的 agent 提一个关于产品的问题。它会写一个 Markdown 文件:SQL、图表,以及用平实语言写成的发现。slurp report build 会把它变成一个可打开的页面、一张可发到 Slack 的 PNG,以及一份 PDF。下面是两个基于示例数据的例子(点击可打开在线版本):
第一个的源文件就是一个纯 Markdown 文件,格式说明见 reports。
按月美元费用,按每月事件数
1M
10M
50M
100M
1B
10B
Slurp,自托管于 Cloudflare
免费
$0.43
$7.96
$11.21
$42 到 $280
$420 到 $3,200
PostHog · Product Analytics
免费
$324.40
$1,528.40
$2,618.40
$11,618.40
$92,618.40
Mixpanel · Growth(按年计费)
免费
$840
联系销售
联系销售
联系销售
联系销售
Amplitude · Plus
免费
未公布
未公布
未公布
未公布
未公布
OpenPanel · Cloud(按月)
$90
$350
$900
定制方案
定制方案
定制方案
厂商价格取自其公开定价页面,时间为 2026 年 11 月 6 日;这些价格会变,决定前请核实。Mixpanel 按年计费。Amplitude 不公布付费事件价格,Mixpanel 和 OpenPanel 会把高用量导向销售。
Slurp 那一行是运行你自己的 Worker 所产生的 Cloudflare 账单,不是 Slurp 收费:每个请求 20 个事件,每个事件约存储 320 字节,保留 12 个月归档,按 Cloudflare 的标价计算(Workers 免费计划可覆盖到每天约 5 万请求)。1B 和 10B 的数字是区间,由每项目约每秒 5,000 个事件的负载测试外推而来,并非真实运行这些量级数月的结果;账单约三分之二是 R2 存储,所以事件大小和保留期影响最大。详见:docs/self-hosting.md。
一键即可把 Worker、Durable Objects 和 R2 存储桶部署到你的 Cloudflare 账户(你需要选一个 ADMIN_TOKEN)。然后打开 Worker 的地址:它会显示连接 CLI 的命令。或者全程在终端里完成(如果想从源码构建 CLI,见 Development):
1. 安装 CLI(macOS 或 Linux),然后部署你的 Worker(需要 Cloudflare 账户和 Node 20+)
curl -LsSf https://slurp.run/install | sh
或:npm install -g @hitslop/slurp
slurp cloud init # 登录、创建存储桶、部署 Worker、连接本机 slurp setup # 每台电脑执行一次:库文件夹和 DuckDB
2. 在你的应用中(npm install @hitslop/slurp-sdk 以便从代码中采集,或用 CLI 发送)
cd /path/to/your/app
slurp init --name "My app" # 连接此应用,打开其快速开始页面并显示你的密钥
slurp send signed_up --user-id demo_alice --data '{"demo":true}'
slurp sync --now # 发布 Worker 已缓冲的数据(admin token),然后导入
slurp sql 'SELECT event, count(*) AS n FROM events GROUP BY event'
每个项目是你 Worker 上的一个事件流(可有许多来源写入:一个网站、一个应用、一个 webhook),绑定到一个 DuckDB 文件,存在本地或外置硬盘。SQL、报告定义和项目元数据都和你的应用放在一起。不需要守护进程。分析使用 DuckDB 2.x。
无论走哪条路,最终都落到同一个地方:你的 Worker 持久地接收事件,slurp sync 可以在 Worker 下次发布归档后读取它(默认约 10 分钟,或通过 slurp sync --now 立即发布)。你无需手工创建端点和密钥:slurp init 会在 Worker 上创建你的项目及其第一个可发布密钥,并打印出 ingest URL 和该密钥。SDK 只需要这两个值。可发布密钥只能发送事件,所以在网页或应用里是安全的。slurp project setup PROJECT 会再次显示它们,slurp project key create PROJECT --scope publishable --source ios 可为每个来源(web、ios、github……)创建一个密钥,来源会以 sender 的形式标记在每个事件上。它们从哪里来。
即将推出,没有具体日期:第一方 Rust 和 Kotlin(Android)SDK,以及 CLI 中对 Sentry 堆栈的本地符号化。其他 Segment 和 Sentry SDK(Kotlin、Go、Cocoa、Android……)使用相同协议,理论上改一下 URL 就能用,但尚未测试,所以不作承诺。完整说明和限制:docs/sdks.md。
JavaScript SDK(浏览器和 Node,具备持久队列、批量发送和重试):
import { init, track, identify, flush } from '@hitslop/slurp-sdk';
init({
endpoint: 'https://slurp.YOUR-SUBDOMAIN.workers.dev/v1/events',
key: 'slurp_pk_…',
});
identify('user_42', { plan: 'pro' });
track('signed_up', { plan: 'pro' });
track('feedback', { message: 'Exporting a 4K video fails at 90%', rating: 2 }); // 反馈也只是另一个事件(或挂载即插即用组件:@hitslop/slurp-sdk/feedback)
await flush(); // 在脚本中,退出前发送队列中的事件
React Native / Expo:事件保存在 AsyncStorage 中,因此应用被杀也不会丢失,并在应用进入后台时发送:
(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。