Agent Skills
返回列表
💻

REST API 变更跟踪器

开发编程 更新于 2026.08.29

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

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/rest-api-changelog-tracker 技能到 AI 助手。

技能介绍

问题:版本演进中的隐性破坏

当API从v1升级到v2时,即使方法名看似兼容,也可能因字段类型变更或新增必填参数导致客户端异常。手动对比规范文档不仅耗时,还容易遗漏关键变化。团队常面临两类痛点:破坏性变更无感知(客户端上线后突然崩溃)和端点弃用追踪难(依赖过期接口的服务无法及时迁移)。

核心能力与实现步骤

该技能通过自动化流程解决上述问题,核心逻辑如下:

  1. 规范解析与差异对比:基于OpenAPI Specification解析接口定义,利用oasdiff工具对比相邻版本规范,识别路径、参数、请求/响应结构的破坏性修改(如required字段新增、enum值删除)。
  2. 弃用头监控:自动检测接口返回头中的Deprecation和Sunset字段(如Deprecation: @1650000000),标记即将下线的端点并记录迁移截止时间。
  3. 历史持久化:使用better-sqlite3将版本差异、弃用警告和变更时间线存入本地数据库,支持通过SQL查询回溯任意版本的接口差异。

适用边界与注意事项

  • 依赖有效的OpenAPI规范文件(支持3.0+版本),若团队使用其他规范格式需先转换为兼容格式。
  • 破坏性变更的判定依赖oasdiff的默认规则,复杂场景(如语义兼容性)需人工复核。
  • 数据迁移前需确认SQLite数据库路径可写,避免因权限问题导致历史记录丢失。
  • 适用于REST API,对GraphQL或gRPC等协议暂不支持。

使用场景

  • 维护REST服务时对比新旧OpenAPI规范,生成破坏性变更报告给客户端团队
  • 监控线上API响应的弃用头,提前通知依赖方在截止日期前迁移到新端点
  • 为多版本接口建立SQLite版本历史库,支持按时间查询接口字段的变更记录
  • 上线新API版本前运行差异检查,确认无强制删除字段导致旧客户端异常

适合人员

  • 后端API开发者,需要在版本迭代时验证接口兼容性避免线上故障
  • 技术文档工程师,需要基于规范差异生成准确的变更日志和迁移指南
  • 平台架构师,负责监控第三方服务的端点弃用风险并推动客户端迁移