1. 项目总览
本次调查聚焦两类工具:图谱类(将代码库转化为知识图谱/依赖图)和 知识库类(为 AI 助手提供结构化代码上下文)。以下六个项目按星标降序排列。
Graphify
safishamsi/graphify面向 AI 编码助手的跨语言知识图谱构建工具。支持 25 种语言 + 多模态文件(文档/图片/视频),71.5 倍 token 压缩率。
CodeGraphContext
CodeGraphContext/CodeGraphContext将代码仓库索引为可查询图谱,支持 14 种语言,提供 CLI + MCP 双模式和交互式 HTML 可视化。
madge
pahen/madge经典的 JS/TS 模块依赖可视化工具,即开即用,支持 CSS 预处理器,10k+ 星社区验证。
dependency-cruiser
sverweij/dependency-cruiserJS/TS 依赖验证 + 可视化工具,拥有强大的自定义规则引擎,可在 CI/CD 中强制执行架构纪律。
Axon
harshkedia177/axon端到端代码智能引擎,12 阶段深度分析管线,交互式 Web 仪表盘 + MCP 集成,分析能力最深入。
code-to-knowledge-graph
Bevel-Software/code-to-knowledge-graph基于 VS Code LSP 的 Kotlin/JVM 库,可将代码转化为知识图谱,适合作为可嵌入组件集成到 JVM 项目中。
2. 综合对比表
| 维度 | Graphify | CodeGraphContext | madge | dep-cruiser | Axon | code-to-kg |
|---|---|---|---|---|---|---|
| 星标 | 35,912 | 3,061 | 10,055 | 6,600 | 674 | 150 |
| 支持语言数 | 25 种 | 14 种 | 6 种 | 7 种 | 3 种 | 取决于 LSP |
| 主要语言 | Python | Python | JavaScript | JavaScript | Python | Kotlin |
| 许可证 | MIT | MIT | MIT | MIT | 无 | MPL 2.0 |
| 核心定位 | 多模态知识图谱 | 通用图谱工具包 | 依赖可视化 | 依赖验证+可视化 | 代码智能引擎 | 可嵌入库 |
| 可视化输出 | 交互式 HTML | HTML (力导向/层次) | DOT/SVG | DOT/Mermaid/HTML | WebGL 仪表盘 | Neo4j |
| MCP/AI 集成 | ✅ 17+ 平台 | ✅ 10+ IDE | ❌ | ❌ | ✅ Claude/Cursor | ❌ |
| 社区检测 | ✅ Leiden | ❌ | ❌ | ❌ | ✅ Leiden | ❌ |
| 死代码检测 | ❌ | ✅ | ❌ | ❌ | ✅ | ❌ |
| CI/CD 规则验证 | ❌ | ❌ | ❌ | ✅ 强大 | ❌ | ❌ |
| 创建时间 | 2026-04 | 2025-08 | 早期 | 早期 | 2026-02 | 2025-05 |
3. 语言支持详细矩阵
3.1 主流编程语言支持
| 语言 | Graphify | CodeGraphContext | Axon | dep-cruiser | madge | code-to-kg |
|---|---|---|---|---|---|---|
| Python (.py) | ✅ AST + 调用图 | ✅ 函数/类/继承 | ✅ 框架感知入口点 | ❌ | ❌ | 取决于 LSP |
| JavaScript (.js/.jsx/.mjs/.cjs) | ✅ | ✅ | ✅ 框架感知 | ✅ ES6/CJS/AMD | ✅ ES6/CJS/AMD | 取决于 LSP |
| TypeScript (.ts/.tsx) | ✅ | ✅ | ✅ 类型引用分析 | ✅ 可跳过类型导入 | ✅ 可跳过类型导入 | 取决于 LSP |
| Go (.go) | ✅ | ✅ | ❌ | ❌ | ❌ | 取决于 LSP |
| Rust (.rs) | ✅ | ✅ | ❌ | ❌ | ❌ | 取决于 LSP |
| Java (.java) | ✅ extends/implements | ✅ | ❌ | ❌ | ❌ | 取决于 LSP |
| C / C++ (.c/.cpp/.h) | ✅ | ✅ | ❌ | ❌ | ❌ | 取决于 LSP |
| C# (.cs) | ✅ | ✅ | ❌ | ❌ | ❌ | 取决于 LSP |
| Ruby (.rb) | ✅ | ✅ | ❌ | ❌ | ❌ | 取决于 LSP |
| Kotlin (.kt) | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ (原生) |
| PHP (.php) | ✅ | ✅ | ❌ | ❌ | ❌ | 取决于 LSP |
| Swift (.swift) | ✅ | ✅ | ❌ | ❌ | ❌ | 取决于 LSP |
| Dart (.dart) | ✅ | ✅ | ❌ | ❌ | ❌ | 取决于 LSP |
3.2 独有/小众语言支持
| 语言 | Graphify | CodeGraphContext | Axon | dep-cruiser | madge |
|---|---|---|---|---|---|
| Scala (.scala) | ✅ 独有 | ❌ | ❌ | ❌ | ❌ |
| Lua (.lua) | ✅ 独有 | ❌ | ❌ | ❌ | ❌ |
| Zig (.zig) | ✅ 独有 | ❌ | ❌ | ❌ | ❌ |
| PowerShell (.ps1) | ✅ 独有 | ❌ | ❌ | ❌ | ❌ |
| Elixir (.ex/.exs) | ✅ 独有 | ❌ | ❌ | ❌ | ❌ |
| Julia (.jl) | ✅ 独有 | ❌ | ❌ | ❌ | ❌ |
| Objective-C (.m/.mm) | ✅ 独有 | ❌ | ❌ | ❌ | ❌ |
| Verilog / SV | ✅ 独有 | ❌ | ❌ | ❌ | ❌ |
| Perl (.pl) | ❌ | ✅ 独有 | ❌ | ❌ | ❌ |
| CoffeeScript | ❌ | ❌ | ❌ | ✅ 独有 | ❌ |
| LiveScript | ❌ | ❌ | ❌ | ✅ 独有 | ❌ |
| Vue SFC (.vue) | ✅ | ❌ | ❌ | ✅ Vue2/Vue3 | ❌ |
| Svelte (.svelte) | ✅ | ❌ | ❌ | ✅ v4 | ❌ |
| Sass / SCSS | ❌ | ❌ | ❌ | ❌ | ✅ 独有 |
| Stylus | ❌ | ❌ | ❌ | ❌ | ✅ 独有 |
| Less | ❌ | ❌ | ❌ | ❌ | ✅ 独有 |
| 多模态文件 | ✅ PDF/图片/视频/音频/Office | 部分 (笔记本) | ❌ | ❌ | ❌ |
3.3 各工具语言支持特性对比
| 特性 | Graphify | CodeGraphContext | Axon | dep-cruiser | madge |
|---|---|---|---|---|---|
| AST 解析器 | Tree-sitter (本地) | Tree-sitter | Tree-sitter | Acorn + tsc | dependency-tree |
| 调用图提取 | ✅ 跨文件 | ✅ | ✅ 框架感知 | ❌ (仅模块依赖) | ❌ (仅模块依赖) |
| 类型引用分析 | ❌ | ❌ | ✅ 参数/返回值/变量注解 | ✅ (可跳过) | ✅ (可跳过) |
| 继承关系 | ✅ extends/implements (Java) | ✅ 所有语言 | ✅ EXTENDS/IMPLEMENTS | ❌ | ❌ |
| 内置函数过滤 | ❌ | ❌ | ✅ 138 个内置过滤 | ❌ | ❌ |
| 框架入口点检测 | ❌ | ❌ | ✅ Python: Flask/Django/Click 等 | ❌ | ❌ |
| 文档/注释提取 | ✅ docstring + rationale | ✅ 函数签名 | ❌ | ❌ | ❌ |
4. Graphify 深度分析
Graphify 是当前星标最高的项目(35,912 ⭐),定位为面向 AI 编码助手的跨语言多模态知识图谱构建工具。其核心创新在于将代码、文档、论文和图片统一到一个可查询的图谱中。
架构管线(7 阶段)
语言支持详情
Graphify 通过 Tree-sitter 本地解析支持 25 种编程语言,所有语言获得同等对待——不存在一等/实验分级。每种语言均获得:
- AST 解析 + 跨文件调用图提取
- 文档字符串和注释中提取 rationale(
# NOTE:、# IMPORTANT:、# HACK:、# WHY:等注释成为独立图谱节点) - Java 额外的 extends/implements 关系提取
此外还支持非代码文件:Markdown/HTML/RST 文档、Office 文档、PDF 论文、PNG/JPG/WEBP/GIF 图片、MP4/MOV 视频、MP3/WAV 音频——这些文件通过 LLM 视觉模型提取语义节点。
AI 助手集成(17+ 平台)
- Claude Code:写入
CLAUDE.md段落 + 安装 PreToolUse 钩子(settings.json),在每次 Glob/Grep 调用前注入图谱上下文 - Cursor:写入
.cursor/rules/graphify.mdc(alwaysApply: true) - Kiro:写入
.kiro/skills/+ steering 文件(inclusion: always) - Google Antigravity:写入
.agents/rules/+ 工作流注册 - MCP Server:
python -m graphify.serve graphify-out/graph.json提供query_graph、get_node、get_neighbors、shortest_path四个工具调用
🤖 与 Claude 配合使用建议
推荐指数:⭐⭐⭐⭐⭐ (最高)
使用方式:安装后运行 /graphify 命令,Graphify 会自动写入 CLAUDE.md 和 PreToolUse 钩子。每次在 Claude Code 中使用 Glob/Grep 搜索文件时,钩子会自动注入图谱上下文。
建议命令:graphify ./your-project 构建图谱后,在 Claude Code 中使用 /graphify query "哪些函数调用了 X?" 或 /graphify explain ./src/main.py
优势
- 星标最高,社区关注度最大
- 语言支持最广(25 种 + 多模态)
- 与 Claude Code 深度集成(CLAUDE.md + 钩子)
- 71.5 倍 token 压缩率
- MIT 许可,无遥测数据收集
- 模块化 7 阶段管线,可独立扩展
局限性
- 不自带 LLM,需用户配置 API 密钥
- 语义提取依赖外部 LLM API 调用,有成本
- 偏向知识图谱生成,非通用图数据库
- 创建时间短(2026-04),成熟度待验证
5. CodeGraphContext 深度分析
CodeGraphContext 是通用代码图谱工具包中语言支持最广的项目(14 种),拥有 3,061 星标和 MIT 许可,提供 CLI + MCP 双模式。
语言支持详情
支持 14 种语言,所有语言获得"完全支持"——无实验/部分分级。每种语言均提取:
- 函数、类、方法、参数
- 继承关系
- 函数调用链
- 导入关系
独有语言支持:Perl 仅 CodeGraphContext 支持。还支持 Jupyter Notebook(nbformat + nbconvert)。
核心功能
- 多数据库后端:KuzuDB(Windows 默认)、FalkorDB(Unix 默认)、Neo4j(远程/Docker)
- 预索引包:加载 .cgc 包可即时索引知名仓库
- 实时文件监视:cgc watch 自动更新图谱
- 自动 MCP 配置:cgc mcp setup 向导支持 10 种 IDE
🤖 与 Claude 配合使用建议
推荐指数:⭐⭐⭐⭐
使用方式:运行 python -m codegraphcontext mcp setup,选择 Claude,自动生成 MCP 配置。之后可用自然语言查询代码关系。
建议场景:多语言项目中快速查询函数调用关系、类继承层次、发现死代码
优势
- 14 种语言覆盖广
- MIT 许可,社区成熟(3,061 ⭐)
- 多数据库后端灵活适配
- 完善的 CI/CD(测试 + E2E)
- 自动 MCP 配置向导
局限性
- 开放 Issues 高达 179 个
- 缺少深度分析能力
- 功能相对基础
- 依赖外部数据库时部署复杂度增加
6. Axon 深度分析
Axon 是功能最深入的代码智能引擎,拥有 12 阶段深度分析管线,虽然星标较少(674),但分析能力远超其他项目。
语言支持详情
仅支持 3 种语言(Python、TypeScript、JavaScript),但分析深度远超同类:
- Python 框架感知:自动检测
@app.route、@router.get、@click.command、test_*、__main__等入口点 - JS/TS 框架感知:自动检测 Express handlers、导出函数、handler/middleware 模式
- 死代码检测:框架感知的多轮分析,豁免入口点、装饰器、Protocol 一致性
- 内置函数过滤:138 个黑名单条目(
print、len、console、fetch、useState等) - 类型分析:从参数、返回值、变量注解中提取类型引用
- Git 变更耦合:分析 6 个月 Git 历史,发现静态分析遗漏的依赖
AI 助手集成
- MCP 工具:
axon_query(混合搜索)、axon_context(360° 符号视图)、axon_impact(影响范围)、axon_dead_code - 每个工具响应自带下一步建议(如 "Next: Use context() on a specific symbol")
- 资源:
axon://overview、axon://dead-code、axon://schema
🤖 与 Claude 配合使用建议
推荐指数:⭐⭐⭐⭐ (特定场景最高)
使用方式:运行 axon serve --watch 启动 MCP 服务,然后 axon setup --claude 配置 Claude MCP。
建议场景:Python/TS 项目的重构前影响分析、死代码清理、架构审计
优势
- 分析能力最全面深入
- 交互式 Web UI 体验优秀
- 框架感知的入口点和死代码检测
- Git 历史耦合分析独有
- MCP 工具响应自带下一步建议
局限性
- 仅支持 3 种语言(Python/TS/JS)
- 无开源许可证
- 星标 674,社区验证不足
- 创建时间新(2026-02),成熟度待观察
7. 传统依赖可视化工具
madge 和 dependency-cruiser 是 JS/TS 生态中最成熟的两个依赖可视化工具,分别代表了"快速可视化"和"规则验证"两个方向。
语言支持详情
| 维度 | madge (⭐ 10,055) | dependency-cruiser (⭐ 6,600) |
|---|---|---|
| 核心定位 | 依赖可视化 + 分析 | 依赖验证 + 可视化(规则引擎) |
| JS 模块格式 | AMD / CommonJS / ES6 | ES6 / CommonJS / AMD |
| TS 支持 | 需 tsConfig 配置路径解析 | 支持 --ts-pre-compilation-deps |
| CSS 预处理器 | ✅ Sass/Stylus/Less | ❌ |
| Vue / Svelte | ❌ | ✅ Vue2/Vue3 + Svelte v4 |
| CI/CD 集成 | 弱(仅报告) | 强(类 eslint 规则验证) |
| 输出格式 | DOT / SVG / JSON | DOT / Mermaid / JSON / CSV / HTML / 文本 |
| 自定义规则 | 不支持 | 支持(精细 from/to 路径规则) |
| Webpack 别名 | 支持 | 支持 |
| 动态 import | ❌ | ✅(静态字符串参数) |
| JSDoc @import | ❌ | ✅ detectJSDocImports |
| 开放 Issues | 122 | 36 |
🤖 与 Claude 配合使用建议
推荐指数:⭐⭐⭐ (JS/TS 项目专用)
使用方式:这两个工具均无 MCP/AI 集成。与 Claude 配合时,建议在 Claude 的 prompt 中要求生成 madge/dep-cruiser 命令,然后查看输出的 SVG/HTML 文件。
8. code-to-knowledge-graph 简评
基于 VS Code LSP 的 Kotlin/JVM 库,星标 150,最近推送在 2025-06(已近 10 个月未更新)。
优势
- 基于 VS Code LSP,理论上语言覆盖广
- Kotlin/JVM 生态,适合 Java 项目集成
- 架构为可扩展库,可嵌入其他应用
- MinHashing 代码相似度分析(独有功能)
局限性
- 已近 10 个月未更新,活跃度极低
- 不支持 MCP 集成
- 无独立 CLI,依赖 VS Code 扩展
- 缺少深度分析功能
- 依赖 VS Code 实例,资源开销大
🤖 与 Claude 配合使用建议
推荐指数:⭐⭐ (不推荐)
该项目目前更适合对 JVM 生态有特定嵌入需求的场景,不作为通用推荐。
9. Claude 集成建议总览
以下按使用场景推荐最适合与 Claude Code 配合的工具及集成方式。
| 场景 | 推荐工具 | 集成方式 | 理由 |
|---|---|---|---|
| 通用多语言项目 (3+ 种语言) | Graphify | CLAUDE.md + PreToolUse 钩子 | 25 种语言覆盖,钩子自动注入图谱上下文,搜索时获得调用图 |
| 纯 Python/TS 项目 深度分析 + 重构 | Axon | MCP Server + axon setup --claude | 框架感知入口点、执行流追踪、死代码检测、影响范围分析 |
| 快速查询代码关系 (调用链、继承、死代码) | CodeGraphContext | MCP Server + cgc mcp setup | 14 种语言、自然语言查询、多数据库后端 |
| JS/TS 项目架构治理 (CI/CD 规则验证) | dependency-cruiser | CI/CD 规则文件 | 精细 from/to 路径规则,类 eslint 集成,Mermaid/HTML 输出 |
| JS/TS 快速依赖检查 | madge | CLI 命令 | 即开即用,SVG 依赖图,CSS 预处理器支持 |
| 降低 Claude 上下文 token 成本 | Graphify | MCP Server 模式 | 71.5 倍压缩率(123k → 1.7k tokens/查询) |
集成优先级建议
第一优先级(立即安装)
Graphify — 如果你使用 Claude Code 且项目涉及多种语言。安装后自动获得 CLAUDE.md + 钩子集成,搜索文件时自动获得调用图上下文。多模态支持还能帮你理解文档和论文与代码的关系。
第二优先级(按需安装)
Axon — 如果你的主要工作是 Python/TS 项目的重构和死代码清理。它的框架感知分析和 Git 变更耦合是独有功能,能帮你在重构前评估影响范围。
CodeGraphContext — 如果你需要覆盖 Graphify 不支持的 Perl 语言,或需要多数据库后端(Neo4j 等)的企业级部署。
第三优先级(可选保留)
madge / dependency-cruiser — 仅在纯 JS/TS 项目中有价值。Graphify 已覆盖 JS/TS 的 AST 分析,这两个工具在 CI/CD 规则验证和 CSS 预处理器支持方面仍有不可替代的场景。
10. 总结与选型建议
场景一:AI 编码助手的知识图谱集成
推荐 Graphify — 25 种语言 + 多模态、71.5 倍 token 压缩、CLAUDE.md + PreToolUse 钩子自动注入上下文。Claude 用户的首选方案。
场景二:多语言项目的通用代码图谱
推荐 CodeGraphContext — 14 种语言、MIT 许可、多数据库后端、成熟的 CI/CD。适合覆盖 Graphify 不支持的语言(如 Perl)或需要 Neo4j 等外部数据库的场景。
场景三:深度代码分析与影响评估
推荐 Axon — 12 阶段管线、框架感知入口点、执行流追踪、Git 变更耦合。适合 Python/TS 项目的重构前影响分析和死代码检测。
场景四:JS/TS 项目的架构治理
推荐 dependency-cruiser — 自定义规则引擎 + CI/CD 集成,可在构建流程中强制架构纪律。快速查看则选 madge(支持 CSS 预处理器)。
趋势总结
2025-2026 年代码结构工具的核心趋势:知识图谱 + AI 助手集成(MCP) 成为新方向。传统工具(madge/dependency-cruiser)侧重依赖可视化与验证,新一代工具(Graphify/CodeGraphContext/Axon)则将代码转化为可查询的图谱,为 AI 编码助手提供结构化上下文。Tree-sitter 静态分析 + 图数据库 + Leiden 社区检测 是当前最主流的技术组合。
数据来源
- safishamsi/graphify - GitHub
- graphify.net - 官方网站
- CodeGraphContext/CodeGraphContext - GitHub
- harshkedia177/axon - GitHub
- sverweij/dependency-cruiser - GitHub
- pahen/madge - GitHub
- Bevel-Software/code-to-knowledge-graph - GitHub
- GitHub Topics: code-visualization
- GitHub Topics: graph-visualization
- GitHub Next: Repo Visualization