graphify: 一個為程式碼庫設計的知識圖譜生成器,以路徑追蹤與語義查詢取代 grep 搜尋

graphify: 一個為程式碼庫設計的知識圖譜生成器,以路徑追蹤與語義查詢取代 grep 搜尋

它解決了什麼問題

Graphify 將程式碼庫及其相關文件轉換為可搜尋的知識圖譜。這取代了手動在檔案中進行 grep 搜尋或僅依賴向量檢索的需求,讓開發者能夠追蹤概念之間的確切路徑,並透過結構化關係來理解專案架構。

運作原理

Graphify 使用 tree-sitter AST 解析原始碼,在本地端針對約 40 種語言確定性地映射關係(例如呼叫、匯入與繼承)。對於 PDF、圖片和影片等非程式碼資產,它會透過 LLM 或 API 進行語義掃描。接著,它會生成一個包含完整圖譜的 graph.json 檔案、一個互動式視覺化工具 graph.html,以及一份總結關鍵架構亮點的 GRAPH_REPORT.md。使用者可以使用 explain 指令來查詢特定概念,或使用 path 指令來尋找兩個節點之間的最短連接。

對象是誰

使用 AI 編碼助手(例如 Claude Code、Cursor、GitHub Copilot 或 Aider)的開發者,他們需要更精確的方式來導航複雜的程式碼庫,並理解不同組件之間是如何互動的。

亮點

  • 本地優先的程式碼解析:使用 tree-sitter AST 進行確定性映射,無需使用 LLM 或將程式碼傳送到機器之外。
  • 多模態支援:將程式碼、文件、PDF、圖片以及音訊/影片映射到單一統一的圖譜中。
  • 明確的來源證明:每個連接都會被標記為 EXTRACTED(原始碼中明確存在)或 INFERRED(透過解析推導而來)。
  • AI 助手整合:可以註冊為 20 多個 AI 編碼平台的技能,以引導助手進行基於圖譜的查詢。
  • 架構洞察:自動識別「上帝節點」(連接度最高的概念)並使用 Leiden 社群檢測演算法來偵測子系統。

Sources