🥇 最火新秀

项目Stars (今日)简介
colbymchenry/codegraph13.9k (🔥+4,294)代码预索引知识图谱,给 Claude Code/Codex/Cursor/OpenCode 用的——减少 token 消耗、减少工具调用、100% 本地运行
multica-ai/andrej-karpathy-skills143k (🔥+2,614)Karpathy 的 LLM 编程避坑指南做成一个 CLAUDE.md
obra/superpowers201k (🔥+1,576)Agentic skills 框架,可以和 Hermes 对比着玩
multica-ai/multica30.8k开源 managed agents 平台——把 AI 编程代理变成真正的队友

今天明显是 "AI Agent 技能 / 插件生态大爆发" 的一天。codegraph 今天暴涨 4,294 star 拿到头名,说明大家都在找让 AI 编程更省 token 的方案。

🔍 CodeGraph — 给你的 AI 编程助手装上代码地图

你的痛点 vs CodeGraph 的方案

「vibe coding 的时候大模型很难理解整个项目零零散散的代码」

这就是 CodeGraph 作者说的 "探索税" (The Exploration Tax)。每次你开一个新 session 让 Claude/Cursor/Codex 干活,它会:

  1. 先 spawn 一堆 Explore 子代理
  2. 这些子代理用 grep / glob / Read 满项目乱翻
  3. 大量 token 烧在了"找到文件"而不是"写代码"上

CodeGraph 的解法:提前给你的项目建一张语义知识图谱,AI 不再盲目扫描文件,而是直接查询图谱。

传统方式:AI → grep/glob 扫文件 → 读文件 → 理解 → 写代码
CodeGraph:AI → 查询图谱(毫秒级) → 直接拿到完整上下文 → 写代码

📊 实打实的 benchmark 数据

作者在 7 个真实开源项目(VS Code、Django、Tokio 等)上跑了对照实验,每个跑 4 次取中位数:

指标提升
成本↓ 35%
Token 消耗↓ 59%
速度↑ 49%
工具调用次数↓ 70%

VS Code(~1 万文件)为例——不用 CodeGraph 要 23 次工具调用、1 分 43 秒;用了只要 7 次、1 分钟搞定,连一个文件读取都没有

🧠 它到底怎么工作的?

┌──────────────────────────────────────────────┐
│              Claude Code / Hermes             │
│   "帮我加一个用户认证功能"                      │
│         │                                     │
│    codegraph_context("user auth")             │
│         │                                     │
│         ▼                                     │
│  ┌─────────────────────────────┐              │
│  │     CodeGraph MCP Server    │              │
│  │  ┌───────┐ ┌────────┐      │              │
│  │  │Search │ │Callers │ ...  │              │
│  │  └───┬───┘ └───┬────┘      │              │
│  │      │         │            │              │
│  │  ┌───┴─────────┴──────┐    │              │
│  │  │   SQLite 图谱数据库  │    │              │
│  │  │  · 387 symbols     │    │              │
│  │  │  · 1,204 edges     │    │              │
│  │  │  · FTS5 全文搜索   │    │              │
│  │  └────────────────────┘    │              │
│  └─────────────────────────────┘              │
└──────────────────────────────────────────────┘

四个步骤:

  1. Extraction — tree-sitter 解析源码 AST,提取符号(函数、类、方法)和边(调用、导入、继承、实现)
  2. Storage — 存进本地 SQLite(.codegraph/codegraph.db),带 FTS5 全文搜索
  3. Resolution — 解析引用关系:函数调用 → 定义、import → 源文件、类继承、框架路由
  4. Auto-Sync — 文件监听器(FSEvents/inotify),改代码后 2 秒内自动增量更新,零配置

🛠 8 个 MCP 工具

工具用途
codegraph_search按名称搜索符号
codegraph_context根据任务描述自动返回相关代码上下文(核心!)
codegraph_callers谁调用了这个函数
codegraph_callees这个函数调用了谁
codegraph_impact改动前看影响范围
codegraph_node查单个符号详情 + 源码
codegraph_files索引化的文件结构(比文件系统扫描快)
codegraph_status索引健康状态

🎯 特别香的功能:codegraph affected

改了代码想知道要跑哪些测试?一行搞定:

