Agent Skills
返回列表
💻

GraphQL 模式缝合与联邦代理

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md 的说明,将 @user_3c6cb52e/graphql-schema-stitching-federation-agent 安装到 AI 助手中。

技能介绍

当 GraphQL 子图联邦超出手工维护的边界

在 GraphQL 联邦架构中,团队通常将领域拆分为多个 subgraph,各自维护独立的 schema。随着服务数量增长,将分散的 schema 聚合成统一的 supergraph 成为难题:跨服务的实体关系需要通过 @key 声明,共享字段要标记 @shareable,字段冲突则依赖 @override 规则解决。手工编写这些指令不仅易错,还会让部署流程变得脆弱——一个拼写错误就可能导致组合验证失败,影响整个联邦的可用性。

这个技能接管了什么

该技能将 Apollo Federation v2 的组合流程从手工脚本中解放出来,直接面向 subgraph schema 输入,完成以下工作:

  • 校验组合规则:在提交部署前检查 @key、@shareable、@override 指令的合法性,确保实体解析器配置正确,避免运行时出现悬空引用。
  • 生成 Rover CLI 部署清单:输出符合 rover 工具链的配置文件,使 supergraph 的上传、版本管理和环境切换可以直接走标准部署流程,而不需要临时拼凑命令行参数。

核心步骤围绕 schema 的读取、指令解析、规则校验和清单输出展开,适合集成到 CI 流水线或预发布检查环节。

适用边界与注意点

  • 该技能的校验深度取决于 Apollo Federation v2 的组合规范,若你的 schema 使用了联邦 v1 的旧式指令或自定义扩展,可能需要额外的适配工作。
  • 它处理的是 schema 层面的组合与验证,不涉及 runtime 的请求代理、缓存策略或性能调优——后者通常由网关层或执行引擎负责。
  • 底层依赖 GraphQL.js 作为通用实现,这意味着项目需要在 Node 环境中运行,并兼容 CommonJS(require())与 ESModule(import)两种模块体系。

使用场景

  • 团队拆分了多个 subgraph,需要定期将各服务 schema 合并为统一 supergraph 并验证联邦组合是否成功
  • CI 流水线中需要在合并请求阶段自动检查 @key 和 @shareable 指令的配置是否符合规范,避免错误 schema 上线
  • 将新的 subgraph 加入现有联邦时,需要生成 rover CLI 可用的部署清单并完成配置校验
  • 排查字段归属冲突时,需要通过 @override 指令声明覆盖策略并确认组合规则不破坏其他服务的数据契约

适合人员

  • 微服务架构师,负责跨团队 GraphQL 子图联邦的 schema 设计与拆分方案
  • 平台工程负责人,需要确保多个 subgraph 合并时不会因指令冲突导致线上故障
  • DevOps 工程师,要将 supergraph 组合校验集成到 CI/CD 流程并自动化 Rover 部署
  • GraphQL 网关维护者,需要理解 @key 等指令对运行时查询路由的影响并处理联邦规则演进