tracing-downstream-lineage – 下游数据血缘追踪 Skill

3周前更新 8 0 0 0

tracing-downstream-lineage 是用于指导 AI Agent 沿数据管道追踪下游血缘关系的 Skill,帮助定位某个数据集、表或字段变更后会影响哪些下游任务与资产,适合数据工程和数据质量排查场景。

Skill 安装

多 Agent 安装
npx skills add https://github.com/astronomer/agents --skill tracing-downstream-lineage

使用 npx skills 快速安装,支持将 Skill 添加到多个兼容的 AI Agent。

Skill 调研报告

Skill 详细介绍

astronomer/agents#tracing-downstream-lineage 是 Astronomer 官方 agents 仓库中提供的一个数据血缘追踪类 Skill,核心用途是帮助 Agent 沿数据管道向下追踪下游血缘关系,定位某个数据源、表或任务变更之后,哪些下游资产会受到影响。

它本身不是一个独立运行的软件,而是一套提供给 AI Agent 加载使用的 Skill 指令与工作流,需要配合支持 Skill 机制的 Agent(如 Claude Code)才能发挥作用。安装之后,Agent 相当于多了一项顺着数据管道往下查的能力,而不是获得一个可以单独运行的命令行程序。

它主要解决什么问题

  • 上游表、数据集或任务发生变更时,快速找出受牵连的下游对象。
  • 排查数据管道故障时,判断影响范围到底扩散到哪里。
  • 做变更评审、发布评估时,评估一次改动会波及哪些下游任务、报表或模型。
  • 梳理数据资产之间的依赖链条,辅助数据治理和文档整理。

核心功能与工作方式

这个 Skill 的工作重点在于下游方向的血缘分析。相比从下游往上追根溯源,它更关注这个节点往下流到了哪里。典型做法是读取数据编排与血缘元数据(例如 Airflow 之类的编排平台中的 DAG、任务、数据集依赖信息),再由 Agent 沿着依赖关系逐层展开,输出下游节点清单或影响范围说明。

它属于 Astronomer 官方 agents 仓库的组成部分,面向的是使用数据编排平台、需要理解数据依赖关系的工程与数据团队。它更适合作为分析辅助来用:让 Agent 帮你把血缘链条理清楚、把影响范围列出来,最终判断仍由人来做。

适合与不适合

  • 适合:使用 Airflow 或类似编排平台、需要做血缘分析和影响面评估的数据工程师、平台工程师、数据治理人员。
  • 适合:想在 Agent 对话里直接问这个改动会影响哪些下游的场景。
  • 不适合:把血缘追踪当成完全自动化的生产级调度决策依据。
  • 不适合:没有任何血缘元数据来源、只靠凭空推理的场景——没有可读的依赖信息,追踪就无从谈起。

与普通 Agent 能力的区别

普通 Agent 也能聊数据血缘概念,但缺少针对下游追踪这一具体任务的指令组织和方法约束。这个 Skill 的价值在于把这类任务固化成一套可复用的工作流,让 Agent 在处理血缘问题时有明确的步骤和输出结构,而不是每次自由发挥。

Skill 安全评估

总体判断:astronomer/agents#tracing-downstream-lineage 来自 Astronomer 官方 agents 仓库,来源可信度较高,属于数据分析辅助类 Skill,本身不涉及破坏性操作。它的主要安全考量集中在读取了什么元数据和是否被授予了过大的权限上。

来源可信度

该 Skill 来源于 Astronomer 官方 GitHub 组织下的 agents 仓库,属于官方一手资料,不是第三方镜像或重新发布版本。从供应链角度看,优先从官方来源获取比从不明渠道复制更稳妥。

权限相关风险点

  • 文件与元数据读取:血缘追踪需要读取数据管道、DAG、任务依赖等元数据。如果这些信息位于本地仓库或配置文件中,Skill 需要文件读取权限。建议只让它接触与血缘分析相关的目录,避免开放到无关的敏感目录。
  • 网络访问:如果血缘元数据来自远程编排平台或 API,则涉及网络访问和相应凭证。此时风险点转移到了凭证管理上。
  • 凭证与 Token:本 Skill 本身是否需要 API Key 取决于你的数据来源。若你的编排平台需要认证,务必使用最小权限的只读凭证,不要把具备写入、触发、删除权限的 Token 交给只做血缘分析的场景。
  • Shell 权限:如果 Agent 在执行过程中调用 Shell 命令(例如运行血缘查询工具),请确认命令范围可控。若只需要它分析和整理结果,可以关闭 Agent 自动执行 Shell 的权限,由你手动运行相关命令。

Prompt Injection 与数据来源

血缘元数据、DAG 描述、任务文档中可能混入不预期的文本内容。当 Agent 读取这些内容时,理论上存在被其中文本误导的可能。建议把 Skill 的输出当作分析建议而非直接执行指令,尤其是当它建议修改、删除或触发某些对象时,务必人工确认。

