1. 工具介绍Codegraph 是一个本地代码知识图谱工具专门给 AI agent 用的。核心功能把代码库解析成图结构符号是节点调用/依赖关系是边存在本地 SQLite 里然后通过 CLI 或 MCP 协议暴露给 agent 查询。支持语言Python、Java、TypeScript、Go 等主流语言都能解析。对于 claude code 这类编码 agent 的实际价值减少幻觉 — agent 不再靠猜代码结构而是查真实的图数据节省上下文 — 不用把整个代码库塞进 prompt按需查询相关片段避免改坏东西 — 改之前先查影响范围知道要一起改哪些测试和调用方理解遗留代码 — 面对不熟悉的代码库能快速理清调用链和依赖关系安装npm install -g colbymchenry/codegraph --registry https://registry.npmmirror.com, 使用国内源, 更迅速.装好后的位置示例:~/.nvm/versions/node/v24.18.0/bin/codegraph.2. 用法及示例主要命令init / index — 建索引 sync — 增量更新 query — 搜索符号 callers / callees — 查调用关系 explore — 一次性看源码 调用链 影响范围 impact — 分析改某个符号会影响哪些代码 affected — 找受影响的测试文件3. 真实项目示例某项目, 建完索引后, 会得到.codegraph/codegraph.db文件. 利用统计功能可以看:CodeGraph Status Project: /Users/yichudu/code_work/xx Index Statistics: Files:771Nodes:20,406Edges:35,840DB Size:55.41MB Backend: node:sqlite — built-in(full WAL)Journal: wal Nodes by Kind:import8,238method5,411field3,425file761namespace723class707enum_member610constant422enum58interface21function20variable10Files by Language:java724xml36properties5yaml5python1✓ Index is up todate4. demo示例查看索引它是标准的 sqlite3 索引, 可以直接 select 验证.查看调用关系继续执行SELECT * FROM edges LIMIT 10;.得到:(base)yichuduyichumacbookair cg-demo % /usr/bin/sqlite3 ./.codegraph/codegraph.dbSELECT * FROM edges LIMIT 10;1|file:src/Logger.java|class:eb9696a85f1d51e6cfc23212d3bd6543|contains||||2|class:eb9696a85f1d51e6cfc23212d3bd6543|method:4768bf7673844a5fec20e4ae4f6989c3|contains||||3|file:src/User.java|class:89e1ddb5e0719a82e1de008802f4c305|contains||||4|class:89e1ddb5e0719a82e1de008802f4c305|field:3d1b9111729baeb1f37d982b4af9fa09|contains||||Callees 查看主动调用demo源码// 另有 Logger.java 和 User.java, 篇幅所限做省略.publicclassUserService{privatefinalLoggerloggernewLogger();publicUserfindUser(Stringid){logger.log(Finding user: id);returnnewUser(id,Alice);}publicbooleandeleteUser(Stringid){UseruserfindUser(id);if(user!null){logger.log(Deleting user: user.getName());returntrue;}returnfalse;}}