存储后端——向量 + 关系型
双轨存储让 Embedding 与关系型元数据并肩存放。随着部署规模变大,换后端即可。
LanceDB + SQLite
default内置PostgreSQL (pgvector)
postgresqldatus-storage-postgresqlMilvus
milvus插件(v0.2.6)用于上下文召回的 Embedding 厂商
把表结构、文档和指标向量化,用于语义检索。云端 Embedding 与本地模型可以混用,在质量、成本与隐私之间取平衡。
OpenAI Embeddings
1536 / 3072sentence-transformers
384Multilingual E5
1024BGE(中文 / 英文)
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: 384语义层适配器
把你的指标定义带进 Agent 的上下文。目前随包提供 MetricFlow;更多适配器可以通过 Python entry points 注册。
MetricFlow
datus-semantic-metricflowpip install datus-semantic-metricflowlist_metrics(path, limit, offset)— 列出语义项目中可用的指标。get_dimensions(metric_name, path)— 列出某个指标可以按哪些维度切分。query_metrics(metrics, dimensions, ...)— 带过滤条件、时间范围和 where 子句执行指标查询。validate_semantic()— 端到端校验语义配置。
通过 [project.entry-points."datus.semantic_adapters"] 注册你自己的适配器。
BI 平台 Copilot
把 Datus 指向一个 Apache Superset 看板,它会抽取每张图表的 SQL,构建语义模型,并产出两个开箱可用的子代理——一个负责查询,一个负责归因分析。
Tableau、PowerBI 与 Looker 的适配器已在规划中。
# Deploy Superset + Postgres
helm upgrade --install superset superset/superset \
-f examples-values.yaml
# One-shot: dashboard -> subagents
datus-agent bootstrap-bi --database supersetMCP 协议——既是客户端也是服务端
Datus 双向支持 Model Context Protocol。既能消费任意外部 MCP Server,也能把自身的数据库与上下文检索工具暴露给 Claude、Cursor 等 MCP 宿主。
MCP Client
.mcp add stdio, http, sse 三种传输方式任选。配置文件位于 ~/.datus/conf/.mcp.json。MCP Server
datus-mcp。静态模式服务单个 namespace,动态模式按 URL 路径路由多个 namespace。开箱暴露 8 个数据库工具 + 8 个上下文检索工具。Agent Skills 与市场
遵循 agentskills.io 规范的模块化能力包(v0.2.5)。可以在内置市场里发现、安装并发布 Skill。
Bash Skills
Function Skills
隔离子代理 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 murphy可观测性与可选工具
追踪每一次大模型调用、用网页搜索补充平台文档,或者在本地把 prompt 导出成 YAML 排查。
| 工具 | 用途 | 配置 |
|---|---|---|
| LangSmith | 大模型调用链路追踪与调试 | LANGSMITH_TRACING=true · LANGSMITH_API_KEY · LANGSMITH_PROJECT |
| Langfuse | Agent + 工具的全链路追踪(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 个上下文检索工具。