降低风险的实操建议

  • 使用只读凭证访问血缘数据源。
  • 把 Skill 的作用范围限制在血缘分析,不开放写入、删除类权限。
  • 涉及生产环境变更时,Skill 给出的影响面结论只作为参考,不作为唯一决策依据。
  • 对 Skill 建议执行的具体操作,逐条人工核对。

没有充分依据表明该 Skill 存在已公开的严重安全问题,但也不应把它描述为绝对安全。它是一套分析工具,安全性很大程度上取决于你授予它的权限和数据源的可信度。

Skill 使用要求

一、Agent / 客户端

该 Skill 来自 Astronomer 官方 agents 仓库。官方主要面向支持 Skill 机制的 Agent 环境,其中与 Claude Code 这类支持自定义 Skill 加载的客户端适配度较高,可以优先在 Claude Code 中使用。

官方没有提供完整的第三方 Agent 兼容列表。从 Agent Skill 的工作方式来看,在支持 Skills、自定义 Skill 或类似指令加载机制的环境中,通常也可以尝试在 Codex、Cursor、Trae、OpenClaw、WorkBuddy 等主流 AI Agent 中使用。不同 Agent 的 Skill 加载方式和兼容程度可能不同,具体以对应 Agent 当前版本为准。

二、运行环境 / 依赖

项目 要求
Agent Claude Code 等支持 Skill 加载的客户端优先,其他兼容 Agent 可尝试
血缘数据来源 需要可读取的数据管道 / 编排平台元数据(例如 Airflow 类平台的 DAG、任务、依赖信息)
网络 若血缘数据来自远程平台或 API,则需要网络访问;本地仓库数据则视情况而定

官方资料未明确列出该 Skill 对 Node.js、Python 等运行时的硬性版本要求。实际是否需要某个运行时,取决于你使用的数据源和 Agent 环境,请以官方当前说明为准,不要凭空假定版本号。

三、权限

  • 文件读取:通常需要(用于读取血缘相关元数据或仓库文件)——必需或视数据源而定。
  • 网络访问:当血缘数据来自远程平台时——可选,取决于数据来源。
  • Shell:若 Skill 工作流需要调用外部查询工具则可能涉及——可选,可按需关闭自动执行。
  • 文件写入:血缘分析类任务一般不需要——通常可选或不需要。

四、账号 / API Key

Skill 本身是否需要账号或 API Key,取决于它读取血缘数据的途径,官方资料未统一说明。需要明确区分两种情况:

  • Skill 自身:是否强制要求凭证,以官方当前说明为准。
  • 你接入的数据源:如果血缘元数据来自需要认证的编排平台或 API,则平台侧会需要相应的只读凭证。这部分属于你的数据源要求,不是 Skill 本身的硬性要求。

最小使用条件

  1. 一个支持 Skill 加载的 Agent(Claude Code 优先)。
  2. 可访问的血缘元数据来源(本地或远程)。
  3. 如涉及远程平台,一个最小权限的只读凭证。
  4. 对血缘分析任务的清晰描述(改了什么、想追踪哪个节点的下游)。

Skill 安装、使用与卸载教程

一、安装

你可以直接复制本页面提供的 Skill 安装指令,粘贴到对应的 Agent 或终端中执行。

如果你不确定自己的 Agent 该如何安装,可以直接询问当前 AI Agent:

如何安装 astronomer/agents#tracing-downstream-lineage?

如何在 Claude Code 中安装 astronomer/agents#tracing-downstream-lineage?

如何在 Cursor 中安装 astronomer/agents#tracing-downstream-lineage?

让当前 Agent 根据它自己的 Skill 加载 / 管理机制来指导你完成安装。不同 Agent 的安装位置和管理方式可能不同,直接问 Agent 是最稳妥的方式。

二、安装后如何使用

安装后,当你的任务涉及数据血缘、下游依赖、变更影响面时,可以主动点名这个 Skill,让 Agent 按它的工作流来处理。适合交给它的任务类型包括:

  • 追踪某个表或任务变更后的下游影响范围。
  • 排查数据管道故障时判断波及范围。
  • 整理某个数据资产的下游依赖清单。

向 Agent 描述需求时,尽量把起点节点数据来源想知道的结论方向说清楚。示例:

使用 tracing-downstream-lineage,帮我追踪这张订单表变更后会影响哪些下游任务和报表。

使用 tracing-downstream-lineage,分析这个 DAG 的下游血缘,列出所有受影响的节点。

使用 tracing-downstream-lineage,帮我梳理这个数据集往下流到了哪些地方,整理成一份清单。

三、卸载

保持简单即可。你可以:

  • 使用对应 Agent / Skill 管理器提供的删除方式,删除该 Skill。
  • 直接询问当前 Agent:

如何卸载 astronomer/agents#tracing-downstream-lineage?

不同 Agent 的 Skill 安装位置和管理方式可能不同。如果没有统一卸载命令,直接询问当前 Agent 如何移除 astronomer/agents#tracing-downstream-lineage 通常更稳妥。官方资料未提供统一卸载命令时,不要套用未经确认的命令。

