Graphify – 将任何代码库转换为可查询的知识图谱
将代码、文档、SQL 模式和 PDF 转换为可查询的知识图谱,在 AI 编码助手中用 /graphify 替代 grep。
证据显示:安全策略详细说明了威胁模型,包括URL验证、路径遍历防护、XSS清理、提示注入缓解等,体现了最小权限原则。安装和操作需要用户明确执行命令,如`graphify install`,且默认不进行网络调用。数据流透明:代码本地解析,文档/媒体通过用户配置的API密钥进行语义处理,README明确说明。敏感数据处理:不存储凭据或API密钥,但依赖用户配置的API密钥,未明确说明密钥存储方式。依赖安全:CI包含bandit和pip-audit,但非阻塞(continue-on-error),且未提供审计结果。外部影响:默认无网络监听,但`ingest`子命令可获取URL,需用户明确提供。回滚:提供`graphify uninstall`,但未说明数据回滚或恢复机制。来源归属:README和pyproject明确标识了仓库和包名,但发布者未验证。扣分:回滚机制不完整,依赖安全扫描非阻塞。
证据显示:README、SECURITY.md、pyproject.toml和CI配置在功能描述上一致,无矛盾。依赖在pyproject中明确列出,且CI使用uv.lock锁定版本,确保可重现安装。失败消息:SECURITY.md和代码注释中提供了错误处理说明,如损坏的graph.json恢复消息。扣分:未提供实际运行测试,无法验证自洽性,但静态证据充分。
证据显示:README详细说明了目标受众(AI编码助手用户)和多种使用场景(代码、文档、PDF等)。能力边界明确:代码本地解析,文档/媒体需配置API密钥,且列出支持的文件类型和可选扩展。触发精度:`/graphify`命令和`graphify install`明确,且针对不同平台有特定安装命令。环境适配:支持多种操作系统和Python版本,提供安装说明。扣分:未提供实际运行验证,但静态证据充分。
证据显示:README结构清晰,包含安装、使用、平台支持、文件类型、安全等章节。安装说明详细,包括多种安装方式和常见问题。命名稳定:包名`graphifyy`和命令`graphify`明确,且README警告其他`graphify*`包不相关。示例和FAQ:README包含使用示例和常见问题解答。已知限制:SECURITY.md和README提及安全模型和限制。许可证:Apache-2.0,LICENSE文件完整。版本控制:pyproject版本0.9.37,但未提供CHANGELOG。维护责任:README和SECURITY.md提供了联系方式和报告漏洞的途径。扣分:缺少CHANGELOG。
证据显示:输出包括graph.html、GRAPH_REPORT.md和graph.json,可直接使用。边际价值:将代码库映射为知识图谱,提供查询、路径、解释等功能,相比传统grep有独特价值。成本效益:代码解析本地免费,文档/媒体需API密钥,但提供免费选项。扣分:未提供实际运行验证,但静态证据充分。
证据显示:README中的基准测试链接到BENCHMARKS.md,但未提供具体数据。安全声明在SECURITY.md中详细说明,但未提供测试证据。事实与推断分离:README明确区分EXTRACTED和INFERRED边,但未提供验证方法。扣分:基准测试数据未在提供文件中,无法验证。
- 发布者身份未验证,需谨慎对待。
- 依赖安全扫描非阻塞,可能存在未修复的漏洞。
- 回滚机制不完整,仅提供卸载命令,无数据恢复。
- 基准测试数据未在提供文件中,无法验证性能声明。
这个 Agent 能做什么,适合哪些场景?
Graphify 是一个本地优先的代码分析工具,集成到 Claude Code、Cursor、Codex、Gemini CLI 等 AI 编码助手中。它使用 tree-sitter 对代码进行确定性 AST 解析,无需 LLM 调用即可生成知识图谱,支持 40 多种语言的跨文件调用/导入/继承等关系。对于文档、PDF、图片和视频,则通过所选后端模型进行语义提取。每次连接都会标记为 EXTRACTED 或 INFERRED,并附带置信度标签。输出包括 graph.html 交互式可视化、GRAPH_REPORT.md 摘要和 graph.json 完整图谱,可直接查询。该工具提供查询、路径和解释命令,并支持 MCP 服务器,使助手能结构化访问图谱。
Graphify 通过 /graphify 命令对当前目录运行,输出 graphify-out/ 下三个文件:graph.html、GRAPH_REPORT.md 和 graph.json。它使用 tree-sitter 解析代码,提取跨文件关系如调用、导入、继承和混入。用户可通过 graphify query "<问题>" 进行自然语言查询,graphify path "A" "B" 查找两个概念间最短路径,graphify explain "符号" 查看节点详情和连接。它提供 graphify install 命令将技能注册到助手,支持多平台如 Claude Code、Gemini CLI 等。也支持 graphify export callflow-html 导出架构图,graphify hook install 在提交后自动重建图谱。它还能添加 URL(论文、视频)以扩展图谱。
- 开发者希望理解不熟悉的代码库,通过可视化图谱和查询快速定位关键概念和模块。
- 在代码审查或调试时,需要追踪函数或服务之间的依赖关系,使用 path 命令查找连接路径。
- 团队希望将代码知识共享给新成员,提交 graphify-out/ 到 git,让他们立即获得图谱。
- 在持续集成中,使用 headless 提取(graphify extract)自动更新图谱,无需人工干预。
- 对于包含文档和 PDF 的项目,使用语义提取将非代码资产映射到同一图谱中。
- 大规模项目需要识别架构热点,利用 god nodes 和 communities 功能发现高连接度概念。
这个 Agent 有哪些优点和局限?
- 本地确定性 AST 解析,无 LLM 调用,保护代码隐私,离线可用。
- 每条连接都有置信度标签,区分显式提取与推断关系。
- 支持多平台集成(20+ 助手),并提供 MCP 服务器便于工具访问。
- 无向量存储,使用真实图谱,支持路径查询和社区检测。
- 文档、PDF、图片等需要 LLM 调用,需配置 API 密钥或使用 IDE 会话。
- 对于大型代码库,图谱文件可能很大(512 MiB 限制),浏览器打开 HTML 可能卡顿。
- 学习曲线:需要熟悉 CLI 命令和配置选项。
- 安装可能遇到 PATH 问题,需要额外配置(如 uv tool update-shell)。
如何安装或部署这个 Agent?
安装命令:uv tool install graphifyy 或 pipx install graphifyy。然后运行 graphify install 注册技能。需要 Python 3.10+、uv 或 pipx。可选扩展:uv tool install "graphifyy[pdf]"、"graphifyy[office]"、"graphifyy[video]" 等。
如何使用这个 Agent?
在 AI 助手中输入 /graphify . 生成图谱。然后可使用 graphify query "<问题>"、graphify path "A" "B"、graphify explain "符号" 查询。对于 headless 提取,设置 API 密钥并运行 graphify extract ./docs --backend claude 等。也可以启动 MCP 服务器:python -m graphify.serve graphify-out/graph.json。
这个 Agent 与同类方案有什么区别?
Graphify 与 mem0 和 supermemory 在 LOCOMO 基准上的 recall@10 相比有显著优势(0.497 对比 0.048 和 0.149),但 QA 准确率略低于 supermemory(45.3% vs 49.7%)。与 RAG 相比,它不使用向量存储,而是构建可遍历的图谱。