Core concepts

The handful of objects everything else in ChatPlotDB is built from: connections, configs, threads, and credits.

Connection

A connection is one data source you have registered: a PostgreSQL or MySQL database, a DynamoDB table set, or an uploaded file. Credentials are encrypted at rest and never returned to the client.

One connection is marked default, so a new chat lands on it without you choosing. Connections belong to you personally or to an organization: a personal one can be migrated to an org later.

Config

A config is the semantic layer over a connection: which tables matter, how they join, what your team's words mean, and which metrics are defined how. It is stored as YAML and versioned, so switching the active version is a rollback.

This is the part that makes answers repeatable. Without it the agent infers your schema's intent from column names; with it, "net revenue" has exactly one definition. See the YAML reference.

Thread

A thread is one conversation. It is pinned server-side to the model that answered it, picking a different model starts a new thread, and the old one stays in your history.

Threads carry their own attached files and can be shared as read-only public snapshots.

Data modes

ModeWhat it queries
DatabaseOne SQL connection
FileAn uploaded CSV or Excel file, via DuckDB
HybridA file attached to a database chat: both sources in one thread
StitchedTwo to five databases composed into one conversation

Credits

Usage is metered in credits rather than raw tokens, with a flat cost per action (a chat turn, a config generation, a web search). The Usage and Cost page shows the real number per turn. Your remaining balance also rides on API responses. See Usage.

On this page