Skip to content

07 - 技术原理对比与选型建议

本章整理 5 个项目的横向对比表和选型决策树,帮助你 5 分钟内选定方案。


1. 五大项目一句话总览

项目一句话定位
code-review-graph23 语言、28 MCP 工具的本地代码图谱,PR 评审 token 减 6.8×,日常编码减 49×
GitNexus浏览器 + Claude Code 全套生态:MCP + 7 Skills + Hooks + Web UI 的 KuzuDB 图谱
code-graph-rag-mcp给 Codex / Claude Code 加 11 种语言的"图 + 语义"双索引,5.5× 比原生快
SembleCPU 上 250ms 建库 1.5ms 查询的代码搜索引擎,比 grep+read 省 98% token
BitFun (flashgrep)用 trigram 倒排索引把 grep 提速 36.1 倍,攻克 Chromium 级巨型仓库

2. 完整对比矩阵

2.1 技术架构

维度code-review-graphGitNexuscode-graph-rag-mcpSembleBitFun (flashgrep)
流派图谱图谱图谱 + RAG语义+词法Grep 加速
解析器Tree-sitterTree-sitterTree-sitterTree-sittertrigram(字节级)
存储SQLite + FTS5KuzuDBbetter-sqlite3 + sqlite-vec内存/文件mmap 倒排索引
嵌入可选(OpenAI 兼容等)transformers.js多 provider(memory/transformers/ollama/openai/cloudru)Model2Vec 静态嵌入
检索算法图查询 + FTS5 + 向量图查询(Cypher) + BM25 + 向量图查询 + 向量 + JSCPDBM25 + Model2Vec + RRF + 代码重排trigram posting list 交集
语言主语言 PythonNode.jsNode.js (24+)PythonRust

2.2 性能

维度code-review-graphGitNexuscode-graph-rag-mcpSembleBitFun
索引速度500 文件 ~10s,2,900 文件增量 <2s中等仓库分钟级100+ 文件/秒250ms / 整库Chromium 79s
查询延迟0.4–1.5ms~ms(KuzuDB)<100ms1.5ms亚秒级
Token 节省8.2× 平均,最高 16.4×未公开5.5× 比原生快~98%(45,692→566)不直接节省
超大仓库(Chromium)一般一般中(batch_index)极佳(36.1× 加速)
资源占用65MB 级极轻索引占源码 58%
CPU only✅✅

2.3 语言与场景覆盖

维度code-review-graphGitNexuscode-graph-rag-mcpSembleBitFun
语言数23+ + Jupyter Notebook1111通用全文本(字节级)
结构查询✅✅✅(28 工具)✅✅✅(含 Cypher)✅✅
语义搜索✅✅✅✅✅
影响分析✅✅✅(爆炸半径 + 风险评分)✅✅✅(impact)✅✅
重构辅助✅✅(refactor_tool)✅✅(rename)✅(ai_refactoring)
PR 审查✅✅✅(slash 命令 + Hook)✅✅✅(专用 Skill)
多仓库✅(crg-daemon)✅(registry)✅(多 MCP server)
可视化D3.js + GraphML / Cypher / Obsidian / SVGWeb UI(在线 + 本地 Bridge)
克隆检测JSCPD + 嵌入双引擎

2.4 集成与生态

维度code-review-graphGitNexuscode-graph-rag-mcpSembleBitFun
MCP 工具数28 + 5 prompt 模板7 + Resources26少(聚焦 search)
Claude Code✅✅✅(深度集成)✅✅✅(Skills + Hooks)✅(需配置 warmup=0)间接
Codex✅✅✅(首选)间接
Cursor间接
其他Windsurf/Zed/Continue/OpenCode/Antigravity/Qwen/Qoder/KiroWindsurf/OpenCodeGemini CLI/Claude DesktopOpenCodeBitFun 自家 ADE
Skills7 个专项 Skillssemble init 模板BitFun 内置
HooksGit hook 增量PreToolUse + PostToolUse

2.5 安装与运维

