Storage Backends — vector + relational
Dual-track storage keeps embeddings and relational metadata side-by-side. Swap the backend as your deployment grows.
LanceDB + SQLite
defaultBuilt-inPostgreSQL (pgvector)
postgresqldatus-storage-postgresqlMilvus
milvusPlugin (v0.2.6)Embedding Providers for context recall
Vectorize schemas, docs and metrics for semantic search. Mix cloud embeddings with local models to balance quality, cost and privacy.
OpenAI Embeddings
1536 / 3072sentence-transformers
384Multilingual E5
1024BGE (zh / en)
1024storage:
# Database metadata embedding (cloud)
database:
registry_name: openai
model_name: text-embedding-3-small
dim_size: 1536
# Document embedding (local, multilingual)
document:
model_name: intfloat/multilingual-e5-large-instruct
dim_size: 1024
# Metric embedding (local, fast)
metric:
model_name: all-MiniLM-L6-v2
dim_size: 384Semantic Layer adapters
Bring your metric definitions into the agent's context. MetricFlow ships today; more adapters can be registered through Python entry points.
MetricFlow
datus-semantic-metricflowpip install datus-semantic-metricflowlist_metrics(path, limit, offset)— Enumerate metrics available in the semantic project.get_dimensions(metric_name, path)— List every dimension a metric can slice by.query_metrics(metrics, dimensions, ...)— Run metric queries with filters, time range and where clauses.validate_semantic()— Validate the semantic configuration end-to-end.
Register your own adapter via [project.entry-points."datus.semantic_adapters"].
BI Platform Copilot
Point Datus at an Apache Superset dashboard and it extracts every chart's SQL, builds a semantic model and emits two ready-to-use subagents — one for query, one for attribution analysis.
Tableau, PowerBI and Looker adapters are on the roadmap.
# Deploy Superset + Postgres
helm upgrade --install superset superset/superset \
-f examples-values.yaml
# One-shot: dashboard -> subagents
datus-agent bootstrap-bi --database supersetMCP Protocol — client & server
Datus speaks Model Context Protocol in both directions. Consume any external MCP server, or expose Datus's own database and context-search tools to Claude, Cursor and other MCP hosts.
MCP Client
.mcp add with stdio, http or sse transports.Config lives in ~/.datus/conf/.mcp.json.MCP Server
datus-mcp in static or dynamic mode. Static serves one namespace, dynamic routes multiple namespaces by URL path.Exposes 8 database + 8 context-search tools out of the box.Agent Skills & Marketplace
Modular capability packs (v0.2.5) following the agentskills.io spec. Discover, install and publish skills from the built-in marketplace.
Bash Skills
Function Skills
Isolated Subagent Skills
# Authenticate to the marketplace
datus skill login --marketplace http://datus-marketplace:9000
# Discover & install
datus skill search sql
datus skill install sql-optimization
# Publish your own
datus skill publish ./skills/my-skill --owner murphyObservability & optional tools
Trace every LLM call, augment platform docs with web search, or debug prompts locally as YAML.
| Tool | Purpose | Configuration |
|---|---|---|
| LangSmith | LLM call tracing & debugging | LANGSMITH_TRACING=true · LANGSMITH_API_KEY · LANGSMITH_PROJECT |
| Langfuse | Agent + tool full-chain tracing (OTel / OpenInference) | LANGFUSE_PUBLIC_KEY · LANGFUSE_SECRET_KEY · LANGFUSE_HOST |
| LLM Trace | Local YAML dump of prompts and completions | --save_llm_trace → {agent.home}/trajectory/ |
| Tavily | Web-search fallback for platform documentation | TAVILY_API_KEY |
| GitHub Token | Rate-limit-safe pull of platform docs from GitHub | GITHUB_TOKEN |
Frequently asked questions
Storage, embeddings, semantic layers, MCP, BI copilot, and how databases and models fit in.
Where do databases and models fit in?
Datus ships native database adapters covering the full range from SQLite to Snowflake, plus first-party LLM providers and any OpenAI-compatible endpoint. This page covers everything else you can plug in — storage backends, embeddings, semantic layer, BI copilot, MCP, skills, and observability.
Can I run Datus entirely on my laptop?
Yes. The default storage backend is LanceDB (vector) plus SQLite (relational), with zero configuration required. Data is written to data/datus_db_<namespace>/. Swap to PostgreSQL (pgvector) or Milvus as your deployment grows, without changing application code.
Is MetricFlow the only supported semantic layer?
MetricFlow is the only shipped adapter today, but the semantic layer is plugin-architected via Python entry points. You can register your own adapter alongside datus-semantic-metricflow through [project.entry-points."datus.semantic_adapters"] and expose it to the agent's context.
Which BI platforms are supported for Dashboard Copilot?
Apache Superset is supported today. Datus reads a dashboard, extracts every chart's SQL, builds a semantic model and emits two subagents — GenSQL for querying and GenReport for attribution and root-cause. Tableau, PowerBI and Looker adapters are on the roadmap.
What's the difference between MCP Client and MCP Server?
MCP Client lets Datus consume external MCP tools over stdio, http or sse transports. MCP Server exposes Datus's own database and context-search tools to any MCP-compatible host — Claude Desktop, Cursor, or another agent — with 8 database plus 8 context-search tools available out of the box.
Bring Your Stack, We Plug In
Databases, models, semantic layers, BI copilots and observability — every layer is a plugin.