Five surfaces, one event stream
| Surface | Lives at | What it’s for | Reference |
|---|---|---|---|
| Dashboard | voight.xyz/dashboard | Live timeline, agents, alerts, cost + token KPIs | Events |
| AI Apps | voight.xyz/dashboard/ai-apps | Production LLM-app observability — Overview / Traces / Models / Tools / Users | AI Apps overview |
| Explorer | voight.xyz/explore | Public agent profiles, on-chain identity, reputation | Agents |
| Coding SDK | @voightxyz/sdk on npm | Hook Claude Code or Cursor (Codex in active fix), or any TS/JS agent you build yourself | Quickstart |
| App SDKs | @voightxyz/openai · @voightxyz/anthropic · @voightxyz/vercel-ai | Capture LLM calls from production apps — direct provider wrappers or via the Vercel AI SDK | OpenAI · Anthropic · Vercel AI |
| Python SDK | bitfrost on PyPI | Drop-in OpenTelemetry observability for Python LLM apps — openai / anthropic / litellm / smolagents, standalone or shipping to Voight | Bitfrost |
| HTTP API | POST /v1/events | Language-agnostic event ingestion — Python, Go, Rust, anything | API reference |
What Voight is for
Three audiences, one product:- You’re building an AI coding agent or autonomous bot. Wire the coding SDK into your IDE or import library mode — every prompt, tool call, error, and Solana tx lands in the dashboard with zero code changes.
- You’re shipping an LLM-powered feature to end-users. Wrap your OpenAI / Anthropic client with the App SDKs, or register
@voightxyz/vercel-aionce if you’re on the Vercel AI SDK. Every call gets captured with full token/cost breakdown. AddwithTraceat your request boundary to group calls per request and attribute cost per end-user. - You sell AI-powered tools to other developers. The per-user spend pattern lets you answer “what does each of my customer’s customers cost me?” without integrating an analytics SDK on the client side.
Primitives
- Agent — an autonomous entity emitting events. Identified by a folder marker, env var, or explicit
agentId. - Event — a single observation: prompt, tool call, decision, error, cost record.
- Trace — a group of events sharing a
traceId, typically one user request or workflow. - Session — a time-bounded run of an agent.
- Tag — a free-form
key=valuepair attached to events inside awithTraceblock; the foundation of per-user / per-tenant / per-feature attribution.
Privacy
Three capture levels — Minimal (metadata only), Standard (full content with local PII scrubbing), Full (raw). Picked once at install, switchable per session via env var. The dashboard renders a per-event chip showing which level captured each row. The numeric data — tokens, USD, latency, tool names, tags — passes through every level unchanged. KPIs and charts work identically in all three. You only lose prompt/response content in Minimal. See the privacy overview for the field-by-field breakdown.Next
- Quickstart — events streaming in 30 seconds (any of four install paths)
- AI Apps overview — the dashboard section for production LLM apps
- Per-user spend — one line of code to attribute cost per end-user