集成

Datus 集成能力

Datus 采用插件优先的架构。除了单独成页的数据库模型之外,本页罗列了其余所有可以接入的层——存储、Embedding、语义层、BI Copilot、MCP 协议、Skills 与可观测性。

存储

存储后端——向量 + 关系型

双轨存储让 Embedding 与关系型元数据并肩存放。随着部署规模变大,换后端即可。

内置

LanceDB + SQLite

类型default
安装包内置
说明零配置的向量 + 关系型存储,适合本地开发与单机部署。

PostgreSQL (pgvector)

类型postgresql
安装包datus-storage-postgresql
说明生产档位,支持按 namespace 做 schema 隔离与连接池。

Milvus

类型milvus
安装包插件(v0.2.6)
说明专为大规模语义检索打造的向量库。
Embedding

用于上下文召回的 Embedding 厂商

把表结构、文档和指标向量化,用于语义检索。云端 Embedding 与本地模型可以混用,在质量、成本与隐私之间取平衡。

OpenAI Embeddings

模型text-embedding-3-small / large
维度1536 / 3072
默认

sentence-transformers

模型all-MiniLM-L6-v2(约 100MB)
维度384

Multilingual E5

模型intfloat/multilingual-e5-large-instruct
维度1024

BGE(中文 / 英文)

模型BAAI/bge-large-{zh,en}-v1.5
维度1024
agent.ymlyaml
storage:
  # 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: 384
语义层

语义层适配器

把你的指标定义带进 Agent 的上下文。目前随包提供 MetricFlow;更多适配器可以通过 Python entry points 注册。

已就绪

MetricFlow

安装包datus-semantic-metricflow
安装pip install datus-semantic-metricflow
说明兼容 MetricFlow 的 YAML;可并入主题树。
核心接口
  • list_metrics(path, limit, offset)列出语义项目中可用的指标。
  • get_dimensions(metric_name, path)列出某个指标可以按哪些维度切分。
  • query_metrics(metrics, dimensions, ...)带过滤条件、时间范围和 where 子句执行指标查询。
  • validate_semantic()端到端校验语义配置。

通过 [project.entry-points."datus.semantic_adapters"] 注册你自己的适配器。

BI Copilot

BI 平台 Copilot

把 Datus 指向一个 Apache Superset 看板,它会抽取每张图表的 SQL,构建语义模型,并产出两个开箱可用的子代理——一个负责查询,一个负责归因分析。

目前仅支持 SupersetGenSQL 子代理GenReport + 根因分析

Tableau、PowerBI 与 Looker 的适配器已在规划中。

terminalbash
# Deploy Superset + Postgres
helm upgrade --install superset superset/superset \
  -f examples-values.yaml

# One-shot: dashboard -> subagents
datus-agent bootstrap-bi --database superset
MCP 协议

MCP 协议——既是客户端也是服务端

Datus 双向支持 Model Context Protocol。既能消费任意外部 MCP Server,也能把自身的数据库与上下文检索工具暴露给 Claude、Cursor 等 MCP 宿主。

MCP Client

在 CLI 里把外部 MCP 工具接进 Agent:.mcp add stdio, http, sse 三种传输方式任选。配置文件位于 ~/.datus/conf/.mcp.json

MCP Server

以静态或动态模式运行 datus-mcp。静态模式服务单个 namespace,动态模式按 URL 路径路由多个 namespace。开箱暴露 8 个数据库工具 + 8 个上下文检索工具。
完整的 MCP 接口细节见文档
Skills

Agent Skills 与市场

遵循 agentskills.io 规范的模块化能力包(v0.2.5)。可以在内置市场里发现、安装并发布 Skill。

Bash Skills

由命令白名单守护的 Shell 脚本;可以安全地暴露给 Agent。

Function Skills

通过 load_skill() 加载的 Python 可调用对象,作为工具被调用。

隔离子代理 Skills

在 fork 出来的子代理上下文(Explore / Plan / 通用型)中运行,拥有独立的草稿区。
terminalbash
# 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 murphy
可观测性

可观测性与可选工具

追踪每一次大模型调用、用网页搜索补充平台文档,或者在本地把 prompt 导出成 YAML 排查。

observability.envenv
工具用途配置
LangSmith大模型调用链路追踪与调试LANGSMITH_TRACING=true · LANGSMITH_API_KEY · LANGSMITH_PROJECT
LangfuseAgent + 工具的全链路追踪(OTel / OpenInference)LANGFUSE_PUBLIC_KEY · LANGFUSE_SECRET_KEY · LANGFUSE_HOST
LLM Trace把 prompt 与 completion 导出成本地 YAML--save_llm_trace → {agent.home}/trajectory/
Tavily平台文档的网页搜索兜底TAVILY_API_KEY
GitHub Token拉取 GitHub 上的平台文档且不触发限流GITHUB_TOKEN
常见问题

常见问题

存储、Embedding、语义层、MCP、BI Copilot,以及数据库和模型在其中的位置。

数据库和模型在这里处于什么位置?

Datus 自带覆盖 SQLite 到 Snowflake 全谱系的原生数据库适配器,以及各家一方大模型厂商和任意 OpenAI 兼容端点。本页讲的是这两者之外还能接什么——存储后端、Embedding、语义层、BI Copilot、MCP、Skills 与可观测性。

Datus 能完全跑在我的笔记本上吗?

可以。默认存储后端是 LanceDB(向量)加 SQLite(关系型),零配置即可运行,数据写入 data/datus_db_<namespace>/。随着部署规模变大,可以换成 PostgreSQL(pgvector)或 Milvus,应用代码不用改。

语义层只支持 MetricFlow 吗?

目前随包发布的适配器只有 MetricFlow,但语义层本身是通过 Python entry points 做成插件架构的。你可以用 [project.entry-points."datus.semantic_adapters"] 注册自己的适配器,与 datus-semantic-metricflow 并存,并把它暴露给 Agent 的上下文。

Dashboard Copilot 支持哪些 BI 平台?

目前支持 Apache Superset。Datus 会读取一个看板,抽取每张图表的 SQL,构建语义模型,并产出两个子代理——GenSQL 负责查询,GenReport 负责归因与根因分析。Tableau、PowerBI 和 Looker 的适配器已在规划中。

MCP Client 和 MCP Server 有什么区别?

MCP Client 让 Datus 通过 stdio、http 或 sse 传输去调用外部 MCP 工具。MCP Server 则把 Datus 自身的数据库与上下文检索工具暴露给任意兼容 MCP 的宿主——Claude Desktop、Cursor 或另一个 Agent——开箱提供 8 个数据库工具加 8 个上下文检索工具。

把你的技术栈带来,我们负责接上

数据库、模型、语义层、BI Copilot 与可观测性——每一层都是插件。