## 1. 项目总览

本次调查聚焦两类工具：图谱类（将代码库转化为知识图谱/依赖图）和 知识库类（为 AI 助手提供结构化代码上下文）。以下六个项目按星标降序排列。

### Graphify

safishamsi/graphify
⭐ 35,912
PythonMIT

面向 AI 编码助手的跨语言知识图谱构建工具。支持 25 种语言 + 多模态文件（文档/图片/视频），71.5 倍 token 压缩率。

PythonJS/TSGoRustJavaC/C++C#KotlinRubyPHPSwiftScalaLuaZigElixirJuliaPowerShellObjCVerilogVueSvelteDart

### CodeGraphContext

CodeGraphContext/CodeGraphContext
⭐ 3,061
PythonMIT

将代码仓库索引为可查询图谱，支持 14 种语言，提供 CLI + MCP 双模式和交互式 HTML 可视化。

PythonJSTSJavaC/C++C#GoRustRubyPHPSwiftKotlinDartPerl

### madge

pahen/madge
⭐ 10,055
JavaScriptMIT

经典的 JS/TS 模块依赖可视化工具，即开即用，支持 CSS 预处理器，10k+ 星社区验证。

JSTSSassStylusLess

### dependency-cruiser

sverweij/dependency-cruiser
⭐ 6,600
JavaScriptMIT

JS/TS 依赖验证 + 可视化工具，拥有强大的自定义规则引擎，可在 CI/CD 中强制执行架构纪律。

JSTSCoffeeScriptLiveScriptVue SFCSvelte

### Axon

harshkedia177/axon
⭐ 674
Python无许可证

端到端代码智能引擎，12 阶段深度分析管线，交互式 Web 仪表盘 + MCP 集成，分析能力最深入。

PythonTS/TSXJS/JSX

### code-to-knowledge-graph

Bevel-Software/code-to-knowledge-graph
⭐ 150
KotlinMPL 2.0

基于 VS Code LSP 的 Kotlin/JVM 库，可将代码转化为知识图谱，适合作为可嵌入组件集成到 JVM 项目中。

取决于 LSP

## 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 阶段）

detect→ extract→ build→ cluster→ analyze→ report→ export

### 语言支持详情

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 与 Claude 的集成是六个项目中最为深入的——它不仅是一个 MCP 工具，而是通过 CLAUDE.md + PreToolUse 钩子实现了"始终在线"的图谱上下文注入。对于 Claude 编码场景，这意味着：（1）搜索文件时自动获得相关调用图上下文；（2）查询成本降低 71.5 倍（平均 1.7k tokens）；（3）25 种语言覆盖，几乎能处理所有项目。这是 Claude 用户的首选方案。

建议命令：`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 配置。之后可用自然语言查询代码关系。

推荐理由：CodeGraphContext 的优势在于 14 种语言支持和多数据库后端。适合多语言项目（如同时使用 Python + Go + Rust 的项目）。其 MCP 工具支持自然语言查询（"什么函数调用了 X？"、"显示 Y 的继承层次"），对 Claude 很友好。缺点是缺少深度分析能力（无执行流追踪、无社区检测），如果只需要基本的代码关系查询和可视化，这是性价比最高的选择。

建议场景：多语言项目中快速查询函数调用关系、类继承层次、发现死代码

#### 优势

- 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/TypeScript，Axon 是分析深度最高的选择。它的框架感知入口点检测、执行流追踪、Git 变更耦合分析都是独有功能。MCP 工具响应自带下一步建议提示，对 Claude 的 agentic workflow 非常友好。适合需要深度代码理解、影响范围评估和死代码检测的场景。局限性是仅支持 3 种语言且无开源许可证。

建议场景：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 文件。

推荐理由：这两个工具适合纯 JS/TS 项目。madge 适合快速查看依赖图和循环依赖；dependency-cruiser 适合在 CI/CD 中强制执行架构规则。它们没有 AI 集成，但在 JS/TS 生态中是最成熟、最稳定的选择。如果你的项目仅使用 JS/TS，这两个工具仍然是值得保留的。

## 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 配合使用建议

推荐指数：⭐⭐ (不推荐)

不推荐理由：无 MCP 集成、不活跃维护、无 CLI 工具，无法与 Claude 形成自动化工作流。仅在对 JVM 生态有特定嵌入需求时考虑。

该项目目前更适合对 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