SuperAPI AI 工具集

depwire

Depwire 是一个面向 AI 辅助重构的依赖图与上下文层工具。它通过 tree-sitter 解析源代码,为 TypeScript、JavaScript、Python、Go、Rust、C 等 16 种编程语言及 Angular 模板构建确定性的符号级依赖图,不依赖嵌入或相似度搜索。该工具可向 AI 编程助手提供架构上下文,支持 What If 变更模拟、影响范围分析、安全扫描、架构健康评分、死代码检测、跨语言边检测以及基于 git 历史的时序图可视化。Depwire 提供 CLI、MCP 服务器(24 个工具)、VSCode 扩展、GitHub Action 和 SDK,本地分析不上传源代码,适用于在 AI 修改代码前评估依赖影响、避免破坏构建的场景。

访问官网

工具介绍

Depwire 定位为 AI 辅助重构所缺失的上下文层。AI 编程工具在修改代码前往往不了解项目架构,例如删除一个工具文件时可能忽略仍引用它的下游消费者,导致构建失败。Depwire 通过解析源代码构建确定性的依赖图,为 AI 助手提供架构上下文,从而在变更前评估影响。

主要能力

  • 依赖图构建:使用 tree-sitter 解析符号并建立依赖关系,覆盖 16 种编程语言(TypeScript、JavaScript、Python、Go、Rust、C、C#、Java、C++、Kotlin、PHP、Swift、Mojo、Ruby、Dart、R)以及 Angular 模板。对于无法解析的关系会记录而非虚构边。
  • What If 模拟:在已加载的图上模拟提议的变更,展示已知依赖者、导入链和健康度变化,不修改源文件。支持五种操作,并可通过浏览器 UI 查看当前与模拟状态的并排弧线图。
  • 影响范围分析:报告破坏的导入、循环组变化、健康度移动和安全发现。
  • 安全扫描:包含 10 类检查(依赖 CVE、进程安全、凭证管理、路径安全、认证安全、输入验证、信息泄露、密码学弱点、输出编码安全、架构级风险),默认运行依赖漏洞和供应链检查,可通过 --no-dependency-audit 跳过网络请求。
  • 架构健康评分:从耦合、内聚、循环依赖组、上帝文件、孤儿与死代码、依赖深度六个维度评分,提供字母等级、建议和趋势。
  • 死代码检测:仅将零依赖者的导出符号视为死代码候选(v1.6.1 起修正)。
  • 跨语言边检测:支持 REST API 边(如 TypeScript fetch 调用匹配 Python FastAPI 路由)和子进程边。
  • 时序图:通过 git 历史时间线滑块查看架构变化。
  • 结构差异:比较任意两个 git ref 之间的依赖图。

使用方式

  • CLI:三个命令即可解析受支持的代码库。depwire parse [directory] 读取指定目录或当前目录,输出 depwire-output.json。depwire verify-change 在应用变更前验证。
  • MCP 服务器:通过 24 个 MCP 工具与 AI 助手集成,支持 Claude Desktop、Cursor 等。配置示例:Claude Desktop 在 claude_desktop_config.json 中添加;Cursor 在 Settings → Features → Experimental → Enable MCP → Add Server,参数为 -y depwire-cli mcp。
  • 自动生成上下文:运行 depwire parse . 后生成 .depwire/AGENTS.md,包含模块结构、关键文件、健康摘要和 MCP 快速启动命令。
  • SDK:通过 depwire-cli/sdk 导入稳定公共 API,用于 CI 管道和程序化使用。
  • 其他集成:VSCode 扩展、GitHub Action(PR 影响分析)、pre-commit/prek 钩子。

适用场景

  • AI 辅助重构前评估变更影响范围。
  • 多模块 Maven/Gradle 项目的跨模块依赖分析。
  • CI 中作为安全门禁和变更验证。
  • 代码库架构健康度监控与死代码清理。

限制与注意事项

  • 本地 CLI 不收集使用遥测,不上传源代码、文件名、图数据或分析结果;但依赖审计可能联系包注册表和公共咨询数据库,What If 浏览器页面从 CDN 加载 D3。
  • 解析结果取决于解析器能分析的语言构造和文件,不保证捕获任意仓库中的所有关系。
  • 此前发布的 agent 基准测试因审计发现问题已被撤回,不应引用其结论。
  • 健康评分方法在 v1.6.1 和 v1.9.0 等版本有变更,跨版本分数不可直接比较。
  • 部分性能数据为 v1.9.0 之前的测量,未重新测量。
  • 云仪表板为独立服务。