Describe a dashboard, an alert or a report. Let the agent build it.

Self-hosted. Your data sources, your model, your server.

Every query is test-run before you see it. Pinned dashboards open with no model involved.

thread · checkout

You ask: What happened to checkout yesterday around 14:00?

thinking… plan ready · 3 queries test-ran

Plan · 3 panels

  1. Checkout error rate sum(rate(http_requests_total{service="checkout",code=~"5.."}[5m])) query ran · 212 ms
  2. p95 latency histogram_quantile(0.95, rate(http_duration_bucket{service="checkout"}[5m])) query ran · 148 ms
  3. Deploys select at, version from deploys where service = 'checkout' query ran · 9 ms
Checkout errors 5xx % p95 latency
0% 2% 4% 6% 13:00 13:30 14:00 14:30 15:00 deploy v2.14 rollback
3 panels · last 2 h, yesterday Pinned

Run it

One Docker image, for linux/amd64 and linux/arm64.

docker run -d --name quanthea -p 3000:3000 \
  -v quanthea-data:/data \
  -v quanthea-keys:/keys \
  ghcr.io/jboix/quanthea

The first start creates the user admin and writes its password to the log, once:

docker logs quanthea 2>&1 | grep password

Sign in at http://localhost:3000 as admin with that password. quanthea then asks for your own email and password. To declare users, sources and the model in a file, see the deployment guide.

How it works

  1. Ask

    Start a thread and say what you want to see, in your own words. "Yesterday around 14:00" means 14:00 where you are.

  2. Approve the plan

    The agent proposes the panels and their queries before it builds anything. You approve, or ask for changes.

    The agent proposes a plan: three panels with their queries, to approve before it buildsThe agent proposes a plan: three panels with their queries, to approve before it builds
  3. Watch it build and refine

    Each query is test-run against your source as the dashboard appears beside the thread. Ask for changes in the same thread, and mention a panel with @ to change just that one.

    The thread beside the dashboard the agent built, with each query test-runThe thread beside the dashboard the agent built, with each query test-run
  4. Pin to the library

    Pinned dashboards go to the library: versioned, searchable by panel and query, and shown without any model.

    The library of pinned dashboards, searchable by panel and queryThe library of pinned dashboards, searchable by panel and query

When the model runs

Only when you build, ask a question or have a panel explained. Nothing runs in the background.

  1. Building and asking

    model tokens
    1. You
    2. Agent
    3. Model
    4. Gate
    5. Query
    6. Sources

    Building a dashboard, an alert or a report in a thread, asking about a dashboard, and explaining a panel use your model. It sees only what the access gate returns.

  2. Dashboards, alerts and reports

    no model · 0 tokens
    1. Pinned or active
    2. Query
    3. Sources

    Opening a pinned dashboard, checking an alert and running a report use no model. They cost no tokens, and keep working when the model is down.

A pinned dashboard: errors rise after a deploy marker and fall after the rollbackA pinned dashboard: errors rise after a deploy marker and fall after the rollback

Features

Data sources

14 sources out of the box, read with read-only credentials.

  • Prometheus
  • Loki
  • InfluxDB
  • PostgreSQL
  • TimescaleDB
  • MySQL
  • MariaDB
  • ClickHouse
  • Trino
  • Elasticsearch
  • OpenSearch
  • Valkey
  • MongoDB
  • HTTP APIs
  • + your own, as a plugin

Security

Free. You host it.

MIT licensed, every feature included. You pay for your server and your model's tokens.

See pricing