项目简介
RAGex是一个专为大型语言模型(LLM)设计的代码理解与搜索增强工具。它通过构建代码库的向量索引,使LLM能够进行语义搜索(例如,“查找用户认证功能”)和模式搜索(例如,“查找所有异步函数”),从而帮助LLM更准确地理解代码上下文,减少重复代码的生成,提高开发效率和代码质量。
主要功能点
- 智能代码搜索: 支持自然语言的语义搜索和灵活的正则表达式模式搜索,自动识别搜索意图。
- 上下文感知: 理解代码间的关系,提供比传统文本匹配更深层的上下文信息。
- 高速与安全: 基于Ripgrep和向量嵌入实现亚秒级搜索;可本地运行在Docker中,确保代码隐私安全。
- 多语言支持: 自动识别并索引Python, JavaScript, TypeScript等多种编程语言。
- 持续索引: 自动监控代码库变化并进行增量索引,确保搜索结果始终最新。
安装步骤
- 安装Docker: 确保您的系统已安装Docker。RAGex在Docker容器中运行其核心服务。
- 一键安装RAGex CLI: 在终端运行以下命令,这将自动检测您的平台、拉取Docker镜像并安装 'ragex' 命令行工具到 '~/.local/bin'。
curl -sSL https://get.ragex.dev | bash -s -- --network --model balanced- '--network': 启用网络访问,允许RAGex下载更多优化模型(推荐)。
- '--model balanced': 使用平衡模型,在搜索质量和速度之间提供良好折衷。
- 索引您的代码库: 进入您的项目目录,运行以下命令,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"' 可以指定持久化数据存储目录。如果未指定,将使用默认目录。
基本使用方法
- 连接到MCP客户端: 在您的LLM客户端(例如Claude Code)中注册RAGex MCP服务器。您可以通过运行RAGex CLI提供的注册命令来完成此操作:
ragex register claude | sh - 在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与计算