Graphify 教程:先用纯代码本地建图
Graphify 把代码、配置和文档整理成可查询知识图。纯代码路径默认用 tree-sitter 在本机解析,不需要 LLM 或向量库。先生成小型代码图并抽查关系,再决定是否加入媒体后端或编码助手 hook。
graphifyy(双 y),安装后的命令是 graphify。1. 安装正确的包
uv tool install graphifyy==0.9.65
graphify --help
不要凭相近名字安装其他 PyPI 包。官方 README 明确说明,其他以 graphify 开头的包与该项目无关。
2. 使用项目副本
复制一个不含生产密钥、生成物可直接删除的仓库。第一次只处理源码和配置,不加 PDF、图片或视频,也不配置模型 key。这样可把验证范围限制在本地静态解析。
3. 生成并检查输出
graphify build /path/to/project-copy
检查输出目录里的 graph.html、JSON 和报告。抽样挑选几个已知函数,核对 calls、imports、inherits 等边是否能在源文件中找到依据。动态调用、反射和运行时生成关系可能缺失。
4. 谨慎安装助手技能
项目级技能只影响当前仓库,适合先试。安装后要查看写入的 skill 与 hook 文件。Claude Code 的 --strict 会在每个会话首次直接读源码时改为图查询,因此它属于宿主行为变化,不是普通只读索引。
5. 单独评估外部后端
文档、PDF、图片和视频的语义处理可能调用已配置的助手模型或 API。Neo4j、FalkorDB、PostgreSQL 和 MCP 也会增加端口、凭据与数据保存范围。逐项启用,记录哪些内容离开本机。
与 SCIP 对比
SCIP 定义标准代码智能索引,用索引器提供符号、定义、引用和文档信息,适合编辑器与代码导航。Graphify 面向人和代理生成跨代码、配置与文档的可浏览图。需要精确导航和标准索引交换时看 SCIP;需要项目知识图与助手查询入口时评估 Graphify。
这里仅补原教程没有展开的事实和边界。安装命令与操作步骤仍以前文为准。
先判断这个项目是否适合你
适合谁用
适合代码库初读、调用关系检查和跨代码/配置/文档的架构梳理。图是索引而非事实数据库:动态调用、反射、生成代码和模型推断可能缺失或错误,关键结论必须回到源文件验证。
采用建议
Graphify 适合先用本地 AST 建一个可查询的代码图,再按需增加文档或媒体后端。采用时要保留源文件复核,并把 skill、hook、API key 与外部图库作为独立权限边界。
原教程未展开的系统信息
核心功能
可解释关系
关系带来源与解释,图可通过 query、explain 和 path 检查,不把推断边当成已证事实。
跨助手技能
支持 Codex、Claude Code、Cursor、Gemini CLI 等多种宿主,并可安装到用户或项目目录。
架构与数据流
CLI 扫描项目,按文件类型选择 tree-sitter 或专用解析器,合并节点和边后执行去重、社区检测与导出。纯代码路径可完全本地;文档、PDF、图片和视频的语义处理只有在配置助手模型或 API key 时才调用后端。技能安装器把指令和可选 hooks 写入宿主目录。
技术栈和运行条件
语言
Python 3.10+
框架
NetworkX、tree-sitter、多种可选解析器和 MCP server
关键依赖
- uv 或 pipx
- graphifyy(双 y)
- 按文件类型选择的 optional extra
- 可选模型 API key 或本地 Ollama
运行环境
默认本地文件输出;可选 Neo4j、FalkorDB 或 MCP 会增加网络和凭据边界
常见问题
Graphify v0.9.65 的 PyPI 包为什么叫 graphifyy?
官方包名是 graphifyy(双 y),安装后命令仍是 graphify。README 明确说明其他 graphify 开头的 PyPI 包与本项目无关。
Graphify 扫描代码时会把源码上传吗?
默认纯代码路径使用本地 tree-sitter,不调用 LLM。文档、PDF、图片和视频的语义处理可能调用已配置的助手模型或 API 后端。
Graphify 的图能代替阅读源码吗?
不能。静态解析会漏掉反射、动态调用和运行时生成关系,推断边也可能出错;关键路径应回到文件和测试核对。
graphify install --strict 会做什么?
Claude Code strict 模式会在每个会话首次直接读源码时重定向到图查询,随后恢复普通提示。它会改变宿主行为,启用前应审查项目 hook。