维度code-review-graphGitNexuscode-graph-rag-mcpSembleBitFun
安装难度⭐⭐(pip 一行)⭐⭐⭐(npm + onnxruntime 易踩坑)⭐⭐⭐(tgz + Node 24+)⭐(pip 一行)⭐⭐(桌面端下载即用 / 源码 Rust+Tauri)
运行环境Python 3.10+Node.js ≥18Node.js 24+PythonRust 工具链(源码构建时)
首次配置code-review-graph install 自动配gitnexus setup 自动配各客户端手动 mcp addclaude mcp add semble桌面端图形配置
常见坑Windows 路径 / fastmcp 版本onnxruntime-node 重定向 / LadybugDB / tree-sitter rebuildClaude Code 15s timeout / stdio 严格几乎无OpenSSL 自动下载

3. 选型决策树

┌──────────────────────────────────────────┐
│ 你最关心什么?                            │
└──────────────────────────────────────────┘

   ┌──────────────┼─────────────────┐
   ▼              ▼                 ▼
省 Token       理解结构          搜超大仓库
   │              │                 │
   ▼              ▼                 ▼
Semble       图谱方案           BitFun
              │                  flashgrep
       ┌──────┼──────┐
       ▼      ▼      ▼
   语言广   生态全   多语言
   23+      Skills   + 多 Codex
   下载即用 Web UI   + 克隆检测
   │        │       │
   ▼        ▼       ▼
code-     GitNexus  code-graph-
review-              rag-mcp
graph

3.1 按使用场景选

