项目简介

CodeRAG (Code Retrieval Augmented Generation) 是一个专为AI助手设计的本地代码搜索工具。它能快速(<50ms)在代码库中进行混合搜索(TF-IDF关键词匹配 + 向量语义理解),并将结果作为上下文提供给大语言模型(LLM)。它通过Model Context Protocol (MCP) 标准协议与各种AI助手(如Claude Desktop, Cursor, VS Code Copilot等)集成,无需外部数据库或云服务。

主要功能点

  • 极速代码搜索: 在大型代码库中实现毫秒级的搜索延迟。
  • 混合搜索: 结合TF-IDF(关键词)和可选的向量嵌入(语义)技术,提高搜索准确性。
  • 零依赖: 无需Docker、ChromaDB、Ollama等外部服务,开箱即用。
  • 增量索引与文件监控: 快速初始索引,并实时更新文件变更,确保索引始终最新。
  • MCP服务器: 通过JSON-RPC协议为兼容的AI助手提供标准化的代码上下文服务,包括'codebase_search'工具。
  • AST代码分块: 利用抽象语法树(AST)智能地将代码分割成语义单元,提高上下文质量。

安装步骤

CodeRAG作为NPM包发布,可以通过'npx'命令直接运行,无需显式安装。确保您的系统已安装Node.js(或Bun)。

服务器配置

MCP客户端(如Claude Desktop, Cursor, VS Code)需要配置CodeRAG MCP服务器的启动命令。通常在客户端的MCP配置文件中添加以下JSON结构。请根据您的AI助手客户端指引,找到对应的配置文件(例如,Claude Desktop为'claude_desktop_config.json',Cursor为'~/.cursor/mcp.json',VS Code为'.vscode/mcp.json'):

{
  "mcpServers": {
    "coderag": {
      "command": "npx",
      "args": ["-y", "@sylphx/coderag-mcp", "--root=/path/to/your/project"]
    }
  }
}
  • 'server name': 'coderag',这是您在AI助手客户端中引用此MCP服务器的名称。
  • 'command': 'npx',用于执行Node.js包的命令。
  • 'args': 启动CodeRAG服务器的参数列表。
    • '-y': 自动同意安装'@sylphx/coderag-mcp'包。
    • '@sylphx/coderag-mcp': CodeRAG MCP服务器的NPM包名。
    • '--root=/path/to/your/project': 重要! 指定您希望CodeRAG索引和搜索的项目根目录。请务必将其替换为您的实际项目路径。对于VS Code,可以使用 '${workspaceFolder}' 变量来动态指定当前工作区根目录。

基本使用方法

一旦MCP服务器配置并启动,兼容的AI助手客户端将能够自动发现并使用CodeRAG提供的'codebase_search'工具。您可以在AI助手中直接发起代码搜索请求,例如询问“如何实现用户认证逻辑?”或“查找与数据库连接相关的代码”。CodeRAG将搜索您指定项目根目录下的代码文件,并返回相关的代码片段作为AI助手的上下文。

信息

分类

开发者工具