常见问题

这个 Skill 可以同时安装到多个 Agent 吗?

通常可以。只要各 Agent 支持独立的 Skill 加载机制,就可以分别在各自环境中安装。具体是否冲突、如何共享配置,以对应 Agent 的说明为准。

安装后 Agent 没识别到这个 Skill,怎么办?

先确认安装位置是否符合该 Agent 的 Skill 目录规范,再确认 Agent 版本是否支持 Skill 加载。可以直接问 Agent你是否已经加载 astronomer/agents#tracing-downstream-lineage,让它帮你排查。不同 Agent 的加载方式不同,必要时参考对应 Agent 的 Skill 文档。

没有 Airflow 之类的编排平台,还能用吗?

该 Skill 的核心是沿着血缘依赖做下游追踪,前提是存在可读取的依赖元数据。没有编排平台或血缘数据来源时,它能发挥的作用有限。这类场景下,它更多只能帮你梳理思路,而不是真正追踪数据流的血缘。

它会自动修改我的数据管道或生产环境吗?

它本身定位为分析辅助,主要做血缘追踪和影响面整理,不以修改生产环境为目标。但如果你的 Agent 环境开放了 Shell、写入或触发类权限,理论风险会增加。建议限制权限,并对 Skill 给出的任何执行建议进行人工确认。

它给出的影响面结论能直接用于生产决策吗?

建议把它当作参考依据之一。血缘追踪结果取决于元数据的完整性和准确性,元数据缺失或滞后会直接影响结论。生产变更前,仍需结合人工复核。

Skill 更新后需要重新安装吗?

取决于你使用的 Agent 和安装方式。有的 Agent 支持直接拉取最新版本,有的需要手动更新。可以直接询问当前 Agent我的 tracing-downstream-lineage 是不是最新版本,需要怎么更新。

中国大陆使用有网络要求吗?

该 Skill 与具体中国大陆平台没有绑定关系,是否受网络影响取决于你的血缘数据来源位于境内还是境外,以及你通过什么方式访问它们。安装环节的网络情况以你所用 Agent 和 GitHub 访问条件为准。

Skill 更新日志

