项目简介

RAGex是一个专为大型语言模型(LLM)设计的代码理解与搜索增强工具。它通过构建代码库的向量索引,使LLM能够进行语义搜索(例如,“查找用户认证功能”)和模式搜索(例如,“查找所有异步函数”),从而帮助LLM更准确地理解代码上下文,减少重复代码的生成,提高开发效率和代码质量。

主要功能点

  • 智能代码搜索: 支持自然语言的语义搜索和灵活的正则表达式模式搜索,自动识别搜索意图。
  • 上下文感知: 理解代码间的关系,提供比传统文本匹配更深层的上下文信息。
  • 高速与安全: 基于Ripgrep和向量嵌入实现亚秒级搜索;可本地运行在Docker中,确保代码隐私安全。
  • 多语言支持: 自动识别并索引Python, JavaScript, TypeScript等多种编程语言。
  • 持续索引: 自动监控代码库变化并进行增量索引,确保搜索结果始终最新。

安装步骤

  1. 安装Docker: 确保您的系统已安装Docker。RAGex在Docker容器中运行其核心服务。
  2. 一键安装RAGex CLI: 在终端运行以下命令,这将自动检测您的平台、拉取Docker镜像并安装 'ragex' 命令行工具到 '~/.local/bin'。
    curl -sSL https://get.ragex.dev | bash -s -- --network --model balanced
    • '--network': 启用网络访问,允许RAGex下载更多优化模型(推荐)。
    • '--model balanced': 使用平衡模型,在搜索质量和速度之间提供良好折衷。
  3. 索引您的代码库: 进入您的项目目录,运行以下命令,RAGex将开始索引您的代码。首次索引可能需要1-5分钟,具体取决于项目大小。
    cd your-project-directory
    ragex start

MCP服务器配置

MCP客户端(例如Claude Code)需要知道如何启动RAGex MCP服务器才能与之通信。以下是典型的MCP客户端配置示例:

{
  "mcpServers": {
    "ragex": {
      "command": "/path/to/mcp-ragex/ragex",
      "args": ["mcp"],
      "env": {
        "RAGEX_DATA_DIR": "/path/to/persistent/data"
      }
    }
  }
}

请根据您的实际安装路径调整 'command' 字段。通常,'ragex' 命令会安装到您的用户本地二进制目录(例如 '/home/youruser/.local/bin/ragex')。

  • 'server name': 'ragex'。这是MCP客户端用来引用此服务器的唯一名称。
  • 'command': RAGex CLI工具的绝对路径。例如,如果 'ragex' 工具安装在 '/home/youruser/.local/bin/ragex',则此处应填写该路径。
  • 'args': '["mcp"]'。这是一个包含字符串 'mcp' 的列表,指示RAGex CLI以Model Context Protocol服务器模式启动。
  • 'env': 可选的环境变量配置。例如,'"RAGEX_DATA_DIR": "/path/to/persistent/data"' 可以指定持久化数据存储目录。如果未指定,将使用默认目录。

基本使用方法

  1. 连接到MCP客户端: 在您的LLM客户端(例如Claude Code)中注册RAGex MCP服务器。您可以通过运行RAGex CLI提供的注册命令来完成此操作:
    ragex register claude | sh
  2. 在LLM中调用搜索工具: 一旦MCP服务器成功注册并连接到您的LLM客户端,您就可以在LLM对话中直接使用RAGex提供的工具,例如 'search_code()' 或 'search_code_simple()'。
    • 语义搜索示例: 'search_code("find user authentication logic")' (查找与用户认证相关的代码)
    • 正则搜索示例: 'search_code("async def.*test", mode="regex")' (查找所有匹配“async def”后跟任意字符再跟“test”的模式,例如异步测试函数)
    • 简单搜索示例: 'search_code_simple("error handlers")' (系统将自动检测最佳搜索模式以查找错误处理代码)

信息

分类

AI与计算