Graphify Knowledge Graph & MCP Skill
graphify 是一个本地设备上运行的、确定性的代码库分析引擎,由 Tree-sitter AST 解析驱动。它把源代码、SQL 模式、文档和元数据转换为可查询的知识图谱(graph.json)以及可视化文件(graph.html)。
🚀 核心能力
- 确定性 AST 解析:映射真实的代码关系(函数调用、类继承、模块导入、模式键),而不是仅依赖语义向量搜索。
- 持久化知识图谱:生成 /output/graphify/graph.json,以及人类可读的 /output/graphify/GRAPH_REPORT.md。
- 交互式图谱检查器:可在 /output/graphify/ 中查看当前图谱节点、边、复杂度指标,或在多个已索引目标之间切换上下文。
- MCP 服务器集成:为 AI 助手暴露工具(query_graph、get_node、get_neighbors、shortest_path)。
🛠️ CLI 命令与用法
- 自动安装与设置
如果系统尚未安装 graphify,运行:
uv tool install "graphifyy[mcp]"
或
pipx install "graphifyy[mcp]"
- 生成知识图谱
要索引当前工作区并将结果保存到 /output/graphify/:
uv tool run --from "graphifyy[mcp]" graphify . --output-dir ./output/graphify
- 图谱检查器与状态切换器
要检查活动图谱状态或列出已索引的图谱:
检查活动图谱是否存在
Test-Path ./output/graphify/graph.json
读取图谱摘要报告
Get-Content ./output/graphify/GRAPH_REPORT.md -Head 50
- 运行 MCP 服务器
要在端口 7812 上启动 Graphify MCP 服务器:
uv tool run --from "graphifyy[mcp]" graphify mcp serve --port 7812
🔌 暴露的 MCP 工具
当 Graphify MCP 服务器运行时,智能体可以使用以下工具:
- query_graph:搜索匹配关键词或查询的节点与关系。示例:query_graph("authentication flow")
- get_node:获取特定函数、类或文件节点的完整详情。示例:get_node("script.js:initApp")
- get_neighbors:列出某个节点的上游/下游调用者与导入。示例:get_neighbors("AGENTS.md")
- shortest_path:查找两个组件之间的依赖路径。示例:shortest_path("index.html", "graphify")
📁 输出与 Obsidian Vault 集成
所有交付物都保存在 /output/graphify/ 下,符合 SkillForge 项目防护栏要求:
- GRAPH_REPORT.md:Markdown 摘要,包含前置元数据和 Obsidian Wikilinks([[Note Title]])。
- graph.html:独立的 D3/Vis.js 交互式网页图谱查看器。
- graph.json:用于程序化智能体上下文的结构化 JSON 表示。
🛡️ 回退与恢复协议
如果 graphifyy 运行失败,或在不受支持的语言上遇到语法错误:
- 回退到标准 AST 解析或结构化 ripgrep(grep_search)。
- 将错误详情记录到 /output/graphify/error.log。
- 通知用户,并提供通过 uv tool install --force "graphifyy[mcp]" 自动重新安装。