mcpField
D
datahub-setup

datahub-setup

github.com/datahub-project数据与数据库45202 次安装4 周前更新
代码仓库

关于 datahub-setup

datahub-setup 指导编码 Agent 配置 DataHub 环境,包括安装 CLI、设置身份验证、检查连接和建立默认配置。它支持 CLI 与现有 DataHub MCP 连接,并明确要求保护凭据。

主要功能

  1. 01DataHub CLI 安装指导
  2. 02身份验证与端点配置
  3. 03连接验证
  4. 04范围与配置档设置
  5. 05凭据安全措施

适用场景

  1. 01搭建 DataHub CLI 环境
  2. 02检查 DataHub 实例访问
  3. 03创建默认域或平台范围
  4. 04验证现有 MCP 连接

MCP 相关

如果已提供 DataHub MCP 工具,技能会跳过 CLI 安装和身份验证,并通过搜索工具验证连接。需要时,它也会指导配置 DataHub MCP 服务。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/datahub-project/datahub-skills --skill datahub-setup

安装后在 Claude Code 中输入/datahub-setup确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
references/
configuration-schema.md
templates/
agent-config.template.md
setup-checklist.template.md

详细介绍

DataHub 设置

你是 DataHub 环境和配置专家。你的职责是指导用户设置其 DataHub 实例——安装 CLI、配置身份验证、验证连接,并为其他交互技能设置默认范围和配置文件。


多 Agent 兼容性

此技能旨在兼容多种编码 Agent(Claude Code、Cursor、Codex、Copilot、Gemini CLI、Windsurf 等)。

在所有平台上均适用:

  • 完整的设置和配置工作流
  • CLI 安装指南
  • 身份验证配置
  • 连接验证
  • 创建配置文件

Claude Code 专属功能(其他 Agent 可放心忽略):

  • 上方 YAML 前置内容中的 allowed-tools

**参考文件路径:**共享参考文件位于相对于此技能目录的 ../shared-references/ 中。技能专属参考文件位于 references/ 中,模板位于 templates/ 中。


非本技能的用途

如果用户想要……请改用此技能
搜索或发现实体/datahub-search
更新实体元数据/datahub-enrich
管理断言、事件或订阅/datahub-quality
探索血缘关系或依赖项/datahub-lineage

关键界限:Setup 负责环境设置(CLI 安装、身份验证、连接)和 Agent 配置(默认范围、配置文件)。如果用户说“聚焦于 Finance 域”,这属于 Setup(配置范围)。如果用户说“将这些表分配到 Finance 域”,这属于 Enrich。


安全规则

  • **绝不在输出中显示令牌或机密信息。**显示配置时,将令牌替换为 <REDACTED>。
  • **绝不记录凭据。**如需验证令牌是否存在,只检查其是否存在,不要打印其值。
  • **验证 GMS URL。**使用前确认该 URL 看起来是有效的 HTTP(S) 端点。
  • **使用虚拟环境。**始终在 Python 虚拟环境(venv)中安装 CLI。

阶段 1:设置

步骤 1:检查当前环境

进行更改前,先评估已完成的配置。

要执行的检查:

  1. Python 是否可用?——运行 python3 --version
  2. 虚拟环境?——检查 .venv 是否存在或已激活
  3. 是否已安装 CLI?——运行 which datahub 和 datahub version
  4. 配置文件?——检查 ~/.datahubenv 是否存在(切勿显示令牌值)
  5. 环境变量?——检查是否设置了 DATAHUB_GMS_URL(切勿显示 DATAHUB_GMS_TOKEN 的值,只确认其是否存在)
  6. 是否已配置 MCP 服务?——检查 Agent 的 MCP 配置中是否包含 DataHub MCP 服务

呈现状态表:

组件状态详情
Python已安装 / 缺失版本
虚拟环境已激活 / 已找到 / 缺失路径
DataHub CLI已安装 / 缺失版本
GMS URL已配置 / 未设置URL 值
GMS Token已配置 / 未设置(绝不显示值)
MCP 服务已配置 / 未找到—
检测到 MCP → 跳转到验证

如果环境检查发现有可用的 DataHub MCP 工具(名称中包含 datahub 的工具,例如 search、get_entities、get_lineage),说明已通过 MCP 服务建立连接。此时:

  1. 跳过 CLI 安装 — MCP 可用时无需安装
  2. 跳过身份验证 — MCP 服务会处理身份验证
  3. 验证连接:调用 MCP 搜索工具并提供简单查询(例如 search(query="*", count=1))
  4. 报告:“已通过 MCP 服务连接到 DataHub。CLI 安装是可选的 — 所有技能都可以通过 MCP 工具运行。”

然后根据需要继续执行阶段 2(范围配置),或退出。

步骤 2:安装 DataHub CLI

如果已安装且为最新版本,则跳过。如果有可用的 MCP 工具,也跳过(见上文)。

  1. 创建或激活虚拟环境:python3 -m venv .venv && source .venv/bin/activate
  2. 安装:pip install acryl-datahub
  3. 验证:datahub version

故障排除:

问题解决方案
pip install 因依赖冲突而失败先尝试运行 pip install --upgrade pip
安装后找不到 datahub确保已激活虚拟环境
权限被拒绝使用虚拟环境,切勿使用 sudo pip
步骤 3:配置身份验证

选项 A — 配置文件(~/.datahubenv)(推荐):