场景推荐
我用 Claude Code,做 PR 评审为主code-review-graph + GitNexus 二选一
我用 Claude Code,想要图 + Web UI + Skills 完整体验GitNexus
我用 Codex 为主code-graph-rag-mcp + Semble
我用 Cursor + 需要语义搜索Semble(极简) + 可选 code-review-graph
我做的是 Chromium / Android AOSP / 千万行级 MonorepoBitFun flashgrep + 上层任选
我用纯 Python 项目 + 团队规模化code-review-graph(语言支持最广)
我用 Lerna Monorepo(JS/TS)code-graph-rag-mcp(自带 lerna_project_graph
我用容器 / CI,要求轻量Semble(CPU 250ms 建库)
我想要"图谱 + 跨语言克隆检测"code-graph-rag-mcp
我想要"代码改了影响哪里"code-review-graph / GitNexus(爆炸半径)
我有内网 / 安全合规要求,不能用云 APISemble(完全本地 CPU) + code-review-graph(可选 sentence-transformers 本地嵌入)

3.2 按团队画像选

团队类型推荐组合
小团队,单语言(Python 居多)code-review-graph + Semble
小团队,TS 全栈GitNexus 或 code-graph-rag-mcp
中型团队,Monorepocode-graph-rag-mcp + Semble
大型团队,多语言巨型仓库flashgrep + code-review-graph + Semble
个人开发者Semble(单纯省钱)或 code-review-graph(功能全)

4. 最佳组合实践

4.1 三派组合:互补到位

┌────────────────────────────────────────────────┐
│              AI Coding Agent                    │
│       (Claude Code / Codex / Cursor)           │
└────────────────────────┬────────────────────────┘
                         │ MCP
        ┌────────────────┼────────────────┐
        ▼                ▼                ▼
   图谱派              语义检索          Grep 加速
   ────────            ────────         ────────
   code-review-graph   Semble           flashgrep
   或 GitNexus         或 code-graph-   (BitFun)
   或 code-graph-rag    rag-mcp
        │                │                │
        ▼                ▼                ▼
   "改这个谁受影响"     "认证流程在哪"     "找字符串/常量"
   "PR 安全吗"          "类似的函数"      "全仓库 grep"
   "架构热点是什么"     "按意图找代码"     "Chromium 级搜索"

4.2 三个实操配置示例

配置 A:Claude Code 全栈用户(中型 TS 项目)

bash
# 1. 主图谱:GitNexus(含 Skills + Hooks + Web UI)
npm install -g gitnexus
gitnexus setup
cd /path/to/project && gitnexus analyze --embeddings

# 2. 极速语义搜索补充:Semble
claude mcp add semble -s user -- uvx --from "semble[mcp]" semble

# 3. 重启 Claude Code

配置 B:Codex 用户(多语言 Monorepo)

bash
# 1. 主索引:code-graph-rag-mcp(11 语言 + 26 工具 + Lerna 支持)
npm install -g ./er77-code-graph-rag-mcp-2.7.12.tgz
codex mcp add code-graph-rag -- code-graph-rag-mcp

# 2. 极速搜索补充:Semble
codex mcp add semble -- uvx --from "semble[mcp]" semble

# 3. (可选)大仓库再叠 flashgrep
# 使用 BitFun 桌面端,或自行编译 flashgrep crate

配置 C:超大仓库(Chromium / Android AOSP)

bash
# 1. 主搜索:BitFun (flashgrep)
# 下载 BitFun 桌面端:https://github.com/GCWing/BitFun/releases

# 2. 结构理解:code-review-graph(23 语言支持,对 C/C++/Java/Rust/Kotlin 都好)
pip install code-review-graph
code-review-graph install --platform claude-code
cd /path/to/aosp && code-review-graph build
# 注意:超大仓库建议先 .code-review-graphignore 排除 build 产物

# 3. (可选)语义补充:Semble
claude mcp add semble -s user -- uvx --from "semble[mcp]" semble

5. 通用风险与陷阱

5.1 通用风险

风险影响项目缓解
本地索引膨胀全部(特别是 BitFun 58%)加 .gitignore、限制 --max-file-size
嵌入 API 费用用云嵌入的 code-review-graph / code-graph-rag-mcp选自托管 vLLM / Ollama / Model2Vec
索引过期全部用 hooks / daemon / watcher 自动增量
多人共享索引冲突全部推荐每人本地索引;不要把 .gitnexus/ / .code-review-graph/ 提交 git
跨平台兼容GitNexus(onnxruntime)/ code-graph-rag-mcp(better-sqlite3)按各项目 troubleshooting 文档预先处理
MCP 客户端 timeoutcode-graph-rag-mcp 在 Claude Code(15s 硬限制)MCP_SEMANTIC_WARMUP_LIMIT=0
stdio 严格性code-graph-rag-mcp 在 Codex升级到 v2.7.12+,避免 stdout 日志

5.2 数据隐私

项目数据流向
code-review-graph默认全本地;启用云嵌入时只发送函数签名(约 10 token/节点)
GitNexus默认全本地(transformers.js);Web UI 在线版数据不上传
code-graph-rag-mcp启用 OpenAI/Gemini provider 时会出云;可切到本地 transformers/ollama
Semble完全本地
BitFun (flashgrep)完全本地

企业内网首选:Semble + BitFun + code-review-graph(用自托管嵌入)


6. 路线图与未来

6.1 五大项目近期方向

项目方向
code-review-graph函数体嵌入(不只是签名)、改进 JS/Go flow detection
GitNexus更多 Skills、更轻量化嵌入
code-graph-rag-mcp更稳的 Codex/Claude Code stdio 兼容、更多语言
Semble模型迭代(potion-code-32M 等)、增量更新
BitFun独立 flashgrep CLI、跨仓库共享索引

6.2 行业趋势观察

  • MCP 成为事实标准:所有项目都聚焦 MCP 而非各自封闭协议
  • 图 + 向量混合:单纯图或单纯向量都不够,混合是默认范式
  • 静态嵌入兴起:Model2Vec 这类"无 Transformer 嵌入"让本地 RAG 跑得起
  • Skills + Hooks 双轮驱动:MCP 工具 + 自动注入 + 自定义工作流
  • 场景细分:评审、调试、重构、影响分析独立 Skill 化

7. 给读者的一份"5 分钟决定"

如果你只想看一句话答案:

你的情况直接选
我是 Claude Code 用户,想要"省钱 + 评审好用",能装 Pythoncode-review-graph
我是 Claude Code 用户,想要"图 + 浏览器可视化 + Skills"GitNexus
我是 Codex / 多 AI 工具用户,想要"图 + 语义 + 克隆检测"一站式code-graph-rag-mcp
我想要"最小阻力 + 最大 token 节省 + CPU only"的代码搜索Semble
我的仓库千万行级,grep 已经卡死BitFun flashgrep
我都要§4 最佳组合实践

8. 参考链接