KiroGraph:面向AI的原生代碼知識圖譜,最佳化令牌效率
KiroGraph 是一個為 AI 程式設計助手設計的語義程式碼知識圖譜工具,它透過預索引的本地資料庫(SQLite)提供符號關係、呼叫圖、型別層次等結構資訊,減少 AI 在程式碼庫探索中的工具呼叫次數,從而降低上下文消耗並提升響應速度。該工具支援可選的嵌入向量語義搜尋與架構分析,完全本地執行,無需外部服務或 API 金鑰。
KiroGraph 是一個專為 AI 程式設計助手打造的本地語義程式碼知識圖譜工具,旨在解決 AI 在複雜程式碼庫中探索時效率低下的問題。當 AI 需要理解程式碼時,傳統方法依賴大量檔案讀取、grep 搜尋和 glob 模式匹配,每一次操作都是一次工具呼叫,不僅消耗上下文視窗,還拖慢響應速度。KiroGraph 透過預先索引的語義知識圖,將符號關係、呼叫鏈、型別層次、影響半徑等資訊在一個 MCP 工具呼叫中提供,讓 AI 能瞬間獲取所需上下文,減少工具呼叫次數,加快處理複雜任務的速度。
KiroGraph 的核心索引機制基於 tree-sitter 解析原始碼為抽象語法樹(AST),從中提取 24 種節點型別(函式、方法、類、介面、型別、列舉、變數、常量、路由、元件等)和 12 種邊關係(呼叫、匯入、匯出、繼承、實現、包含、引用、例項化、重寫、裝飾、型別關聯、返回)。所有資料儲存在專案本地的 SQLite 資料庫 .kirograph/kirograph.db 中,完全離線執行,不依賴任何外部服務或 API 金鑰。索引在 Kiro 整合中透過鉤子自動保持最新,無需後臺程序監控。
索引分為三個層次:結構層(預設啟用)、語義層(可選)和架構層(可選)。結構層使用 tree-sitter 解析並提取節點和邊,為所有圖遍歷工具提供支援,無需額外依賴。語義層在啟用後,會對函式、方法、類等符號生成 768 維向量嵌入,使用 nomic-ai/nomic-embed-text-v1.5 模型(約 130MB),並支援多種向量引擎(包括餘弦、sqlite-vec、Orama、PgLite、LanceDB、Qdrant、Typesense)進行自然語言搜尋。架構層則檢測專案的高層結構,如包和架構層次,並計算耦合度指標,結果儲存在 kirograph.db 的 arch_* 表中。
安裝方式包括全域性 npm 安裝(尚未釋出到 npm 倉庫)或從原始碼構建。安裝後透過 kiograph install 命令整合到 Kiro 環境,會自動配置 MCP 伺服器、IDE 自動同步鉤子、CLI 代理和指導檔案。對於其他支援 MCP 的工具(如 Claude Code 和 Codex),也提供了實驗性整合支援,但未充分測試。KiroGraph 的目標是讓 AI 程式設計助手以更少的資源消耗,更高效地理解和操作程式碼庫。