版本列表
astro-airflow-mcp-0.9.1 最新
补丁版本:修复了在 FastMCP 3.4.3+ 下插件 `/mcp/v1/` 端点上的 `421 Misdirected Request` 问题,并将 `fastmcp` 固定在有界范围内。 ## 自 0.9.0 以来的修复 ### 修复来自 FastMCP 主机防护的 `421 Misdirected Request`(#241) FastMCP 3.4.3 默认启用了 `HostOriginGuardMiddleware`:它只接受回环 `Host` 头(`127.0.0.1`/`localhost`/`::1`)以及 ASGI `scope["server"]` 主机,对其他任何内容返回 `421 Misdirected Request`。在插件模式下,MCP 应用嵌入在 Airflow webserver 中,并通过 Deployment 自己的主机名访问,因此在未固定版本、解析到 fastmcp 3.4.3 的安装中,对 `/mcp/v1/` 的每个请求都被以 421 拒绝。 - 插件现在保持防护**启用**,但将 `allowed_hosts` 限定为 Deployment 的主机名,从 `AIRFLOW__WEBSERVER__BASE_URL` 环境变量读取(该变量在插件导入时存在,不同于 Airflow 的 `conf`)。DNS 重绑定防护保持开启,而不是被关闭。 - `ASTRO_MCP_ALLOWED_HOSTS`(逗号分隔)可为自定义域名覆盖允许列表;仅当无法推导出主机名时(非 Astro 嵌入),插件才回退到禁用防护。 - 独立模式(`mcp.run`)不变——它保持 FastMCP 的默认回环防护,这正是本地绑定服务器所需的。 - 固定 `fastmcp>=3.4.3,<4`,使行为确定,不会在 FastMCP 下一次默认翻转时悄然改变。 ## 安装 ``` uvx --from 'astro-airflow-mcp==0.9.1' af ``` ## 升级说明 如果你曾将 `fastmcp<3.4.3` 固定作为临时变通方案,升级到 0.9.1 后可以移除该固定。
astro-airflow-mcp-0.9.0
次要版本:每个 MCP 工具现在返回结构化的、可供 agent 操作的错误,并带有 MCP 安全注解,此外 `af runs list` 新增了结束日期过滤器。 ## 自 0.8.2 以来的新内容 ### 结构化工具错误 + MCP 安全注解(#221) 工具此前将所有失败都简化为裸的 `str(e)`——agent 无法区分错误的 `dag_id`(修正参数并重试)与 Airflow 不可达(停止并上报),因为两者都返回相同的不透明字符串。 - **错误即数据。** 每个工具现在返回 `error`、`error_type`、`hint`、`retryable` 标志,以及回显的标识参数(例如 `dag_id`)。`retryable` 将调用方可修复的问题(错误参数、400/404/429)与硬性阻塞(认证、5xx、只读、不可达)区分开,因此 agent 知道修正后的重试是否有帮助。对 `ReadOnlyError`、`NotFoundError`、Astro 认证错误、`httpx` 状态码、超时和传输错误进行分类。 - **所有 34 个工具上的安全注解。** 27 个读取标记为只读 + 幂等;7 个写入带有准确的提示——`delete_dag_run` 破坏性 + 非幂等,`clear_*` 破坏性 + 幂等,`pause`/`unpause` 幂等,`trigger*` 非幂等。客户端可以在调用*之前*对写入进行门控,补充现有的 `AF_READ_ONLY` 防护(后者仅在模型决定调用*之后*才拒绝)。默认谨慎:只有当工具明确选择加入时,才会被宣传为“安全”。 - **凭据卫生。** `normalize_airflow_url` 现在从 netloc 中剥离 `user:password@`(主机/端口/IPv6 原样保留),因此凭据不会泄漏到日志或错误消息中嵌入的 URL 中。 向后兼容——`str(e)` 始终保留在 `error` 内,因此任何 grep 旧裸字符串响应的消费者仍可工作;新消费者可获得结构化字段。 ### `af runs list` 的 `--end-date-gte` / `--end-date-lte` 过滤器(#233) 按运行*结束*时间过滤运行,与现有的 `--start-date-*` 过滤器对应——适用于“过去 N 分钟内完成了哪些运行以及它们如何结束”的恢复扫描。ISO 8601 时间戳;`--dag-id` 可选。关闭 #225。 ```bash # 在某个时间窗口内完成、并结合状态的运行 af runs list --end-date-gte 2026-06-10T15:00:00Z --state failed ``` ## 安装 ``` uvx --from 'astro-airflow-mcp==0.9.0' af ``` ## 升级说明 可直接替换 0.8.2——仅新增,无破坏性变更。结构化错误负载是旧字符串的超集(`str(e)` 保留在 `error` 中),因此现有消费者不受影响;新消费者可以读取结构化字段。
astro-airflow-mcp-0.8.2
补丁版本:修复当环境中设置了 `ASTRO_API_TOKEN` 时,`af instance discover` 静默报告“No instances discovered”的问题。 ## 自 0.8.1 以来的修复 - **解析 astro CLI 表格输出时跳过前导行**(#213):当设置了 `ASTRO_API_TOKEN` 时,astro CLI 会在 stdout 前加上 `Using an Astro API Token`。af 表格解析器将该行当作表头行,导致每个 `astro deployment list` 行被折叠为名为 `using_an_astro_api_token` 的单列,并丢弃每个 deployment——discover 会静默返回零个实例。解析器现在从顶部逐行遍历,并选择第一个边界检测出 2+ 列的行作为真正的表头,因此 astro CLI 输出的任何单行前导都会被自动跳过。 ## 安装 ``` uvx --from 'astro-airflow-mcp==0.8.2' af ``` ## 升级说明 可直接替换 0.8.1。无配置或 CLI 变更。任何在 shell 中设置了 `ASTRO_API_TOKEN` 时遇到 `No instances discovered` 的人,现在都能正确看到 deployments。
astro-airflow-mcp-0.8.1
补丁版本:修复针对 webserver URL 带有 `?orgId=…` 查询字符串的 Astro deployments 的版本检测。 ## 自 0.8.0 以来的修复 - **从 Airflow URL 中剥离查询字符串 / 片段**(#210):Astro 发现有时返回 `webserver_url=https://host/dep?orgId=org_…`。由于 API URL 是通过字符串拼接构建的(`f"{airflow_url}/api/v2/version"`),结果是 `https://host/dep?orgId=org_…/api/v2/version`,API 路径被吞入查询字符串,破坏了版本检测以及随后的每次 API 调用。新的 `normalize_airflow_url()` 辅助函数剥离查询、片段和尾部斜杠,应用于四个边界:`discovery/astro_cli.py`(在源头)、`adapters/base.py`(适配器构造函数)、`adapters/airflow_v3.py`(令牌交换)和 `adapters/__init__.py`(`detect_version`)。 - **更好的版本检测错误**:`detect_version` 现在收集每个探测的失败并在 `RuntimeError` 消息中呈现(`Probes: /api/v2: HTTP 404; /api/v1: HTTP 502; ...`),而不是通用的“Failed to detect Airflow version”。还捕获了此前静默漏过的 `200 但非 JSON 正文` 情况。 ## 安装 ``` uvx --from 'astro-airflow-mcp==0.8.1' af ``` ## 升级说明 可直接替换 0.8.0。无配置或 CLI 变更。已将 `?orgId=…` 烘焙进其存储的 `airflow_url` 的现有用户不再需要重新运行 `af discover`——该值在读取时被规范化。
astro-airflow-mcp-0.8.0
分层配置版本。`af` 现在跨全局、项目共享和项目本地文件读取和写入配置(镜像 `git config` 的 system/global/local 模型),并与 astro-cli 在 `~/.astro/` 共享配置主目录。 ## 自 0.7.0 以来的新内容 - **分层配置**(#207):三个作用域与 astro-cli 的配置树共置 - 全局:`~/.astro/config.yaml`(每用户) - 项目共享:`/.astro/config.yaml`(已提交;团队共享) - 项目本地:`/.astro/config.local.yaml`(gitignored;每开发者当前实例) - `` 通过从 cwd 向上查找 `.astro/` 找到。项目内的写入路由:`add` / `discover` → 项目共享,`use` → 项目本地。用 `--global` / `--project` / `--local` 覆盖。`AF_CONFIG=` 完全绕过分层。 - 读取优先级:项目本地 > 项目共享 > 全局。较窄作用域中的同名实例会遮蔽。 - **默认全局路径移动**从 `~/.af/config.yaml` 到 `~/.astro/config.yaml`。旧路径作为一次性只读回退被尊重(带有 stderr 弃用提示)。运行 `af migrate` 进行显式迁移并保留 `.bak`。 - **新命令**: - `af migrate`:幂等。报告 `migrated` / `already-migrated` / `nothing-to-migrate`。 - `af instance show `:`git config --show-origin` 风格的查找,报告实例来自哪个文件。 - **`af instance list`** 现在包含作用域和来源列,并用 `*` 标记当前实例。 - **`save()` 与外部顶层键合并**(`project`、`cloud`、`contexts`、`telemetry.notice_shown`),以便 `af` 和 astro-cli 可以共存于同一文件。往返时保留文件模式;新文件以 0600 写入。 - **Skill**:在 `astro dev init` 上停止固定 Airflow 版本(#206)。修复了模型尽管 CLI 默认使用最新版却传递 `--airflow-version 3.1.0` 的幻觉。 ## 安装 ``` uvx --from 'astro-airflow-mcp==0.8.0' af ``` ## 升级说明 - 现有 `~/.af/config.yaml` 用户:不会中断。`af` 将其作为回退读取。方便时运行 `af migrate`。它会合并到 `~/.astro/config.yaml`,保留已存在的任何 astro-cli 内容,并将旧文件重命名为 `.bak`。 - 在 astro 项目内,`af instance add` 现在默认写入 `.astro/config.yaml`(已提交)。凭据优先使用 `${ENV_VAR}` 插值或 `astro_pat`,或传递 `--local` 用于 gitignored 机密,或 `--global` 用于个人配置。 - `AF_CONFIG=` 和 `AF_CONFIG=/dev/null` 语义不变。
astro-airflow-mcp-0.7.0
PAT 认证重写(#204)的稳定版本,加上 OSError 后续修复(#205) ## 自 0.6.4 以来的新内容 - `af instance discover astro` 现在通过 Auth0 刷新令牌交换复用用户的 `astro login` 会话,而不是铸造永久 `DEPLOYMENT_ADMIN` 令牌。发现的 deployments 使用 `auth.kind = astro_pat`,且从不将令牌写入 af 的配置 - 现有的 `kind = token` 和 `kind = basic` 实例保持不变继续工作(向后兼容) - 401 重试路径,带一次强制刷新,去抖动为每 60 秒一次 - 轮换的刷新令牌在 flock 下持久化回 `~/.astro/config.yaml`,以免 astro CLI 自己的会话中断 - `astro_context` 在发现时始终固定(避免 `astro context switch` 后的跨租户令牌泄漏) - 朴素的 `expiresin` 字符串锚定到 UTC(纵深防御) - `_read_yaml` 捕获 `FileNotFoundError`、`NotADirectoryError`、`IsADirectoryError`,因此非文件的 `ASTRO_HOME` 路径会呈现干净的“run astro login”错误,而不是被掩盖的版本检测失败 ## 验证 - 490 个单元测试通过;CI 在所有矩阵条目上绿色(py3.10/11/12,AF2/AF3 集成) - 完整破坏测试组(约 30 个场景)针对 0.7.0a1 和 0.7.0a2 运行干净 - 使用 otto agent 针对 AF3 云 deployment 和本地 AF2 独立版进行端到端测试 - 所有测试中未铸造任何 deployment 令牌 ## 安装 ``` uvx --from 'astro-airflow-mcp==0.7.0' af ``` ## 升级说明 - 如果你有由旧 `af instance discover astro` 铸造的 deployment 令牌的现有 af 配置,它们继续工作。你可以不管它们,或重新运行 discover(如果传递 `--overwrite`,它会覆盖为 PAT 支持的实例) - 留在你的 astro deployments 中的现有 `af-discover-*` 令牌现在是孤儿。方便时在 astro UI 中撤销它们
astro-airflow-mcp-0.7.0a2
后续 alpha,在 0.7.0a1 之上捆绑来自 #205 的 OSError 修复 ## 自 0.7.0a1 以来的新内容 - `_read_yaml` 现在捕获表示“无可读 astro 配置”的特定 OSError 形态(`FileNotFoundError`、`NotADirectoryError`、`IsADirectoryError`),而不是泄漏到 `detect_version` 成为被掩盖的“Failed to detect Airflow version”(#205) - `PermissionError` 和其他意外 OS 错误会传播,以便清晰呈现,而不是死路于“run astro login” ## 安装 ``` uvx --from 'astro-airflow-mcp==0.7.0a2' af ```
astro-airflow-mcp-0.7.0a1
PAT 认证重写(PR #204)的 alpha 版本,用于在 otto 中测试后再提升为 0.7.0 稳定版 ## 新内容 - `af instance discover astro` 现在通过 Auth0 刷新令牌交换复用用户的 `astro login` 会话,而不是铸造永久 `DEPLOYMENT_ADMIN` 令牌 - 实例配置中新增 `auth.kind = astro_pat`;现有 `token` / `basic` 实例保持不变继续工作 - 401 重试路径,带一次强制刷新,去抖动为每 60 秒一次 - 轮换的刷新令牌在 flock 下持久化回 ~/.astro/config.yaml,以免 astro CLI 自己的会话中断 - 朴素的 `expiresin` 字符串锚定到 UTC(针对手工编辑的纵深防御) ## 安装 ``` uvx --from 'astro-airflow-mcp==0.7.0a1' af ``` ## 为什么是 alpha 切一个 alpha 以用 otto 的包装器(通过 uvx 固定 af)进行端到端验证,然后再提升为 0.7.0
astro-airflow-mcp-0.6.4
## 变更内容 * 在 `runs trigger-wait` 中检测暂停的 DAG,作者 @jlaneve,见 https://github.com/astronomer/agents/pull/190 * af CLI:将空的 AIRFLOW_API_URL 视为显式无操作,作者 @jlaneve,见 https://github.com/astronomer/agents/pull/191 * af CLI:当 AF_CONFIG 指向非普通文件时不要崩溃,作者 @kaxil,见 https://github.com/astronomer/agents/pull/193 * 修复 list_dag_runs(MCP 工具 + af CLI)返回最旧运行在前的问题,作者 @JoaVirtudes19,见 https://github.com/astronomer/agents/pull/192 ## 新贡献者 * @JoaVirtudes19 在 #192 中做出首次贡献 **完整变更日志**:https://github.com/astronomer/agents/compare/astro-airflow-mcp-0.6.3...astro-airflow-mcp-0.6.4
astro-airflow-mcp-0.6.3
## 变更内容 * 扩展插件模式文档,包含 Astro 认证、角色和故障排除,作者 @tayloramurphy,见 https://github.com/astronomer/agents/pull/184 * 为 MCP 服务器添加 Airflow 2.x 插件模式支持,作者 @kaxil,见 https://github.com/astronomer/agents/pull/186 **完整变更日志**:https://github.com/astronomer/agents/compare/astro-airflow-mcp-0.6.2...astro-airflow-mcp-0.6.3
astro-airflow-mcp-0.6.2
## 变更内容 * 修复远程部署的 Airflow MCP 插件模式,作者 @kaxil,见 https://github.com/astronomer/agents/pull/183 **完整变更日志**:https://github.com/astronomer/agents/compare/astro-airflow-mcp-0.6.1...astro-airflow-mcp-0.6.2
astro-airflow-mcp-0.6.1
## Bug 修复 - 修复当配置文件具有不同实例的凭据时的环境变量认证(#181) - 修复:从 TERMINAL_DAG_RUN_STATES 中移除 upstream_failed(#166)
astro-airflow-mcp-0.6.0
## 新内容 ### `af registry` — 查询 Airflow Provider Registry(#145) 四个新的 CLI 命令,可直接从终端浏览 [Airflow Provider Registry](https://airflow.apache.org/registry)——无需运行中的 Airflow 实例: - `af registry providers` — 列出所有 providers(id、name、version、lifecycle) - `af registry modules ` — 列出 operators、hooks、sensors 和 transfers - `af registry parameters ` — 显示 provider 类的构造函数参数 - `af registry connections ` — 显示连接类型及其字段 支持 `--version` 固定到特定 provider 发布版,结果本地缓存(最新版 1 小时,版本化快照 30 天)。使用 `--no-cache` 绕过。 ```bash af registry modules amazon | jq '.modules[] | select(.type == "hook") | .name' af registry parameters ftp | jq '.classes | keys[]' ``` ### 改进 - 为 `list_dag_runs` MCP 工具添加 `dag_id` 过滤器(#163) - 澄清 `get_dag_stats` 需要 `dag_ids` 作为列表(#162) ### 修复 - 使发现令牌名称用户特定以避免冲突(#156) - 修复 airflow-adapter skill frontmatter(#147) **完整变更日志**:https://github.com/astronomer/agents/compare/astro-airflow-mcp-0.5.1...astro-airflow-mcp-0.6.0
astro-airflow-mcp-0.5.1
## 变更内容 * 改进 agent 检测,作者 @schnie,见 https://github.com/astronomer/agents/pull/141 * 分离 agent 和 ci_system 属性,作者 @schnie,见 https://github.com/astronomer/agents/pull/142 **完整变更日志**:https://github.com/astronomer/agents/compare/astro-airflow-mcp-0.5.0...astro-airflow-mcp-0.5.1
astro-airflow-mcp-0.5.0
## 变更内容 * fix:运行 --plugin-dir 时加载 hooks,作者 @milton-li,见 https://github.com/astronomer/agents/pull/102 * 确保 airflow mcp 包高效使用 uvx 缓存,作者 @schnie,见 https://github.com/astronomer/agents/pull/100 * fix:从 skill 参考文件中移除 doctoc 目录,作者 @kaxil,见 https://github.com/astronomer/agents/pull/107 * 基于早期用户反馈改进 authoring-dags skill,作者 @tayloramurphy,见 https://github.com/astronomer/agents/pull/104 * 添加 `af` CLI 遥测,作者 @schnie,见 https://github.com/astronomer/agents/pull/106 * 在 skills 中使用 `af` cli,作者 @milton-li,见 https://github.com/astronomer/agents/pull/108 * docs:向 README 添加缺失的 skills,作者 @tayloramurphy,见 https://github.com/astronomer/agents/pull/112 * 重构 skill hooks 并扁平化 analyzing-data 脚本,作者 @milton-li,见 https://github.com/astronomer/agents/pull/113 * docs:向 Airflow 2→3 迁移添加共享工具导入破坏性变更,作者 @tayloramurphy,见 https://github.com/astronomer/agents/pull/111 * 将 init skill 重命名为 warehouse-init,作者 @kaxil,见 https://github.com/astronomer/agents/pull/114 * 添加 BigQuery 作业标签支持并修复 location 参数 bug,作者 @kaxil,见 https://github.com/astronomer/agents/pull/118 * 添加 Snowflake query_tag 支持,作者 @kaxil,见 https://github.com/astronomer/agents/pull/119 * 添加 Postgres application_name 支持,作者 @kaxil,见 https://github.com/astronomer/agents/pull/120 * 修复 `cosmos-dbt-core/SKILL.md`,作者 @tatiana,见 https://github.com/astronomer/agents/pull/122 * 进一步改进 Cosmos skills,作者 @tatiana,见 https://github.com/astronomer/agents/pull/123 * feat:添加 deployment 管理 agents,作者 @kh3dron,见 https://github.com/astronomer/agents/pull/121 * fix:为自签名证书添加 SSL 证书验证绕过,作者 @kaxil,见 https://github.com/astronomer/agents/pull/126 * 触发前自动取消暂停 DAG,作者 @josh-fell,见 https://github.com/astronomer/agents/pull/127 * docs:澄清 Snowflake 账户标识符格式,作者 @josh-fell,见 https://github.com/astronomer/agents/pull/130 * 移除写入键,作者 @schnie,见 https://github.com/astronomer/agents/pull/128 * feat:添加 `af runs delete` 和 `af runs clear` 命令,作者 @tayloramurphy,见 https://github.com/astronomer/agents/pull/129 * 迁移到 prek.toml 配置进行静态检查,作者 @josh-fell,见 https://github.com/astronomer/agents/pull/131 * 为 MCP 工具调用添加遥测跟踪,作者 @schnie,见 https://github.com/astronomer/agents/pull/134 * 将遥测配置移入 config.yaml,作者 @schnie,见 https://github.com/astronomer/agents/pull/135 * 从 mypy 迁移到 ty 进行类型检查,作者 @josh-fell,见 https://github.com/astronomer/agents/pull/133 * 处理 Copilot 关于类型安全的反馈,作者 @kaxil,见 https://github.com/astronomer/agents/pull/139 * 实现 AF_READ_ONLY 模式以阻止写操作,作者 @igorastronomer,见 https://github.com/astronomer/agents/pull/138 ## 新贡献者 * @tatiana 在 https://github.com/astronomer/agents/pull/122 中做出首次贡献 * @kh3dron 在 https://github.com/astronomer/agents/pull/121 中做出首次贡献 **完整变更日志**:https://github.com/astronomer/agents/compare/plugin-0.2.0...astro-airflow-mcp-0.5.0
plugin-0.2.0
## Claude 插件发布 自初始发布以来的首次版本提升,反映累积的变更: ### 新 Skills - Cosmos 集成 - Airflow HITL(Human-in-the-Loop) - 血缘注解 - 最佳实践 - Airflow 2-3 迁移 - 以及更多... ### 改进 - 用于 skill 建议的 hook 改进 - 用于 Astro deployments 的 `af` CLI 集成 - 多数据库支持(Snowflake、BigQuery 等) ### 安装 ```bash claude plugin marketplace add astronomer/agents claude plugin install data@astronomer ``` 或更新现有安装: ```bash claude plugin marketplace update astronomer/agents ```
astro-airflow-mcp-0.4.1
## 变更内容 * feat(skills):更新 testing-dags 以使用 af CLI,作者 @kaxil,见 https://github.com/astronomer/agents/pull/75 * refactor(cli):用子命令替换 `af api` 标志,作者 @kaxil,见 https://github.com/astronomer/agents/pull/76 * 添加血缘注解和 OpenLineage 提取器 skills,作者 @jlaneve,见 https://github.com/astronomer/agents/pull/66 * 向根 README 添加 af CLI 文档,作者 @schnie,见 https://github.com/astronomer/agents/pull/78 * feat(cli):为 list 命令添加过滤选项,作者 @jlaneve,见 https://github.com/astronomer/agents/pull/79 * docs:添加社区健康文件,作者 @jlaneve,见 https://github.com/astronomer/agents/pull/80 * docs:添加 CODE_OF_CONDUCT.md,作者 @jlaneve,见 https://github.com/astronomer/agents/pull/81 * 向 README 添加路线图部分,作者 @tayloramurphy,见 https://github.com/astronomer/agents/pull/74 * 添加 `af instance discover` 命令以自动发现 Astro deployments,作者 @schnie,见 https://github.com/astronomer/agents/pull/63 * Skill:Airflow HITL,作者 @igorastronomer,见 https://github.com/astronomer/agents/pull/95 * Skill:更新 airflow 2-3 迁移 skill,作者 @igorastronomer,见 https://github.com/astronomer/agents/pull/99 * Skill:Cosmos,作者 @igorastronomer,见 https://github.com/astronomer/agents/pull/96 ## 新贡献者 * @igorastronomer 在 https://github.com/astronomer/agents/pull/95 中做出首次贡献 **完整变更日志**:https://github.com/astronomer/agents/compare/astro-airflow-mcp-0.4.0...astro-airflow-mcp-0.4.1
astro-airflow-mcp-0.4.0
## 变更内容 * 更好地支持 airflow skill,作者 @schnie,见 https://github.com/astronomer/agents/pull/65 * fix:为 uvx af CLI 使用 @latest 后缀以防止陈旧版本问题,作者 @jlaneve,见 https://github.com/astronomer/agents/pull/68 * fix:配置加载失败时警告而不是静默回退,作者 @jlaneve,见 https://github.com/astronomer/agents/pull/70 * feat(cli):添加 `af api` 命令以直接访问 Airflow REST API,作者 @kaxil,见 https://github.com/astronomer/agents/pull/73 **完整变更日志**:https://github.com/astronomer/agents/compare/astro-airflow-mcp-0.3.0...astro-airflow-mcp-0.4.0
astro-airflow-mcp-0.3.0
## 变更内容 * 将 astro-dwh-mcp 切换为从 git 标签动态版本化,作者 @schnie,见 https://github.com/astronomer/agents/pull/46 * 提升 MCP 服务器版本标签,作者 @schnie,见 https://github.com/astronomer/agents/pull/47 * feat:airflow mcp skill 和 hook,作者 @milton-li,见 https://github.com/astronomer/agents/pull/45 * 添加 Cursor hooks 兼容性,作者 @kaxil,见 https://github.com/astronomer/agents/pull/50 * 添加 clear_task_instances MCP 工具以重试失败任务,作者 @petedejoy,见 https://github.com/astronomer/agents/pull/51 * 按域将 server.py 拆分为模块化工具文件,作者 @jlaneve,见 https://github.com/astronomer/agents/pull/52 * 更新 pre-commit hooks,作者 @jedcunningham,见 https://github.com/astronomer/agents/pull/55 * 修复 skill hook 路径以解析到正确目录,作者 @josh-fell,见 https://github.com/astronomer/agents/pull/56 * 为 analyzing-data skill 添加多数据库支持,作者 @kaxil,见 https://github.com/astronomer/agents/pull/57 * 向 analyzing-data skill 添加多数据库文档,作者 @kaxil,见 https://github.com/astronomer/agents/pull/58 * 将配置路径从 `~/.astro/ai/config/` 重命名为 `~/.astro/agents/`,作者 @kaxil,见 https://github.com/astronomer/agents/pull/59 * 通过 SQLAlchemy 连接器添加 Redshift 支持,作者 @kaxil,见 https://github.com/astronomer/agents/pull/60 * 用统一方言注册表重构 SQLAlchemy 连接器,作者 @kaxil,见 https://github.com/astronomer/agents/pull/61 * 添加 Airflow API Skill,作者 @schnie,见 https://github.com/astronomer/agents/pull/53 * 添加 CLI 命令并修复 CI 构建,作者 @schnie,见 https://github.com/astronomer/agents/pull/62 ## 新贡献者 * @petedejoy 在 https://github.com/astronomer/agents/pull/51 中做出首次贡献 * @jedcunningham 在 https://github.com/astronomer/agents/pull/55 中做出首次贡献 **完整变更日志**:https://github.com/astronomer/agents/compare/astro-airflow-mcp-0.2.3...astro-airflow-mcp-0.3.0
astro-airflow-mcp-0.2.3
该版本暂未提供更新说明。

暂无评论

none
暂无评论...