Astronomer Agents:Airflow 数据工程 AI 工具集
为数据工程工作流打造的 AI Agent 工具,连接 Airflow 与数据仓库,赋能 DAG 开发、分析与运维。
- Star 数
- ★ 454
- 最近更新
- 15 天前
- License
- Apache-2.0
- 主语言
- Python
- FA 评分
- 46/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Claude CodeChatGPT(部分支持)
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 数据工程师使用 Claude Code 在 Airflow 项目中编写新 DAG 时,调用 authoring-dags 技能获得最佳实践建议,并用 testing-dags 本地验证。
- 不适合
- 需要完全离线或数据不出本地的团队:仓库连接与 Airflow 调用都走网络
这个 Agent 能做什么,适合哪些场景?
Astronomer Agents 是 Astronomer 推出的开源 AI Agent 工具集(Apache-2.0),专为数据工程场景设计。仓库包含三个核心组件:一是 Airflow MCP 服务器(astro-airflow-mcp),通过 Model Context Protocol 将 Airflow REST API 能力开放给 AI 助手,支持 DAG 管理、任务触发与日志查看;二是名为 af 的命令行工具,可直接在终端中操作 Airflow;三是数十个 Skills,这些技能扩展了 AI 编码代理(如 Claude Code、Cursor)的能力,覆盖数据发现、血缘追踪、DAG 开发、dbt 集成与迁移等场景。安装方式灵活,支持 Claude Code 插件、Cursor MCP 一键集成及 npx skills 命令。
具体而言,它执行以下操作:通过 Airflow MCP 服务器(运行 uvx astro-airflow-mcp)将 Airflow 的 REST API 暴露为 MCP 工具,使 AI 助手能够列出 DAG、触发运行、获取任务日志和系统健康状态。af CLI 工具(通过 uvx --from astro-airflow-mcp af 调用)支持诸如 af health、af dags list、af runs trigger <dag_id> 等操作。Skills 中的 warehouse-init 会扫描配置的数据仓库(Snowflake、PostgreSQL、BigQuery 等),生成 .astro/warehouse.md 模式文档;analyzing-data 使用后台 Jupyter 内核执行 SQL 查询来回答业务问题;profiling-tables 对表进行统计分析;tracing-downstream-lineage 等技能分析数据血缘;authoring-dags、testing-dags 等技能辅助编写和测试 DAG;此外还提供 dbt 集成(cosmos-dbt-core)和迁移技能(migrating-airflow-2-to-3)。
- 数据工程师使用 Claude Code 在 Airflow 项目中编写新 DAG 时,调用 authoring-dags 技能获得最佳实践建议,并用 testing-dags 本地验证。
- 分析人员需要快速了解数仓中有哪些表包含客户数据,通过 warehouse-init 初始化模式文档,再用 analyzing-data 技能进行 SQL 查询。
- 平台团队排查 DAG 失败原因:使用 debugging-dags 技能进行深入诊断,并通过 af CLI 查看任务日志。
- 需要追踪数据血缘的工程师:使用 tracing-upstream-lineage 和 tracing-downstream-lineage 技能,分析变更影响。
- 将 dbt Core 项目作为 Airflow DAG 运行的用户,利用 cosmos-dbt-core 技能集成 Astronomer Cosmos。
- 升级 Airflow 2.x 到 3.x 的团队,使用 migrating-airflow-2-to-3 技能辅助迁移 DAG。
如何安装或部署这个 Agent?
确保已安装 Python 与 uv(或 pip),以及 Node.js(用于 npx)。安装方式取决于客户端:\n1. Claude Code:\n``bash\nclaude plugin marketplace add astronomer/agents\nclaude plugin install astronomer-data@astronomer\n`\n2. Cursor:点击页面中的 MCP 安装按钮,或手动在 ~/.cursor/mcp.json 添加配置:\n`json\n{"mcpServers":{"airflow":{"command":"uvx","args":["astro-airflow-mcp","--transport","stdio"]}}}\n`\n3. 通用 MCP 客户端(Claude Desktop、VS Code 等):\n`bash\nuvx astro-airflow-mcp --transport stdio\n`\n4. Skills 安装:\n`bash\nnpx skills add astronomer/agents --skill '*'\n`\n需要数据仓库凭据,配置在 ~/.astro/agents/warehouse.yml 和 .env`。
如何使用这个 Agent?
- 初始化数据仓库:在支持的环境中调用
/astronomer-data:warehouse-init,生成.astro/warehouse.md。\n2. 使用自然语言提问,如“创建从 S3 到 Snowflake 每日加载数据的 DAG”,AI 会自动调用相应 Skills。\n3. 使用 af CLI:\n``bash\nalias af='uvx --from astro-airflow-mcp af'\naf health\naf dags list\naf runs trigger <dag_id>\n`\n4. Airflow 连接配置:设置环境变量AIRFLOW_API_URL、AIRFLOW_USERNAME、AIRFLOW_PASSWORD(或AIRFLOW_AUTH_TOKEN`)以连接远程实例。
这个 Agent 有哪些优点和局限?
- 与 Airflow 深度集成,提供 MCP 服务器和 af CLI,支持 DAG 管理、日志查看等多种操作。
- 丰富的 Skills 覆盖数据发现、血缘、开发、测试、部署等完整数据工程生命周期,且可自动触发。
- 支持多种 MCP 兼容客户端(Claude Code、Cursor、Claude Desktop),并可通过 npx 安装到超过 25 种 AI 编程代理。
- 兼容开源 Apache Airflow 2.x/3.x,也支持 Astro 平台,具有灵活性。
- 数据仓库功能主要面向 Snowflake、PostgreSQL、BigQuery,但 SQLAlchemy 支持其他数据库需手动配置。
- 使用 Sky 或外部运行时(uvx、Jupyter 内核),需要网络和本地环境依赖。
- af CLI 收集匿名使用遥测数据,需用户知情或手动禁用。
- 文档中提及的 HITL 工作流需要 Airflow 3.1+,且部分 Skills(如 cosmos-dbt-fusion)仅支持特定平台。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Astronomer Agents:Airflow 数据工程 AI 工具集 当前 | 46 · 缺口较多 | Agent 插件 / 技能免费 + 模型费 | ★ 454 | 15 天前 | Python | Claude Code |
| DecisionBox | 44 · 缺口较多 | 自托管服务免费 + 模型费 | ★ 120 | 1 天前 | Go | OpenAI API · Claude API |
| QuantDinger AI 量化交易系统 | 89 · 表现良好 | 自托管服务免费 + 模型费 | ★ 13k | 今天 | Python | Codex · Claude Code · OpenAI API |
| ktx — 数据代理的上下文层 | 64 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 1.6k | 3 个月前 | TypeScript | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:仓库包含SECURITY.md,提供漏洞披露流程;README说明af CLI收集匿名遥测,可禁用;配置使用环境变量和文件权限,但未明确最小权限原则。扣分:未明确权限最小化、用户确认机制、数据流透明性、敏感数据处理细节、依赖安全审计、外部影响控制、回滚机制、来源归属。
证据显示:README和CI配置一致,测试配置禁用遥测,CI矩阵覆盖Python版本和Airflow版本。扣分:依赖可用性未明确,失败消息未详细说明。
证据显示:README明确目标用户(数据工程师)和场景(数据发现、DAG开发等),技能描述清晰,支持多种客户端和环境。扣分:能力边界未完全明确,触发精度依赖技能描述,环境适配未全面覆盖。
证据显示:README结构清晰,安装说明详细,提供示例和FAQ,Apache-2.0许可证完整。扣分:命名稳定性未明确,已知限制未充分说明,版本变更日志缺失,维护责任未明确。
证据显示:输出可用性高(生成warehouse.md等),边际价值明显(自动化数据工程工作流)。扣分:成本效益未量化,依赖外部服务。
证据显示:README和CI配置可追溯,但缺乏独立验证。扣分:声明可追溯性有限,跨来源佐证不足,事实与推断分离不明确。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 仓库包含遥测功能,需确认数据收集范围。
- 依赖外部服务(如PyPI、GitHub),需确保供应链安全。
- 未提供版本变更日志,升级风险需评估。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
astro-airflow-mcp-0.9.1 astro-airflow-mcp 0.9.1
发布说明摘录
Patch release: fixes 421 Misdirected Request on the plugin's /mcp/v1/ endpoint with FastMCP 3.4.3+, and pins fastmcp to a bounded range. What's fixed since 0.9.0 Fix 421 Misdirected Request from FastMCP's host guard (#241) FastMCP 3.4.3 shipped HostOriginGuardMiddleware enabled by default: it only accepts loopback Host headers (127.0.0.1/localhost/::1) plus the ASGI scope["server"] host, and returns 421 Misdirected Request for anything else. In plugin mode the MCP app is embedded in the Airflow webserver and reached over the Deployment's own hostname, so with an …在 GitHub 查看 ↗ -
astro-airflow-mcp-0.9.0 astro-airflow-mcp 0.9.0
发布说明摘录
Minor release: every MCP tool now returns structured, agent-actionable errors and carries MCP safety annotations, plus af runs list gains end-date filters. What's new since 0.8.2 Structured tool errors + MCP safety annotations (#221) Tools previously collapsed every failure to a bare str(e) — an agent couldn't tell a wrong dag_id (fix the arg and retry) from Airflow being unreachable (stop and surface), since both came back as the same opaque string. …在 GitHub 查看 ↗ -
astro-airflow-mcp-0.8.2 astro-airflow-mcp 0.8.2
发布说明摘录
Patch release: fix af instance discover silently reporting "No instances discovered" when ASTRO_API_TOKEN is set in the environment. What's fixed since 0.8.1 - Skip preamble lines when parsing astro CLI table output (#213): When ASTRO_API_TOKEN is set, astro CLI prepends Using an Astro API Token to stdout. The af table parser was treating that line as the header row, collapsing every astro deployment list row to a single column called using_an_astro_api_token and dropping every deployment - discover would silently return zero instances. The parser now walks lines from the …在 GitHub 查看 ↗
常见问题
这个工具是否只适用于 Astronomer 的 Astro 平台?
AIRFLOW_API_URL 指向自托管实例;Skills 是工具无关的,可与任何 Airflow 部署配合使用。需要哪些数据库权限?
warehouse.yml 中使用完整的账户标识符。启用 schema 发现(warehouse-init)时,数据库列表决定了扫描范围,但查询时可访问任何你有权限的数据库。查询是如何运行的?它会影响生产环境吗?
如何禁用 af CLI 的遥测?
af telemetry disable 即可。遥测仅收集命令名称(如 dags list),不收集参数或值。