Own your AI data.
HypStack is an open-source AI observability stack. Trace coding-agent work, token usage, and team workflows in one place. Collect with OpenTelemetry, store as Apache Iceberg in your own bucket, query it from the browser. Your traces never pass through a vendor you don’t control.
1,000× cheaper than an always-on search or vector engine, measured on 3,199,860 real conversations$ npm install -g hypaware $ hyp init # starts the daemon $ hyp query sql "SELECT content_text FROM ai_gateway_messages WHERE role = 'user' LIMIT 10"
Capture every trace with HypAware.
HypAware records AI-agent and application telemetry into files you can query. Run it as a transparent proxy in front of your LLM provider, accept OTLP from your services, or pipe in your agent session transcripts. Everything lands as Iceberg in your bucket.
Proxy capture
Full request/response and SSE event recordings for Claude Code, Codex, Anthropic, and OpenAI-compatible APIs. Point your agent at the proxy and keep the same code.
OTLP ingest
Accept OpenTelemetry traces, metrics, and logs over HTTP. Normalized to JSONL by signal and service. Standard pipes in, queryable tables out.
Agent transcripts
Ingest transcripts from Claude Code, Codex, and other agents. One queryable row per content block, with agent identity, model, tokens, and cost attached.
Local SQL
Iceberg-backed hyp query over logs, traces, metrics, proxy_messages, and any JSONL you register.
Operations path
Export to local Parquet, archive daily snapshots to S3, or run Gateway / Central server deployments when many hosts need one control plane.
Runs on your machine
Standalone mode keeps config, recordings, and query cache on the machine. Ship to a bucket when you’re ready, not before.
The pieces it’s built from.
Each library is independent, MIT licensed, and useful on its own. They compose into HypStack, and into anything else you’re building in the browser, on Node, or against your data lake.
A pure-JS Parquet parser. Zero dependencies, every type and codec, HTTP range requests so you only fetch the bytes you need.
Read and write Iceberg v1/v2/v3 tables from JS. SQL over Iceberg, file or REST catalogs. Built on hyparquet.
The companion writer to hyparquet. Stream rows out as standards-compliant Parquet, no native binaries required.
Full SQL over async data. Cell-level lazy evaluation, async UDFs that can call models, 13 kb minified, zero dependencies.
Build a compact index for a Parquet dataset on S3. Query it directly from a browser via HTTP range requests. No server needed.
Treat a Parquet file as a vector database. Exact and approximate similarity search over HTTP range requests, straight from the browser or Node.
Measured on real data.
Search and semantic retrieval over 3,199,860 real LLM conversations (WildChat-4.8M), run against the same data on every engine. No server, no cluster. The index lives in object storage and compute happens in the client.
| Engine | Index size | Warm query (p50) | All-in / mo | Server |
|---|---|---|---|---|
| hypgrep | 1.20 GB | 237 ms | ~$0.33 | none |
| Elasticsearch | 27.2 GB | 66 ms | $371 | r5.2xlarge 24/7 |
| Quickwit | 28.8 GB | 133 ms | $63 | t3.large 24/7 |
| Athena | none | 5,490 ms | $0.065/query | serverless |
| Engine | Storage | Recall@10 | Query | All-in / mo | Server |
|---|---|---|---|---|---|
| hypvector | 13.7 GB | 0.925 | 147 ms | ~$0.32 | none |
| Pinecone | 13.1 GB | 0.920 | 85 ms | $50 min | managed |
| turbopuffer | 13.1 GB | 0.915 | 198 ms | $16 min | managed |
| S3 Vectors | 13.1 GB | 0.905 | 133 ms | ~$0.79 | serverless |
| pgvector | 41.9 GB | 0.870 | 80 ms | $372 | r5.2xlarge 24/7 |
| Qdrant | 13.1 GB | 0.865 | 70 ms | $186 | r5.xlarge 24/7 |
The always-on engines keep a hot index in RAM and answer fast, but that box runs 24/7 whether you query it once a day or ten times a second. HypStack has no box: the index lives in object storage and compute happens in the client, so you pay for storage and per-query reads, nothing idle. Every competitor was queried over the network, the way they're actually deployed.
From agent traffic to answers.
Three steps, each handled by an open piece of the stack. Run HypAware to capture your traces, keep them as Iceberg in your own bucket, then explore them in Hyperparam.
Point your agents and services at HypAware. It sits in front of your LLM provider and records every request and response, and it accepts OpenTelemetry traces from the rest of your stack.
HypAware writes those traces to Apache Iceberg tables in object storage you own. Standard columnar files, an open format, queryable by any engine. No proprietary database in the path.
Open Hyperparam and point it at your bucket. It reads the Iceberg tables directly in the browser, so you can search, filter, and inspect millions of traces without standing up a warehouse.