Dashboard Copilot¶
只需一条命令,即可将您的 BI 仪表盘转化为智能 AI 子代理。本指南将带您完成 Superset + PostgreSQL 的部署、Datus 配置,以及使用 bootstrap-bi 命令从仪表盘自动生成上下文和子代理。
为什么选择 Dashboard Copilot?¶
传统 BI 仪表盘是静态的——它们展示预定义的图表和指标,但用户无法提出后续问题或探索预构建内容之外的数据。Datus Dashboard Copilot 将这些静态仪表盘转化为动态分析助手,能够:
- 使用与仪表盘相同的数据和业务逻辑回答临时问题
- 在指标发生意外变化时进行根因分析
- 生成与仪表盘语义模型保持一致的新 SQL 查询
- 提供归因分析,解释指标变化的驱动因素
只需一条命令,Datus 就能从现有仪表盘中提取所有上下文——SQL 查询、表关系、指标定义和业务逻辑——并创建像您的仪表盘一样理解数据的 AI 子代理。
Bootstrap 过程会自动生成两个专门的子代理:一个是通过 SQL 工具实现自助取数的 GenSQL 子代理,另一个是通过指标工具提供分析、下钻和归因报告的 GenReport 子代理。

前置条件¶
开始之前,请确保您已具备:
- Docker Desktop 已安装并运行
- Kubernetes CLI (
kubectl) - Helm 包管理器
- Python 3.12 并已安装 Datus
步骤 1:部署 Superset + PostgreSQL¶
首先,安装所需的基础设施工具。
安装依赖¶
# 安装 Docker
curl -fsSL https://get.docker.com | sh
# 安装 kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl && sudo mv kubectl /usr/local/bin/
# 安装 Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
# 安装 minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
启动 Minikube¶
部署 Superset¶
添加 Superset Helm 仓库并部署:
# 添加 Superset Helm 仓库
helm repo add superset https://apache.github.io/superset
helm repo update
# 使用示例配置部署 Superset
helm upgrade --install superset superset/superset -n default -f ./examples-values.yaml
自定义配置
您可以通过修改 examples-values.yaml 来自定义部署。有关可用选项,请参阅 Superset Helm Chart 文档。
等待 Pod 就绪¶
监控部署状态,直到所有 Pod 运行正常:
等待所有 Pod 显示 Running 状态后再继续。
设置端口转发¶
将 Superset 和 PostgreSQL 服务暴露到本地:
# 转发 Superset UI(端口 8088)
kubectl port-forward -n default service/superset 8088:8088 &
# 转发 PostgreSQL(端口 15432)
kubectl port-forward -n default svc/superset-postgresql 15432:5432 &
现在您可以通过 http://localhost:8088 访问 Superset,默认凭据为 admin/admin。
步骤 2:配置 Datus¶
配置 Datus 以连接 PostgreSQL 数据库和 Superset 仪表盘。
安装所需扩展¶
更新 agent.yml¶
将以下配置添加到您的 ~/.datus/agent.yml:
agent:
namespace:
superset:
type: postgresql
host: 127.0.0.1
port: 15432
username: superset
password: superset
database: examples
dashboard:
superset:
username: admin
password: admin
extra:
provider: db
配置说明
- namespace:定义用于 SQL 执行的数据库连接
- dashboard:定义用于仪表盘访问的 BI 平台凭据
步骤 3:从仪表盘 Bootstrap¶
现在使用 bootstrap-bi 命令从 Superset 仪表盘自动生成上下文和子代理。我们将以世界银行数据仪表盘为例。
运行 Bootstrap 命令¶
交互流程¶
该命令将引导您完成交互式流程:
Select BI platform (superset): superset
Dashboard URL: http://localhost:8088/superset/dashboard/world_health/?native_filters_key=4X5gjZkIbnU
API base URL (e.g. https://host) (http://localhost:8088): http://localhost:8088
系统将显示仪表盘信息和提取的图表:

选择要包含的图表和表。Bootstrap 过程将自动执行:
1. 构建元数据和参考 SQL
系统分析每个图表的 SQL 查询并生成完整文档:

2. 生成语义模型
Datus 创建包含度量、维度和关系的语义模型:

3. 提取指标
系统从仪表盘查询中识别并验证指标:

输出¶
Bootstrap 完成后,您将获得可直接使用的子代理:
Subagent `superset_world_bank_s` saved.
Subagent `superset_world_bank_s` bootstrapped.
Attribution Sub-Agent `superset_world_bank_s_attribution` saved.
步骤 4:使用归因分析¶
Bootstrap 生成的归因子代理提供强大的指标分析能力。
示例查询¶
Datus> /superset_world_bank_s_attribution compare 2014 and 2004, find the reason of population growth
代理使用仪表盘中的指标和维度执行多步分析:

归因分析能力¶
归因子代理提供:
- 自动维度重要性排序 - 识别哪些维度对指标变化影响最大
- 增量贡献计算 - 量化每个因素对整体变化的贡献
- 根因识别 - 精确定位驱动指标变动的具体值
示例输出¶
分析生成包含关键发现的完整报告:

报告包括:
- 整体增长指标 - 总人口、增长率和农村人口百分比的对比
- 主要区域贡献者 - 哪些区域推动了人口增长最多
- 主要国家贡献者 - 各国对变化的贡献
- 结论 - 解释指标变动的关键洞察摘要
生成的子代理说明¶
bootstrap-bi 命令创建两种类型的子代理:
GenSQL 子代理¶
主子代理(如 superset_world_bank_s)提供:
- 在仪表盘语义范围内生成 SQL
- 使用提取的元数据进行上下文感知查询
- 来自仪表盘图表的参考 SQL 模式
使用示例:
GenReport 子代理(归因)¶
归因子代理(如 superset_world_bank_s_attribution)提供:
- 指标对比和趋势分析
- 指标变化的根因分析
- 维度级别的归因报告
使用示例:
下一步¶
现在您已经拥有了由仪表盘驱动的子代理,可以探索更多功能: