Graphify — 面向 AI 編碼助理的知識圖譜
Graphify 是開源技能,透過把程式碼、文件、論文及圖示轉成可查詢知識圖譜,幫助 AI 編碼助理理解多模態程式碼庫。
Click to Use Graphify MCP Free每日更新 · 所有 Graphify 使用者共享
今日 GitHub Trending 知識圖譜
直接查看 Graphify 為全球每日熱門專案產生的架構圖,也可透過 Graphify MCP 使用同一批共享圖譜。
什麼是 Graphify?
Graphify 是為 AI 編碼助理(例如 Claude Code、OpenAI Codex、OpenCode)而設的多模態知識圖譜建構器。它結合 Tree-sitter 靜態分析與 LLM 語義抽取,將整個儲存庫(原始碼、文件、研究論文、圖示)轉為可互動圖譜,同時解釋程式「做什麼」與「為什麼這樣設計」。項目由 Safi Shamsi 維護,採用 MIT 授權,並建立在 NetworkX、Tree-sitter 等成熟函式庫之上。
核心能力
Graphify 把靜態分析、語義抽取與圖聚類整合為可被 AI 編碼助理直接呼叫的技能。
多模態抽取
可解析程式碼(.py、.js、.go、.java 等)、Markdown、PDF 與圖片。Tree-sitter 抽取 AST、呼叫圖與註解;LLM 從文字抽取概念;視覺模型讀取圖示。
知識圖譜建構
把所有節點與邊合併進 NetworkX 圖,並以 Leiden 演算法做語義社群偵測,無需向量嵌入。
核心節點與異常連結
找出系統中度數最高的「god nodes」,並標記跨檔案、跨領域的意外關聯,協助深入排查。
互動式輸出
輸出互動式 graph.html、可查詢 graph.json,以及可讀的 GRAPH_REPORT.md 稽核報告。
助理整合
內建 /graphify、/graphify query、/graphify path、/graphify explain,可用於 Claude Code、Codex、OpenCode 等。
安全預設
嚴格輸入驗證:僅允許 http/https、限制大小與逾時、路徑收斂檢查、節點標籤 HTML 轉義,防 SSRF/注入/XSS。
架構與流程
Graphify 採用多階段流程。每個階段都是獨立模組,貢獻者可按需要擴展。
配套模組包括 URL 抓取的 ingest.py、語義快取 cache.py、輸入驗證 security.py、即時更新 watch.py 以及 MCP 服務 serve.py。
本機安裝與執行
使用 Python 3.12 和 uv 從儲存庫安裝 Graphify AI。套件名稱為 private-context-mcp,CLI 指令為 private-context。
# 需要 Python 3.12 和 uv;請在 Graphify AI 儲存庫根目錄執行
uv sync --extra dev --extra cloud --no-editable \
--reinstall-package private-context-mcp
# 驗證本機安裝
uv run --no-sync private-context doctor
# 啟動本機 stdio MCP 服務
uv run --no-sync private-context serve --transport stdio
這些指令使用 Graphify AI 鎖定的相依套件和本機執行環境;如不需本機安裝,可直接使用 app.graaph.org 託管控制台。
實作示例
倉庫附帶可重現語料,展示 Graphify 在小型函式庫及大型程式碼+論文混合語料上的表現。
httpx(小型)
6 個 Python 檔模擬 HTTP 傳輸層。結果:144 個節點、330 條邊、6 個社群。核心節點:Client、AsyncClient、Response、Request。異常連結:DigestAuth → Response。
Karpathy 混合語料
3 個 GPT 框架倉庫 + 5 篇 attention 論文 + 4 張圖示(約 52 檔、9.2 萬字)。結果:285 節點、340 邊、53 社群。平均查詢約 1.7k token,對比傳統約 123k,壓縮約 71.5×。
比較
Graphify 與程式碼智慧領域相鄰開源專案的定位比較。
| 專案 | 聚焦 | 優勢 | 相對 Graphify 的限制 |
|---|---|---|---|
| Sourcegraph | 跨倉庫程式碼搜尋 | 企業級導覽能力 | 並非知識圖譜;設計語義支援有限 |
| Code2Vec | 函式級向量表示 | 向量檢索與分類 | 沒有圖結構,也不支援多模態輸入 |
| Neo4j | 通用圖資料庫 | 強大的 Cypher 查詢 | 不會自動從程式碼生成知識圖譜 |
安全、授權與可信性
Graphify 採用 MIT 授權。核心依賴 NetworkX(BSD)與 Tree-sitter(MIT)皆為寬鬆開源授權。專案不做遙測。唯一外部網絡呼叫是語義抽取步驟,使用你自己的模型 API Key;只傳送文件語義描述,不傳原始碼。URL 僅允許 http/https,下載有大小與逾時限制,輸出路徑有包含檢查,節點標籤做 HTML 轉義,以防 SSRF、Cypher 注入與 XSS。
深入了解 Graphify
閱讀更多指南,了解 Graphify 如何為 AI 編碼助理建構、聚類並提供知識圖譜。
常見問題
Graphify 會把我的程式碼傳給第三方模型嗎?
不會。Graphify 只把文件與圖示的語義描述傳送到你已設定的模型,不會傳送原始碼檔案。
支援哪些 AI 編碼助理?
開箱支援 Claude Code、OpenAI Codex 和 OpenCode(透過 skill-*.md 清單)。任何可執行 shell 指令的助理都可呼叫 graphify。
Graphify 可處理多大型的程式碼庫?
Tree-sitter 解析與 NetworkX 建圖基本會隨規模線性擴展。在約 50 萬字語料上,BFS 子圖查詢通常約 2k token,而傳統方式約 67 萬 token。
Graphify 可免費商用嗎?
可以。Graphify 採 MIT 授權,個人及商業用途皆可免費使用。