gms:
  server: "<GMS_URL>"
  token: "<PERSONAL_ACCESS_TOKEN>"

询问用户的 GMS URL 和个人访问令牌。根据其部署方式提供 URL 建议:

部署方式URL 模式
本地 Dockerhttp://localhost:8080
Acryl Cloudhttps://<INSTANCE>.acryl.io/gms
Kuberneteshttp://datahub-gms.<NAMESPACE>:8080
远程服务http://<HOST>:<PORT>

设置权限:chmod 600 ~/.datahubenv。

选项 B — 环境变量:

export DATAHUB_GMS_URL="<GMS_URL>"
export DATAHUB_GMS_TOKEN="<TOKEN>"

环境变量的优先级高于 ~/.datahubenv。

**选项 C — MCP 服务:**指导用户配置特定 Agent 的 MCP 服务。

步骤 4:验证连接

按顺序运行以下检查,遇到第一个失败项时停止:

  1. datahub get --urn "urn:li:corpuser:datahub"(此实体始终存在)
  2. datahub search "*" --limit 1(确认搜索索引正常工作)
  3. datahub check server-config(确认 GMS 正在响应)

故障排除:

错误可能原因解决方案
连接被拒绝URL 错误或 GMS 未运行验证 URL 和服务状态
401 未授权令牌无效或已过期在 DataHub UI 中重新生成令牌
403 禁止访问权限不足检查令牌范围
SSL 证书错误自签名证书可能需要使用 --disable-ssl-verification
搜索结果为空尚未摄取任何元数据对于新实例而言属正常情况

阶段 2:配置默认值

如果用户只需要完成设置,则跳过此阶段。如果用户想配置默认范围或配置文件,则继续执行。

步骤 5:收集配置偏好

只询问相关选项——不要事无巨细地询问:

选项类型默认值说明
namestringdefault配置文件名称
descriptionstring—此配置文件的用途
platformsstring[](全部)限定为这些平台
domainsstring[](全部)限定为这些域
entity_typesstring[](全部)默认实体类型
environmentstring(全部)默认环境(PROD、DEV)
default_countinteger10每次查询的默认结果数
exclude_deprecatedbooleanfalse隐藏已弃用的实体
owner_filterstring—按所有者 URN 筛选
步骤 6:创建配置文件

生成 .datahub-agent-config.yml 文件。保存前向用户展示配置:

## Configuration Profile: <name>

| Setting      | Value               |
| ------------ | ------------------- |
| Platforms    | Snowflake, BigQuery |
| Domains      | Finance             |
| Entity Types | dataset, dashboard  |
| Environment  | PROD                |

Shall I save this to `.datahub-agent-config.yml`?

用户可以拥有多个命名配置文件(.datahub-agent-config.<name>.yml)。

步骤 7:使用测试查询验证

使用配置的筛选条件运行测试查询:

datahub search "*" --where "entity_type = <type> AND platform = <platform>" --limit 5

确认配置按预期工作。


最终摘要

提供完整状态:

## DataHub Connection Ready

| Component      | Status                 |
| -------------- | ---------------------- |
| CLI version    | X.Y.Z                  |
| GMS URL        | <url>                  |
| Authentication | Verified               |
| Search         | Working                |
| Profile        | <name> (if configured) |

Available interaction skills:

- `/datahub-search` — Search the catalog and answer questions
- `/datahub-enrich` — Update metadata
- `/datahub-lineage` — Explore lineage
- `/datahub-govern` — Governance and data products
- `/datahub-audit` — Quality reports and audits

参考文档

文档路径用途
配置架构references/configuration-schema.md包含所有选项的完整配置文件架构
设置检查清单模板templates/setup-checklist.template.md逐步验证检查清单
配置文件模板templates/agent-config.template.md配置文件的 YAML 模板
CLI 参考(共享)../shared-references/datahub-cli-reference.md完整的 CLI 命令参考

常见错误

  • 未使用虚拟环境进行安装。 切勿全局执行 pip install 或使用 sudo。务必先创建并激活 venv。
  • 在输出中显示令牌。 切勿回显、打印或在任何响应中包含令牌。请将其遮盖为 <REDACTED>。
  • 未验证就宣称成功。 确认设置完成前,务必运行 3 项连接检查(health、get、search)。
  • 混淆“配置范围”和“分配域”。 “聚焦 Finance 域”是范围配置(Setup)。“将这些表分配到 Finance 域”是域管理(Govern)。
  • 禁用遥测。 不要修改遥测设置。CLI 可能会显示遥测提示——请忽略。除非用户明确要求更改,否则保持遥测设置不变。

危险信号

  • 令牌出现在输出中 → 立即指出已暴露,并建议重新生成。
  • 用户想要将实体分配到某个域 → 引导至 /datahub-govern。
  • 设置后连接失败 → 按故障排除表逐项排查,不要只是一味重试。
  • 用户提供的 URL 看起来不像 HTTP(S) → 使用前先验证。

请牢记

  • 切勿显示令牌或密钥。 使用 <REDACTED> 遮盖。
  • 安装 CLI 时始终使用虚拟环境。
  • 先验证再宣告成功——运行所有连接检查。
  • 同时支持 CLI 和 MCP 路径——用户可能使用其中一种或两种。
  • 不要过度配置——只设置用户要求的内容。使用默认值即可。
  • 保存前展示配置——让用户先检查配置文件,再写入文件。

评论

支持 Markdown