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 編程助手以更少的資源消耗,更高效地理解和操作代碼庫。