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 之前的测量,未重新测量。
- 云仪表板为独立服务。