这个开源插件完全免费,却让我的 AI 编码助手省了 90% 的 token
我是张大鹏,做了十多年人工智能开发,带过不少项目。上周我让 Claude Code 帮我分析一个项目的日志系统架构,结果它连续发起了 17 次 Glob 和 Grep 调用,把我 tests/ 目录里的测试文件、data/ 里的运行时数据、甚至 articles/ 里的博客草稿全扫了一遍。
我问它:”日志系统的设计思路是什么?”
它回了我 800 字,引用了 12 个文件,但最关键的
LogConfig和SQLiteStorage之间的调用关系,它愣是没发现。那一刻我意识到:不是 AI 不够聪明,是我没给它地图。
一、一个免费的”导航仪”
后来我装了一个叫 graphify 的开源插件。
完全免费。MIT 协议。PyPI 直接装。
uv tool install graphifyy
graphify claude install
两句话搞定。
它干的事情很简单:把你的项目扫描一遍,生成一张知识图谱。 不是那种看着很酷但没什么用的可视化,而是真正能帮 AI 助手”按图索骥”的结构化地图。
graphify 分两轮干活:
第一轮是 AST 提取。 用 tree-sitter 本地解析代码结构,类、函数、导入、调用关系,全部抽出来。这一步零成本,不需要调用任何 LLM API。
第二轮是语义提取。 让 Claude 读取文档、图片,提取概念和关系。这一步 optional,如果只做代码分析,第一轮就够了。
最后输出三个文件:
graphify-out/
├── graph.html ← 可交互图谱,浏览器打开
├── GRAPH_REPORT.md ← 核心抽象 + 意外连接 + 建议问题
└── graph.json ← 完整图数据,可查询
二、我的实测数据
我在如意Agent项目上跑了一遍。
这个项目 400 多个文件,但我只关注核心源码(排除了 tests/、articles/、assets/ 这些),最后扫了 117 个 Python 文件。
跑出来的结果:
-
1057 个节点 -
1636 条边 -
92 个社区 -
Token 成本:0
没错,0 token。因为只跑了 AST 提取,全程本地计算,没有调用任何大模型。
最震撼我的是 God Nodes——连接数最多的节点,也就是项目的”交通枢纽”:
|
|
|
|
|
|---|---|---|---|
|
|
ChatPanel |
|
|
|
|
PetWidget |
|
|
|
|
GenericAgentHandler |
|
|
|
|
_PetInterfaceAdapter |
|
|
|
|
SQLiteStorage |
|
|
ChatPanel 有 80 条边,意味着它和 80 个不同概念有关联。它才是这个项目的真正中心,而不是我以为的 GenericAgentHandler。
还有 Surprising Connections——模型推断出的跨模块隐含关系:
-
get_db_url()→get_config()(alembic 配置和主项目配置相连) -
BaseHandler→StepOutcome(执行循环和结果模型相连) -
GenericAgentHandler→BaseHandler(Agent 处理器依赖执行循环基类)
这些关系不是显式 import,而是 graphify 通过代码结构模式推断出来的。人眼很难一眼看出来,但图里一目了然。
三、省了 90% 的 token,怎么算的?
以前我问 Claude Code 一个架构问题,比如”日志系统是怎么设计的?”
它的工作流程大概是:
-
Glob 扫 logstack/目录 -
Grep 搜 “LogConfig”、”SQLiteStorage” -
读 5-8 个文件 -
再 Glob 扫相关引用 -
再读 3-4 个文件 -
总结输出
平均 10-15 次文件搜索调用,消耗 500-1500 tokens。
装了 graphify 之后:
-
读 GRAPH_REPORT.md(约 1000 字) -
直接回答
1 次读取,消耗约 150 tokens。
这就是 90% 的来源。而且更重要的是,回答质量明显更高——因为它不是随机 grep 到啥读啥,而是先看了”地图”,知道哪些节点是关键,哪些社区是相关的。
四、和 Claude Code 的深度融合
graphify 不只是生成一张静态图,它和 Claude Code 做了深度集成。
graphify claude install 会在你的项目里写入两样东西:
第一,.claude/settings.json 里的 PreToolUse hook。
每次 Claude 要执行 Glob 或 Grep 时,hook 会先检查 graphify-out/graph.json 是否存在。如果存在,Claude 会收到提示:
“先读图,别瞎搜。”
第二,CLAUDE.md 里的规则。
告诉 Claude:回答架构问题前先读 GRAPH_REPORT.md,跨模块问题优先用 graphify query 而不是 grep。
这意味着:以后每次对话,Claude 都会先”看地图”,再”走路”。
五、这个插件贵吗?
完全不贵。
-
开源免费:MIT 协议,GitHub 上随便看源码 -
安装免费:PyPI 直接装, uv tool install graphifyy -
使用免费:AST-only 模式零 token 成本 -
无订阅:没有 Pro 版,没有功能限制
作者 Safi Shamsi 在 GitHub 上说得很清楚:
“Free, MIT licensed, open source. No premium tier, no waitlist.”
我用下来的感受是:这玩意儿应该收费,但它偏偏免费。
总结
如果你也在用 Claude Code、Cursor、或者任何 AI 编码助手,我的建议是:
给它一张地图。
不要让它在你的项目里像无头苍蝇一样乱 grep。花 1 分钟装个 graphify,让它学会”按图索骥”。
省下来的不只是 token,还有你和 AI 助手之间反复解释的时间。
如果觉得有用:
-
点个「在看」,让更多开发者看到 -
转发给身边用 AI 写代码的朋友 -
评论区聊聊:你的 AI 助手会在项目里迷路吗?
关于我: 我是张大鹏,大鹏 AI 教育团队负责人。10 年全栈开发经验,目前专注于 AI + 全栈教育培训。
加我微信:yggaibc,备注「graphify」,我发你安装教程和用法合集。
夜雨聆风