乐于分享
好东西不私藏

这个开源插件完全免费,却让我的 AI 编码助手省了 90% 的 token

这个开源插件完全免费,却让我的 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——连接数最多的节点,也就是项目的”交通枢纽”:

排名
节点
边数
角色
1
ChatPanel
80
聊天面板
2
PetWidget
38
桌面宠物
3
GenericAgentHandler
32
Agent 处理器
4
_PetInterfaceAdapter
28
宠物接口适配器
5
SQLiteStorage
24
结构化日志存储

ChatPanel 有 80 条边,意味着它和 80 个不同概念有关联。它才是这个项目的真正中心,而不是我以为的 GenericAgentHandler

还有 Surprising Connections——模型推断出的跨模块隐含关系:

  • get_db_url() → get_config()(alembic 配置和主项目配置相连)
  • BaseHandler → StepOutcome(执行循环和结果模型相连)
  • GenericAgentHandler → BaseHandler(Agent 处理器依赖执行循环基类)

这些关系不是显式 import,而是 graphify 通过代码结构模式推断出来的。人眼很难一眼看出来,但图里一目了然。


三、省了 90% 的 token,怎么算的?

以前我问 Claude Code 一个架构问题,比如”日志系统是怎么设计的?”

它的工作流程大概是:

  1. Glob 扫 logstack/ 目录
  2. Grep 搜 “LogConfig”、”SQLiteStorage”
  3. 读 5-8 个文件
  4. 再 Glob 扫相关引用
  5. 再读 3-4 个文件
  6. 总结输出

平均 10-15 次文件搜索调用,消耗 500-1500 tokens。

装了 graphify 之后:

  1. 读 GRAPH_REPORT.md(约 1000 字)
  2. 直接回答

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」,我发你安装教程和用法合集。