SuperAPI AI 工具集

depsdotdev

编程与开发

查看项目

更新于 10-15 08:10

技能介绍

用途

depsdotdev 用于通过 deps.dev API(Open Source Insights)获取开源包的依赖情报。它把包坐标(system/name/version)映射为高信号的依赖信息,适合需要查询包元数据、版本、依赖关系和安全公告的场景。

主要能力

  • 获取包元数据与版本列表(GetPackage)
  • 检查单个版本的信息,包括许可证、安全公告、相关链接(GetVersion)
  • 获取声明的依赖约束(GetRequirements)
  • 获取解析后的依赖图(GetDependencies)
  • 将项目仓库映射到包版本(GetProjectPackageVersions)
  • 通过文件哈希或精确版本键进行查询(Query)
  • 使用 purl、批量端点及 dependents 等 v3alpha 功能

使用方式

  • 优先使用稳定 API 基础地址:https://api.deps.dev/v3
  • 仅在需要 purl 和批量端点时使用 v3alpha
  • 发送请求前对所有路径和查询值进行百分号编码
  • 在后续调用中使用响应返回的规范值(packageKey、versionKey、projectKey)

最小工作流:

  1. 将用户输入规范化为 {system, name, version?}
  2. 若缺少版本,调用 GetPackage,优先选择 isDefault 或最新发布的版本
  3. 调用 GetVersion 获取许可证、公告、来源等元数据
  4. 当用户询问“声明”与“解析”依赖的区别时,补充 GetRequirements 和 GetDependencies
  5. 若输入是哈希或 purl,使用 Query 或 v3alpha purl 端点

技能内提供以下参考文档:

  • references/endpoint-map.md:端点映射与快速路由
  • references/request-shapes-and-encoding.md:URL/purl 规则与编码
  • references/limits-errors-and-reliability.md:批量/查询限制与错误处理
  • references/v3alpha-extras.md:purl、批量、dependents 等 v3alpha 功能
  • examples/curl-cheatsheet.md:curl 模式与 jq 片段

适用场景

  • 查询某个包的可用版本
  • 检查某个版本的许可证与安全公告
  • 分析包的声明依赖约束或解析后的依赖图
  • 将代码仓库映射到对应的包版本
  • 通过文件哈希或精确版本键定位包

限制

  • 稳定 API 为 v3,v3alpha 仅用于 purl 和批量端点等特定功能
  • 需注意批量与查询的限制及错误处理
  • 所有路径和查询值必须进行百分号编码
  • 外部文档:API 概览与版本见 https://docs.deps.dev/api/,稳定 REST schema 见 https://docs.deps.dev/api/v3/,实验性 REST schema 见 https://docs.deps.dev/api/v3alpha/