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 编程助手以更少的资源消耗,更高效地理解和操作代码库。