README
🚀 RagCode MCP - 让你的代码库支持AI
RagCode是一款模型上下文协议(MCP)服务器,能立即让你的项目支持AI。它通过语义向量搜索,使像 GitHub Copilot、Cursor、Windsurf 和 Claude 这样的AI助手能够理解你的整个代码库,弥合了你的代码与大语言模型(LLMs)之间的差距。
借助官方 Model Context Protocol Go SDK 构建,RagCode提供了9种强大的工具来对代码进行索引、搜索和分析,是支持AI的软件开发的终极解决方案。
🚀 快速开始
⚡ 一键安装
无需Go环境,无需构建工具,无需配置。只需Docker。
| 系统 | 安装命令 |
| ---- | ---- |
| Linux (amd64) | curl -fsSL https://github.com/doITmagic/rag-code-mcp/releases/latest/download/rag-code-mcp_linux_amd64.tar.gz | tar xz && ./ragcode-installer -ollama=docker -qdrant=docker |
| macOS (Apple Silicon) | curl -fsSL https://github.com/doITmagic/rag-code-mcp/releases/latest/download/rag-code-mcp_darwin_arm64.tar.gz | tar xz && ./ragcode-installer -ollama=docker -qdrant=docker |
| macOS (Intel) | curl -fsSL https://github.com/doITmagic/rag-code-mcp/releases/latest/download/rag-code-mcp_darwin_amd64.tar.gz | tar xz && ./ragcode-installer -ollama=docker -qdrant=docker |
| Windows (PowerShell) | Invoke-WebRequest -Uri "https://github.com/doITmagic/rag-code-mcp/releases/latest/download/rag-code-mcp_windows_amd64.zip" -OutFile "ragcode.zip"; Expand-Archive ragcode.zip -DestinationPath . -Force; .\ragcode-installer.exe -ollama=docker -qdrant=docker |
就是这么简单! 安装程序会自动完成以下操作:
- ✅ 下载并安装
rag-code-mcp二进制文件 - ✅ 在Docker容器中设置Ollama和Qdrant
- ✅ 下载所需的AI模型(
phi3:medium,nomic-embed-text) - ✅ 配置你的IDE(VS Code、Cursor、Windsurf、Claude Desktop)
- ✅ 将二进制文件添加到你的PATH中
🎯 零配置使用
安装完成后,你无需进行任何配置:
- 在你的IDE(VS Code、Cursor、Windsurf)中打开你的项目。
- 向你的AI助手询问关于你代码的问题。
- 就这么简单! RagCode会自动进行索引并给出答案。
💬 "身份验证系统是如何工作的?"
💬 "查找此代码库中的所有API端点"
💬 "展示用户模型及其关系"
第一次查询会触发后台索引。后续查询将即时响应。
✨ 主要特性
🔒 隐私至上:100%本地AI
你的代码永远不会离开你的机器。 RagCode完全在你的本地基础设施上运行:
- ✅ 本地AI模型 - 使用Ollama进行大语言模型和嵌入(在你的硬件上运行)
- ✅ 本地向量数据库 - Qdrant在你的机器上的Docker容器中运行
- ✅ 零云依赖 - 无外部API调用,无数据传输
- ✅ 无API成本 - 永久免费,无使用限制或订阅费用
- ✅ 支持离线使用 - (初始模型下载后)无需互联网即可工作
非常适合: 企业代码库、专有项目、注重安全的团队。
🚀 选择RagCode的原因:性能优势
5 - 10倍更快的代码理解速度
| 任务 | 无RagCode | 有RagCode | 加速比 | | ---- | ---- | ---- | ---- | | 查找身份验证逻辑 | 30 - 60秒(读取10多个文件) | 2 - 3秒(语义搜索) | 10 - 20倍 | | 理解函数签名 | 15 - 30秒(grep + 读取) | 1 - 2秒(直接查找) | 15倍 | | 查找所有API端点 | 60 - 120秒(手动搜索) | 3 - 5秒(混合搜索) | 20 - 40倍 |
节省98%的令牌
- 无RagCode时:AI读取5 - 10个文件(约15,000个令牌)来查找一个函数。
- 有RagCode时:AI获取确切的函数 + 上下文(约200个令牌)。
RagCode与基于云的解决方案对比
| 特性 | RagCode(本地) | 云AI搜索 | | ---- | ---- | ---- | | 隐私性 | ✅ 100%本地 | ❌ 代码发送到云端 | | 成本 | ✅ 永久免费 | ❌ 每月20 - 100+美元 | | 离线使用 | ✅ 支持离线 | ❌ 需要互联网 | | 数据控制权 | ✅ 你拥有一切 | ❌ 由供应商控制数据 |
RagCode与通用RAG对比
| 方面 | 通用RAG | RagCode | | ---- | ---- | ---- | | 分块方式 | 任意文本分割 | 语义单元(函数、类) | | 元数据 | 仅文件名 | 名称、类型、参数、依赖项、行号 | | 结果 | 可能返回部分代码 | 始终返回完整、可运行的代码 |
🌐 多语言代码智能
| 语言 | 支持级别 | 特性 | 文档 | | ---- | ---- | ---- | ---- | | Go | ✅ 完全支持 | 函数、类型、接口、方法、抽象语法树(AST)分析 | 📖 Go分析器 | | PHP | ✅ 完全支持 | 类、方法、接口、特性、PHPDoc | 📖 PHP分析器 | | PHP + Laravel | ✅ 完全支持 | Eloquent模型、路由、控制器、中间件 | 📖 Laravel分析器 | | Python | ✅ 完全支持 | 类、函数、装饰器、类型提示、混合类 | 📖 Python分析器 | | JavaScript/TypeScript | 🔜 计划支持 | 即将推出(基于tree-sitter) | - |
多工作区支持
RagCode会自动检测并管理多个工作区,并使用独立的索引。
📖 工作区检测 → - 自动检测、稳定的ID、缓存
💻 IDE集成
RagCode与所有主流的支持AI的IDE兼容: | IDE | 状态 | 设置 | | ---- | ---- | ---- | | Windsurf | ✅ 自动配置 | 只需安装 | | Cursor | ✅ 自动配置 | 只需安装 | | VS Code + Copilot | ✅ 自动配置 | 需要VS Code 1.95+ | | Claude Desktop | ✅ 自动配置 | 只需安装 | | Antigravity | ✅ 自动配置 | 只需安装 |
📖 手动IDE设置 → | VS Code + Copilot指南 →
📦 安装指南
系统要求
最低要求
| 组件 | 要求 | 说明 |
| ---- | ---- | ---- |
| CPU | 4核 | 用于运行Ollama模型 |
| 内存 | 16 GB | 8 GB用于 phi3:medium,4 GB用于 nomic-embed-text,4 GB用于系统 |
| 磁盘 | 10 GB可用空间 | 约8 GB用于模型 + 2 GB用于数据 |
| 操作系统 | Linux、macOS、Windows | Qdrant需要Docker |
推荐配置(以获得更好的性能)
| 组件 | 要求 | 说明 | | ---- | ---- | ---- | | CPU | 8核以上 | 更好的并发操作 | | 内存 | 32 GB | 更舒适的多工作区索引 | | GPU | NVIDIA 8GB以上显存 | 显著加快Ollama的速度(可选) | | 磁盘 | 20 GB SSD | 更快的索引和搜索 |
📖 完整要求 →
💻 使用示例
基础用法
你可以直接向AI助手提问,例如:
💬 "身份验证系统是如何工作的?"
RagCode会自动进行索引并给出答案。
高级用法
在进行更复杂的代码查询时,例如查找所有API端点:
💬 "查找此代码库中的所有API端点"
RagCode会利用其强大的语义搜索功能快速定位并返回结果。
📚 详细文档
入门指南
配置与操作
语言分析器
- Go分析器 - 函数、类型、接口、GoDoc
- PHP分析器 - 类、特性、PHPDoc
- Laravel分析器 - Eloquent、路由、控制器
- Python分析器 - 类、装饰器、类型提示
技术参考
- 架构概述 - 技术深度剖析
- 工具架构参考 - 完整的API文档
- 增量索引 - 智能索引的工作原理
- 工作区检测 - 多工作区支持
- VS Code + Copilot - 详细的Copilot设置
外部资源
- Model Context Protocol - 官方MCP规范
- Ollama - 本地大语言模型和嵌入模型
- Qdrant - 向量数据库
🔧 技术细节
🛠️ 9种强大的MCP工具
| 工具 | 描述 | 使用场景 |
| ---- | ---- | ---- |
| search_code | 按语义进行搜索 | 探索代码的首选 |
| hybrid_search | 关键字 + 语义搜索以实现精确匹配 | 需要精确标识符时 |
| get_function_details | 获取完整的函数源代码 | 知道确切的函数名称时 |
| find_type_definition | 查找类型/类及其字段和方法 | 理解数据模型时 |
| find_implementations | 查找所有使用情况和调用者 | 进行重构之前 |
| list_package_exports | 列出所有导出的符号 | 探索不熟悉的包时 |
| search_docs | 搜索Markdown文档 | 获取设置、架构信息时 |
| get_code_context | 获取带有上下文的代码片段 | 有文件:行引用时 |
| index_workspace | 重新索引代码库 | 进行重大更改后 |
📖 完整工具参考 →
📄 许可证
RagCode MCP是开源软件,采用**MIT许可证**。
🤝 贡献
我们欢迎贡献!你可以通过以下方式提供帮助:
开发设置
git clone https://github.com/doITmagic/rag-code-mcp.git
cd rag-code-mcp
go mod download
go run ./cmd/rag-code-mcp
微信扫一扫