Repository navigation
Releases: tszaks/pulse
Releases · tszaks/pulse
Release list
v0.1.1
What's new
5 new data types exposed via the Agent API:
- Geographic breakdown —
GET /v1/sites/:id/breakdown?type=country(also city, region) - Device/browser/OS breakdown —
?type=device,?type=browser,?type=os - Real-time active visitors —
GET /v1/sites/:id/active - Average session time —
GET /v1/sites/:id/time - Custom events —
?type=event(tracks events fired viawindow.umami.track())
Agent LLM pre-parsing support:
POST /v1/query now accepts an optional parsed field. If your agent's own LLM resolves the intent before calling Pulse, send it directly — Pulse skips its keyword parser and uses your result. No API keys needed on Pulse's side.
{
"domain": "yoursite.com",
"question": "what countries is my traffic coming from this month?",
"parsed": { "intent": "geo", "period": "30d" }
}New NL query patterns: country/city/geo, device/browser/OS, active/live/right now, time on page/session duration, events/clicks/custom.
v0.1.0 — Initial Release
Pulse v0.1.0
First release of Pulse — agent-native web analytics built on self-hosted Umami.
What's included
- Umami integration — self-host on Railway with Docker, Postgres-backed, GDPR-compliant
- Pulse Agent API — Fastify + TypeScript service wrapping Umami's REST API
POST /v1/query— natural language entry point for AI agentsGET /v1/sites/:id/metrics— structured metrics with WoW comparisonsGET /v1/sites/:id/insights— pre-computed weekly + monthly reportGET /v1/sites/:id/anomalies— z-score based traffic spike/drop detection- MCP-compatible — drop-in MCP server pattern included for Claude, Finn, and other agents
- One-line tracker — single
<script>tag per site, works with Astro, Next.js, vanilla HTML - LLM-optimized responses — every endpoint returns
summary+context_for_agentready to use in a reply
Stack
- Umami v3.1.0
- Node.js 20 + Fastify 4 + TypeScript
- Railway (hosting)
- Postgres 15
Deployment
See README for full Railway setup instructions.