代码语义智能分析工具

Kairo是一个为AI编程代理提供语义代码智能分析的服务,支持概念搜索、依赖图分析、影响分析和实时文件监控等功能。

  • by Meshyarn
  • Rust
  • 本地部署
  • 更新于
在 GitHub 查看 Meshyarn/kairo

使用说明

开罗

人工智能代理的语义代码智能——由Tantivy提供支持的MCP服务器。

Kairo填补了人工智能编码代理(Claude Code、Copilot等)无法原生覆盖的空白:

  • 概念检索 --按含义查找代码,而不仅仅是关键字(BM25+向量混合)
  • 依赖图 --了解模块依赖关系、检测周期、跟踪导入路径
  • 影响分析 --预测更改文件时发生的中断(传递传播)
  • 文件监视器 --编辑时实时增量索引

安装

# From source (requires Rust toolchain)
cargo install --git https://github.com/Meshyarn/kairo.git

# Or clone and build
git clone https://github.com/Meshyarn/kairo.git
cd kairo
cargo build --release
# Binary: target/release/kairo

MCP配置

克劳德代码

添加 .claude/settings.json (项目)或 ~/.claude/settings.json (全球):

{
  "mcpServers": {
    "kairo": {
      "command": "kairo",
      "args": []
    }
  }
}

克劳德桌面版

添加 claude_desktop_config.json:

{
  "mcpServers": {
    "kairo": {
      "command": "/path/to/kairo",
      "args": ["/path/to/your/project"]
    }
  }
}

Kairo在首次使用时为您的项目建立索引。无需进一步配置。

可选:矢量嵌入

Kairo包含一个捆绑的bge-small-en-v1.5模型,用于混合搜索。如果从没有Git LFS的源代码安装,请使用以下命令启用它:

kairo_status(action: "download-model")
kairo_status(action: "reindex")

工具

kairo_search

混合语义搜索(BM25+向量,与RRF融合)。当Grep错过结果时使用。

kairo_search(query: "retry logic with backoff")
kairo_search(query: "authentication middleware", scope: "code")
kairo_search(query: "API rate limiting", limit: 5)

kairo_graph

查询项目依赖关系图。

kairo_graph(operation: "deps", file: "src/mcp/mod.rs")
kairo_graph(operation: "dependents", file: "src/common/fs.rs")
kairo_graph(operation: "cycles")
kairo_graph(operation: "path", file: "src/main.rs", target: "src/common/fs.rs")
kairo_graph(operation: "impact", file: "src/common/fs.rs")

kairo_status

检查索引运行状况、触发重建或下载嵌入模型。

kairo_status()
kairo_status(action: "reindex")
kairo_status(action: "download-model")

支持的语言

导入提取和依赖关系图支持:

语言 导入模式
生锈 use crate::, use super::, use self::
Types/JavaScript import from, require(), import(), export from
python import, from ... import (相对+绝对)
去吧 import "...", import (...)
PHP use Namespace\Class, require, include

搜索索引涵盖35个以上的文件扩展名(所有主要语言、配置文件、文档)。

建筑

单个Rust二进制文件(~26MB)。没有运行时依赖关系。

  • 搜索: Tantivy BM25F+bgesmall-en-v1.5载体(384 dim),RRF融合(k=60)
  • 图表: 基于正则表达式的导入提取、邻接表、BFS/DFS
  • 观察者: 通知v7,150ms去抖动,增量索引+图形更新
  • 协议: rmcp 0.16,JSON-RPC 2.0通过标准输入

许可证

麻省理工学院