graphify: 一款為程式碼庫與文件設計、並與 AI 編碼助手整合的知識圖譜生成器

graphify: 一款為程式碼庫與文件設計、並與 AI 編碼助手整合的知識圖譜生成器

它解決了什麼問題

Graphify 將程式碼庫及其相關文件(PDF、圖片、影片)轉換為可搜尋的知識圖譜。這讓開發者能夠查詢概念之間的關係、追蹤不同程式碼部分之間的路徑,並在無需手動使用 grep 搜尋檔案或僅依賴基於向量的 RAG 的情況下理解架構。

運作原理

Graphify 使用混合方法來映射專案:

  • 程式碼解析: 使用 tree-sitter AST 進行約 40 種語言的確定性、本地解析。此過程完全在本地進行,不需要 LLM。
  • 語義分析: 對於非程式碼資產(如 PDF、圖片和影片),它使用 LLM(透過配置的 API key 或 AI 助手的模型)來進行語義分析。
  • 圖譜生成: 它會產生一個包含完整圖譜的 graph.json 檔案、一個用於互動式視覺化的 graph.html,以及一個強調關鍵概念與連接的 GRAPH_REPORT.md
  • AI 助手整合: 它可以被註冊為各種 AI 編碼助手(例如 Claude Code、Cursor 和 GitHub Copilot)的「技能 (skill)」,使助手能夠直接使用如 /graphify 之類的指令來查詢圖譜。

對象是誰

需要導航並理解複雜程式碼庫的軟體工程師與架構師,特別是在加入新專案或進行深度架構分析時。

重點特色

  • 本地優先的程式碼映射: 程式碼透過 tree-sitter 在本地進行解析,確保隱私並在程式碼分析時無需支付 LLM 成本。
  • **圖譜導航: 不同於向量索引,它提供了一個真實的圖譜,可以透過遍歷來尋找概念之間的最短路徑。
  • 多模態支援: 將程式碼、文件、PDF、圖片以及影片/音訊映射到單一統一的知識圖譜中。
  • 廣泛的助手相容性: 透過自定義技能與 hooks,整合了超過 20 種 AI 編碼助手。
  • 信心標籤: 圖譜中的每一條邊 (edge) 都會被標記為 EXTRACTED(來源中明確指出)或 INFERRED(透過解析推導而來)。
  • 引用:# NOTE:# WHY:# HACK: 註解中的設計原理提取為一等公民節點。

Sources