PrelaunchGet early access. Sign up free →RoadmapYour agents, analysed by ours. Learn more →
AgentSightAgentSight
01Overview

Not just analytics, the database. Your agent’s conversations, structured, kept, and queryable by you or readable by the client who paid for it.

Analytics for your AI agents, and for your clients.

AgentSight is where your agent’s conversations live, every message, tool call and model call, kept as data you can query. Then it hands that data to your client: as a dashboard on your own subdomain, embedded in your product, or through the API so you can draw it inside your own UI.

conversation_store

Store

conversations
4,116
messages
128,402
tool & task calls
31,884
llm calls
47,201
raw otel spans
212,940

Kept as structured data, not as a rendered report.

In

  • Python SDKconversations, turns, messages
  • Auto-captureevery LLM call, any provider
  • Decoratorstools and tasks, timed
  • REST · importyour existing history

Out, and who opens it

  • Dashboardyou and your client
  • yourclient.agentsight.ioyour client, your brand
  • Embedyour client, inside your product
  • Query APIyou, render it yourself
FIG. 1What goes in, and who gets to open it. The dashboard is one of four ways the same data reaches your client.
02The gap

Developer observability tools were built for you, not for the person who paid for the agent.

You built the agent. Your client has no idea whether it’s working.

So every month you screenshot metrics into a slide deck, a manual ritual that tells nobody anything about the days in between.

Neither do you, not until they complain. And when the message finally arrives, “the bot has felt off lately”, there is no conversation attached to it, no date, and nothing you can reproduce.

How it arrives today

MJ
Maya J.Tue, 14:02

“The bot has felt off lately.”

  • no conversation
  • no date
  • no reproduction

With AgentSight

03The loop

The hard part was never watching the metrics move. It is turning what your client tells you into a better answer next time.

From conversation, to complaint, to fixed.

  1. 01

    Instrument

    • Python SDK
    • Auto-capture
    • REST API
    • JSON import
  2. 02

    Present

    • White-label subdomain
    • Embedded dashboard
    • Viewer role
    • Field-level flags
  3. 03

    Analyse

    • 5 KPI cards, 11 charts
    • Full transcripts
    • Cost & token usage
    • PDF reports
  4. 04

    Act

    • Feedback
    • Tickets
    • Discussion
    • Resolution

Step 4 feeds back into step 1: you ship the fix, and the loop begins again.

FIG. 2The product loop. Four stages, and a return path.
04Instrument

Verify before you send: AGENTSIGHT_FILE_EXPORTER writes spans to a directory instead of transmitting them.

Six lines. Your agent unchanged.

init(), then a conversation and a turn. Everything inside, tool calls, model calls, token counts, cost, latency, is captured without being mentioned.

A model call records the accounting only: token counts, model ids and timings. What reaches a transcript is what you record yourself, and field flags decide what a client sees of it.

Read the developer guide
agent.pykey read from the environment
import agentsight

agentsight.init()

with agentsight.conversation("wa-3859"):
    with agentsight.turn():
        agentsight.user_message("Where is my order?")
        response = agent.run(…)        # unchanged
        agentsight.agent_message(str(response))
FIG. 3The whole integration, verbatim from the docs. Your agent call is untouched.

OpenAI and Anthropic calls are patched directly. LangChain and LlamaIndex catch whatever they route through. Anything else, Gemini, Bedrock, Vertex, a self-hosted model, is covered through wrap() or a framework integration. Including the evaluator, router and classifier calls nobody hand-tracks, which is usually where surprising cost hides.

05Present

The same store feeds every surface below: a dashboard, an embed, a subdomain, the API. What a client sees of it is a decision you make, not a default you inherit.

We are your agent’s database, and the one your client gets to open.

Every conversation your agent has is kept as structured data, messages in order, the tools and model calls that produced each answer, timings, tokens and cost. Query it yourself over a REST API, no lock-in and no export ticket, or hand it to your client as a dashboard, an embed, or their own branded subdomain.

Your API call
GET /api/token-usage/summary/?group_by=day{  "group_by": "day",  "currency": "USD",  "results": [    { "group": "2026-08-24",      "total_tokens": 34160, "calls": 14,      "cost_usd": "0.53200000" },    { "group": "2026-08-25",      "total_tokens": 46360, "calls": 19,      "cost_usd": "0.72200000" },    { "group": "2026-08-26",      "total_tokens": 36600, "calls": 15,      "cost_usd": "0.57000000" },    { "group": "2026-08-27",      "total_tokens": 53680, "calls": 22,      "cost_usd": "0.83600000" },    { "group": "2026-08-28",      "total_tokens": 43920, "calls": 18,      "cost_usd": "0.68400000" },    { "group": "2026-08-29",      "total_tokens": 58560, "calls": 24,      "cost_usd": "0.91200000" },    { "group": "2026-08-30",      "total_tokens": 39040, "calls": 16,      "cost_usd": "0.60800000" }  ]}
Your dashboardusage · this week
128Calls
$4.86Cost
312kTokens
FIG. 4The same usage data, queried from the API and drawn with your own components, no AgentSight interface involved.

Your client never has to leave your product.