git diff --name-only | codegraph affected --stdin
# 输出: 被你的改动影响到的所有测试文件

能直接嵌进 CI / git hook,只跑受影响的测试,省 CI 时间。

🌍 支持 21 种语言 + 14 个 Web 框架路由

语言覆盖:TS/JS/Python/Go/Rust/Java/C#/PHP/Ruby/C/C++/Swift/Kotlin/Scala/Dart/Svelte/Vue/Lua/Luau/Liquid/Pascal

框架路由识别:Django / Flask / FastAPI / Express / NestJS / Laravel / Rails / Spring / Gin / Axum / ASP.NET / React Router / SvelteKit / Vue Router —— 能把 URL 路径和 handler 函数直接关联起来!


📦 想装一个试试?

安装超简单,不需要 Node.js(它自带运行时):

# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.sh | sh

# Windows (PowerShell)
irm https://raw.githubusercontent.com/colbymchenry/codegraph/main/install.ps1 | iex

装完在你项目里:

cd your-project
codegraph init -i    # 建索引

22816cbd-d71e-4c9e-a5b7-e3e649620f6e.png

第一步:运行安装器,自动配置 Agent

# 在 PowerShell 里跑(项目目录下或任意位置都行)
codegraph install

6dcad2ed-9bd9-4c6c-a13c-27e4315acd46.png
安装器会交互式问你:

  1. 要配置哪些 Agent → 选 Claude Code 和 Codex CLI(它会自动检测到已安装的)
  2. 全局还是仅本项目 → 建议选 global,这样所有项目有 .codegraph/ 的都自动生效
  3. 自动授权 → 对 Claude Code 会提示加到 auto-allow 列表,选 Yes

如果你想一键跳过交互:

codegraph install --target=claude,codex --yes

第二步:安装器帮你做了什么

Agent写入的配置作用
Claude Code~/.claude.json 加 MCP server 配置启动 Claude Code 时自动加载 CodeGraph 工具
Claude Code~/.claude/CLAUDE.md 加 instructions教 Claude 什么时候用图谱、什么时候 spawn Explore 子代理
Claude Code~/.claude/settings.json 加 auto-allow允许 Claude 自动调用 CodeGraph 工具,不用每次弹确认
Codex CLI~/.codex/AGENTS.md 加 instructions教 Codex 使用图谱

第三步:重启 Agent → 开用

Claude Code

# 在项目目录下启动
claude

进去后可以直接验证:

"用 codegraph_status 看看当前项目的索引状态"

如果能返回 21,124 nodes, 20,183 edges,说明配通了。

Codex CLI

codex

第四步:实际使用——你什么都不用改

配好后,Agent 检测到项目根有 .codegraph/ 目录就会自动切换行为。举个例子:

你:帮我看看这个项目的用户认证流程是怎么实现的

Claude Code 内部(有 CodeGraph):
  → codegraph_context("user authentication")   // 一次调用拿到所有相关代码
  → 直接回答,0 次 grep,0 次盲读

Claude Code 内部(没有 CodeGraph):
  → spawn Explore 子代理
  → grep "auth" → 读 8 个文件
  → grep "login" → 读 5 个文件
  → grep "token" → 读 6 个文件
  → 拼出答案,烧掉一堆 token

⚠️ Windows 特别注意

  1. CodeGraph MCP server 路径:安装器会把 codegraph 加到 PATH 或写入绝对路径。确认一下:

    where.exe codegraph
    

    应该能找到一个路径。

  2. 如果 Agent 启动时报 codegraph: command not found:手动把 CodeGraph 安装目录加到 PATH,或者用完整路径:

    # 找到 codegraph 在哪
    npm list -g @colbymchenry/codegraph
    # 或者
    where.exe npx
    
  3. Claude Code 的 MCP 配置路径在 Windows 上是 %USERPROFILE%\.claude.json,可以用:

    notepad $env:USERPROFILE\.claude.json
    

    确认里面有 "codegraph" 的 MCP server 条目。


🧪 验证是否生效

启动 Claude Code 后,试这几个命令:

# 1. 搜索一个你确定存在的类
"用 codegraph_search 搜索 XXXService"

