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
- undefinedsafishamsi/graphify