A white-labelled client subdomain, signed in as a Viewer
FIG. 5A white-labelled subdomain. Logo, name and primary colour are the tenant's; the chart palette is theirs too, set per theme.
The AgentSight dashboard mounted inside a host product's own content area, with the host's nav and sidebar visible around it
FIG. 6The same dashboard mounted inside a host product, on its own origin. Tickets are off until deliberately enabled.

One dashboard, as many brands as you have clients.

Separate light and dark logos, separate light and dark primary colours, and eight chart slots set per theme, the first follows the brand primary, the other seven are yours to recolour. Your client sees only their own data.

Edit any swatch, both themes are set independently.

Your client’s brandlight

Slot 1 tracks the primary colour.

Your client’s branddark

Slot 1 tracks the primary colour.

The monthly report writes itself.

Save a dashboard snapshot as a named report with its date range and metrics intact, then export a PDF from a per-agent template. Every card and chart earns a page, KPIs, trends, cost, engagement, with sentences that fill themselves in from that period’s own numbers. The deliverable that used to be a hand-built slide deck, generated instead of assembled.

An exported client report PDF, first page, with the Key Metrics summary
FIG. 7An exported client report, first page.
See every way to hand it over
06Analyse

Five KPI cards and eleven charts, with exactly where each value comes from listed on the analytics page.

Every card and chart, on one dashboard.

Drag-and-drop layout, filtered by date range and environment, free on every plan. The raw OpenTelemetry spans underneath are kept and readable over the REST API, exact parent/child structure, per-call durations, tool arguments and responses. Analytics cover production only, so your development traffic never lands in your client’s report.

The AgentSight analytics dashboard: five KPI cards and eleven charts, with the sidebar
FIG. 8The dashboard as your client sees it. Drag-and-drop layout, filtered by date range and environment.
See where every number comes from
07Act

Read the thread bottom to top and you have the entire incident: what broke, why, what shipped, and who confirmed it.

FIG. 9A ticket, anchored to conv_8f2a1c, mid-flight.

Now it’s a ticket, tied to the exchange.

Your client’s complaint used to be a Slack message saying the bot felt off lately. Now it is a ticket, linked to the conversation, with a priority and a thread.

  • Anchored toone exchange
  • Promoted fromfeedback
  • Roles labelleddev / reporter
  • Reachable from3 surfaces
How the loop works
09On the roadmap

Listed here so you know where this is going. None of it is live yet, nothing on this page depends on it.

Your agents, analysed by ours.

Not yet shipped

Reading every conversation does not scale, and the ones worth reading are the ones you would never think to open. We are building a layer that reviews them for you, scoring conversation quality, flagging the exchanges that went wrong, and drafting the ticket with the conversation already attached.

  • Conversation quality scoringplanned
  • Failure and root-cause clusteringplanned
  • Anomaly detection on cost, latency, escalationsplanned
  • Suggested tickets from bad exchangesplanned
10Comparison

The ✗ on trace debugging is deliberate. It is what makes the rest of the column credible.

Keep your observability tool. This one is for your client.

CapabilityAgentSightDev observability
Client dashboard access✓✗
White-label / own subdomain✓✗
Embeddable in your product✓✗
Client→dev tickets on a conversation✓✗
Feedback with sentiment✓✗
Client-ready PDF reports✓✗
Engagement & behaviour analytics✓✗
Token & cost tracking✓✓
Raw trace data via API✓✓
Trace debugging UI✗✓
11Pricing

Tickets stay free on every tier. They are the reason a client keeps opening the dashboard.

Free to start. Paid to hand over.

Prices are not final. The plan structure is settled; the numbers are being confirmed before launch, see the full comparison on pricing.

12Questions

Anything not answered here is in the docs, or ask us directly on a demo call.

Common questions.

What is AgentSight?

Analytics for AI agents that you can hand to your clients, one dashboard for engagement, quality and cost, plus a ticket loop so their feedback reaches you. Underneath it is a conversation store you can query directly.

How do I connect my agent?

pip install agentsight, an API key in the environment, then init() and two context managers. Model calls made inside a turn are captured with no extra code.

Do you see our prompts?

No. A model span records token counts, model ids and timings only, never prompt or completion text. What reaches a transcript is only what you explicitly record with user_message() and agent_message(), and you can inspect the exact payload yourself before anything is transmitted.

Can my client open tickets?

Yes, from the dashboard, your branded subdomain, or the embed. In the embed tickets are off by default and turning them on is a deliberate decision, since existing threads were written when the board was internal-only.

Can I white-label it?

Yes. Your subdomain, your logo and colours in light and dark, with per-chart and per-field control over what a viewer sees.

Can I query the data myself?

Yes. Conversations, messages, action logs, usage rows and the raw OpenTelemetry spans are all readable over the REST API, with pagination and typed errors. No lock-in and no export ticket.

Does test traffic pollute my client's reports?

No. Analytics reports cover production only, by decision. Development mode gets a lightweight tracking probe instead.

Can I bring existing history?

Yes, import conversation history from a JSON export, so your client's dashboard does not start at zero.

13

Wrap it in an afternoon. Hand it over the same day.

  • Full dashboard on the free plan
  • No card required
  • Model spans never carry prompts