# 2. 查调用关系  
"用 codegraph_callers 看 XXXService.init() 被谁调用了"

# 3. 直接做实际任务
"帮我给 XXXController 加一个参数校验"

如果 Agent 直接调了 CodeGraph 工具而没有疯狂 grep,就说明配通了 ✅
安装器会自动检测你装了哪些 AI 工具(Claude Code / Cursor / Codex / Hermes Agent 全支持!),然后自动配好 MCP server 和 CLAUDE.md 之类的 instructions。
重点——支持 Hermes Agent! 你现在的 Hermes 就能直接用。

当项目很大的时候会有性能问题吗?

✅ 先说结论:设计上就是为大型项目优化的,且收益随项目规模递增

📊 自有 benchmark — 最大测试了 VS Code(~10,000 文件)

项目规模Cost 节省Token 减少工具调用减少
Gin (Go)~150 文件22%23%19%
Alamofire (Swift)~100 文件38%59%77%
OkHttp (Java)~640 文件17%41%64%
Excalidraw (TS)~600 文件47%73%86%
Django (Python)~2,700 文件34%64%81%
Tokio (Rust)~700 文件52%81%89%
VS Code (TS)~10,000 文件35%73%72%

关键结论在 README 里直接写了:

"The gains scale with codebase size" — 项目越大,收益越明显。VS Code 这种万文件级项目,Agent 从图谱直接回答,零文件读取;而裸奔的 Agent 在那疯狂 spawn Explore 子代理 grep/find/Read。


🛡 三层防护避免性能陷阱

1. 自动排除脏数据

  • 完全遵循 .gitignore——node_modulesdistbuild.env 等从不索引
  • 单个文件 > 1MB 直接跳过(minified bundle、generated code、vendor blobs)
  • 只索引源码文件(按扩展名匹配 21 种语言)

2. SQLite + WAL 模式

  • 数据库是普通 SQLite 文件(.codegraph/codegraph.db
  • WAL 模式:并发读永远不会被写阻塞——你在改代码触发 auto-sync 时,Agent 的查询不受影响

3. 增量更新 + 防抖

  • 首次 codegraph init -i 是全量索引(一次性成本)
  • 之后用原生 OS 文件事件(macOS 用 FSEvents)监听变更
  • 2 秒防抖窗口:你保存文件后等 2 秒再增量同步
  • SHA-256 增量:只重新处理内容真正变了的文件

⚠️ 潜在瓶颈(诚实地说)

场景风险实际情况
首次索引 10k+ 文件耗时长一次性成本,tree-sitter 逐文件解析,预计几分钟到十几分钟
超大 monorepo(100k+ 文件)数据库体积SQLite 能轻松 handle 百万级符号,但 .codegraph/ 目录可能膨胀到几百 MB
索引时内存OOM 风险tree-sitter 是文件级解析,做完一个释放一个,内存可控;但极端大型文件(接近 1MB 的源文件)可能 spike
频繁切分支大量文件变动触发全量重索引目前增量是基于文件 hash 的,大范围变动时需要较多 CPU

好消息是 GitHub Issues 里搜不到任何关于大项目性能/内存问题的投诉(38 个 issue 里 0 个性能相关),侧面说明现有设计对常见项目规模够用。


🔄 还有一个 Rust 替代品:codemap

Graham Brooks 用 Rust 重写了一个叫 codemap 的版本,思路几乎一样,区别是:

  • 编译成单一二进制,不需要 Node 运行时(但 CodeGraph 现在已经自带 Node 了所以没差)
  • 17 个 MCP 工具(比 CodeGraph 的 8 个更细粒度)
  • 支持 codemap-unused 找死代码、codemap-path 查两个符号间的调用链

如果遇到 CodeGraph 的性能瓶颈(比如数据库锁——但 WAL 模式已经解决了),codemap 可以当备选。


🎯 总结

对于你这种 vibe coding 场景,CodeGraph 在越大的项目上价值越大。小项目(<200 文件)可能感知不强,但一旦上百个文件、跨模块调用关系复杂,它能直接把 AI 的"理解成本"砍掉一半以上。

唯一需要注意的是首次索引时间——建议午饭前跑 codegraph init -i,回来就好了 😄