> [!NOTE] > 本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。 > [English](./README.en.md) · [原始项目](https://github.com/zilliztech/claude-context) · [上游 README](https://github.com/zilliztech/claude-context/blob/HEAD/README.md) > 原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。 ![](assets/claude-context.png) > 🆕 **需要为 Claude Code 提供持久记忆?** 不妨看看 [memsearch Claude Code plugin](https://github.com/zilliztech/memsearch#for-claude-code-users) —— 一款以 Markdown 为先的记忆系统,能让你的 AI agent 在多个会话间拥有长期记忆。 ### 整个代码库作为 Claude 的上下文 [![License](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![Node.js](https://img.shields.io/badge/Node.js-20%2B-green.svg)](https://nodejs.org/) [![Documentation](https://img.shields.io/badge/Documentation-📚-orange.svg)](docs/) [![VS Code Marketplace](https://img.shields.io/visual-studio-marketplace/v/zilliz.semanticcodesearch?label=VS%20Code%20Extension&logo=visual-studio-code)](https://marketplace.visualstudio.com/items?itemName=zilliz.semanticcodesearch) [![npm - core](https://img.shields.io/npm/v/@zilliz/claude-context-core?label=%40zilliz%2Fclaude-context-core&logo=npm)](https://www.npmjs.com/package/@zilliz/claude-context-core) [![npm - mcp](https://img.shields.io/npm/v/@zilliz/claude-context-mcp?label=%40zilliz%2Fclaude-context-mcp&logo=npm)](https://www.npmjs.com/package/@zilliz/claude-context-mcp) [![Twitter](https://img.shields.io/twitter/url/https/twitter.com/zilliz_universe.svg?style=social&label=Follow%20%40Zilliz)](https://twitter.com/zilliz_universe) [![DeepWiki](https://img.shields.io/badge/DeepWiki-AI%20Docs-purple.svg?logo=gitbook&logoColor=white)](https://deepwiki.com/zilliztech/claude-context) discord zilliztech/claude-context | Trendshift **Claude Context** 是一款 MCP 插件,可为 Claude Code 及其他 AI 编程 agent 添加语义化代码搜索,让它们从你的整个代码库中获得深度上下文。 🧠 **整个代码库作为上下文**:Claude Context 通过语义搜索从数百万行代码中找出所有相关内容。无需多轮探索,结果可直接进入 Claude 的上下文。 💰 **大型代码库的经济实惠之选**:与其在每次请求时把整个目录载入 Claude(费用可能很高),Claude Context 会将代码库高效存入向量数据库,并仅在上下文中使用相关代码,从而控制成本。 --- ## 🚀 演示 ![img](https://lh7-rt.googleusercontent.com/docsz/AD_4nXf2uIf2c5zowp-iOMOqsefHbY_EwNGiutkxtNXcZVJ8RI6SN9DsCcsc3amXIhOZx9VcKFJQLSAqM-2pjU9zoGs1r8GCTUL3JIsLpLUGAm1VQd5F2o5vpEajx2qrc77iXhBu1zWj?key=qYdFquJrLcfXCUndY-YRBQ) Model Context Protocol(MCP)可让你将 Claude Context 与喜爱的 AI 编程助手集成,例如 Claude Code。 ## 快速入门 ### 前置条件
在 Zilliz Cloud 上获取免费向量数据库 👈 Claude Context 需要向量数据库。你可以在 Zilliz Cloud [注册](https://cloud.zilliz.com/signup?utm_source=github&utm_medium=referral&utm_campaign=2507-codecontext-readme) 以获取 API 密钥。 ![](assets/signup_and_get_apikey.png) 复制你的 Personal Key,并在配置示例中替换 `your-zilliz-cloud-api-key`。
获取用于 embedding 模型的 OpenAI API Key 你需要 OpenAI API 密钥来运行 embedding 模型。可在 [OpenAI](https://platform.openai.com/api-keys). 注册获取。 你的 API 密钥格式如下:始终以 `sk-` 开头。 复制密钥,并在下方配置示例中将其用作 `your-openai-api-key`。
### 为 Claude Code 配置 MCP **系统要求:** - Node.js >= 20.0.0 #### 配置 使用命令行界面添加 Claude Context MCP 服务器: ```bash claude mcp add claude-context \ -e OPENAI_API_KEY=sk-your-openai-api-key \ -e MILVUS_ADDRESS=your-zilliz-cloud-public-endpoint \ -e MILVUS_TOKEN=your-zilliz-cloud-api-key \ -- npx @zilliz/claude-context-mcp@latest ``` 详见 [Claude Code MCP documentation](https://docs.anthropic.com/en/docs/claude-code/mcp) 了解更多 MCP 服务器管理细节。 ### 其他 MCP 客户端配置
OpenAI Codex CLI Codex CLI 使用 TOML 配置文件: 1. 创建或编辑 `~/.codex/config.toml` 文件。 2. 添加以下配置: ```toml # IMPORTANT: the top-level key is `mcp_servers` rather than `mcpServers`. [mcp_servers.claude-context] command = "npx" args = ["@zilliz/claude-context-mcp@latest"] env = { "OPENAI_API_KEY" = "your-openai-api-key", "MILVUS_TOKEN" = "your-zilliz-cloud-api-key" } # Optional: override the default 10s startup timeout startup_timeout_ms = 20000 ``` 3. 保存文件并重启 Codex CLI 以使更改生效。
Gemini CLI Gemini CLI 需要通过 JSON 文件手动配置: 1. 创建或编辑 `~/.gemini/settings.json` 文件。 2. 添加以下配置: ```json { "mcpServers": { "claude-context": { "command": "npx", "args": ["@zilliz/claude-context-mcp@latest"], "env": { "OPENAI_API_KEY": "your-openai-api-key", "MILVUS_TOKEN": "your-zilliz-cloud-api-key" } } } } ``` 3. 保存文件并重启 Gemini CLI 以使更改生效。
Qwen Code 创建或编辑 `~/.qwen/settings.json` 文件,并添加以下配置: ```json { "mcpServers": { "claude-context": { "command": "npx", "args": ["@zilliz/claude-context-mcp@latest"], "env": { "OPENAI_API_KEY": "your-openai-api-key", "MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint", "MILVUS_TOKEN": "your-zilliz-cloud-api-key" } } } } ```
Cursor 前往:`Settings` -> `Cursor Settings` -> `MCP` -> `Add new global MCP server` 建议将以下配置粘贴到 Cursor 的 `~/.cursor/mcp.json` 文件中。你也可以在特定项目中安装:在项目文件夹中创建 `.cursor/mcp.json`。更多信息请参阅 [Cursor MCP docs](https://cursor.com/docs/context/mcp)。 ```json { "mcpServers": { "claude-context": { "command": "npx", "args": ["-y", "@zilliz/claude-context-mcp@latest"], "env": { "OPENAI_API_KEY": "your-openai-api-key", "MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint", "MILVUS_TOKEN": "your-zilliz-cloud-api-key" } } } } ```
Void 前往:`Settings` -> `MCP` -> `Add MCP Server` 在 Void MCP 设置中添加以下配置: ```json { "mcpServers": { "code-context": { "command": "npx", "args": ["-y", "@zilliz/claude-context-mcp@latest"], "env": { "OPENAI_API_KEY": "your-openai-api-key", "MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint", "MILVUS_TOKEN": "your-zilliz-cloud-api-key" } } } } ```
Claude Desktop 添加到你的 Claude Desktop 配置: ```json { "mcpServers": { "claude-context": { "command": "npx", "args": ["@zilliz/claude-context-mcp@latest"], "env": { "OPENAI_API_KEY": "your-openai-api-key", "MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint", "MILVUS_TOKEN": "your-zilliz-cloud-api-key" } } } } ```
Windsurf Windsurf 支持通过 JSON 文件进行 MCP 配置。在 Windsurf MCP 设置中添加以下配置: ```json { "mcpServers": { "claude-context": { "command": "npx", "args": ["-y", "@zilliz/claude-context-mcp@latest"], "env": { "OPENAI_API_KEY": "your-openai-api-key", "MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint", "MILVUS_TOKEN": "your-zilliz-cloud-api-key" } } } } ```
VS Code 可通过支持 MCP 的扩展在 VS Code 中使用 Claude Context MCP 服务器。将以下配置添加到你的 VS Code MCP 设置中: ```json { "mcpServers": { "claude-context": { "command": "npx", "args": ["-y", "@zilliz/claude-context-mcp@latest"], "env": { "OPENAI_API_KEY": "your-openai-api-key", "MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint", "MILVUS_TOKEN": "your-zilliz-cloud-api-key" } } } } ```
Cherry Studio Cherry Studio 允许通过其设置界面以可视化方式配置 MCP 服务器。虽然它不直接支持手动 JSON 配置,但你可以通过 GUI 添加新服务器: 1. 前往 **Settings → MCP Servers → Add Server**。 2. 填写服务器详情: - **Name**:`claude-context` - **Type**:`STDIO` - **Command**:`npx` - **Arguments**:`["-y", "@zilliz/claude-context-mcp@latest"]` - **Environment Variables**: - `OPENAI_API_KEY`:`your-openai-api-key` - `MILVUS_ADDRESS`:`your-zilliz-cloud-public-endpoint` - `MILVUS_TOKEN`:`your-zilliz-cloud-api-key` 3. 保存配置以激活服务器。
Cline Cline 使用 JSON 配置文件来管理 MCP 服务器。要集成所提供的 MCP 服务器配置: 1. 打开 Cline,点击顶部导航栏中的 **MCP Servers** 图标。 2. 选择 **Installed** 选项卡,然后点击 **Advanced MCP Settings**。 3. 在 `cline_mcp_settings.json` 文件中添加以下配置: ```json { "mcpServers": { "claude-context": { "command": "npx", "args": ["@zilliz/claude-context-mcp@latest"], "env": { "OPENAI_API_KEY": "your-openai-api-key", "MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint", "MILVUS_TOKEN": "your-zilliz-cloud-api-key" } } } } ``` 4. 保存文件。
Augment 要在 Augment Code 中配置 Claude Context MCP,你可以使用图形界面或手动配置。 #### **A. 使用 Augment Code UI** 1. 点击汉堡菜单。 2. 选择 **Settings**。 3. 前往 **Tools** 部分。 4. 点击 **+ Add MCP** 按钮。 5. 输入以下命令: ``` npx @zilliz/claude-context-mcp@latest ``` 6. 为 MCP 命名:**Claude Context**。 7. 点击 **Add** 按钮。 ------ #### **B. 手动配置** 1. 按 Cmd/Ctrl Shift P,或在 Augment 面板中打开汉堡菜单 2. 选择 Edit Settings 3. 在 Advanced 下,点击 Edit in settings.json 4. 将服务器配置添加到 `augment.advanced` 对象中的 `mcpServers` 数组 ```json "augment.advanced": { "mcpServers": [ { "name": "claude-context", "command": "npx", "args": ["-y", "@zilliz/claude-context-mcp@latest"], "env": { "OPENAI_API_KEY": "your-openai-api-key", "MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint", "MILVUS_TOKEN": "your-zilliz-cloud-api-key" } } ] } ```
Roo Code Roo Code 使用 JSON 配置文件来管理 MCP 服务器: 1. 打开 Roo Code,前往 **Settings → MCP Servers → Edit Global Config**。 2. 在 `mcp_settings.json` 文件中添加以下配置: ```json { "mcpServers": { "claude-context": { "command": "npx", "args": ["@zilliz/claude-context-mcp@latest"], "env": { "OPENAI_API_KEY": "your-openai-api-key", "MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint", "MILVUS_TOKEN": "your-zilliz-cloud-api-key" } } } } ``` 3. 保存文件以激活服务器。
Zencoder Zencoder 在其 JetBrains 和 VS Code 插件版本中都支持 MCP 工具与服务器。 1. 打开 Zencoder 菜单(...) 2. 从下拉菜单中选择 `Tools` 3. 点击 `Add Custom MCP` 4. 添加名称(即 `Claude Context`)以及下方的服务器配置,并确保点击 `Install` 按钮 ```json { "command": "npx", "args": ["@zilliz/claude-context-mcp@latest"], "env": { "OPENAI_API_KEY": "your-openai-api-key", "MILVUS_ADDRESS": "your-zilliz-cloud-public-endpoint", "MILVUS_TOKEN": "your-zilliz-cloud-api-key" } } ``` 5. 点击 `Install` 按钮保存服务器。
LangChain/LangGraph 有关 LangChain/LangGraph 集成示例,请参阅[此示例](https://github.com/zilliztech/claude-context/blob/643796a0d30e706a2a0dff3d55621c9b5d831807/evaluation/retrieval/custom.py#L88).
Other MCP Clients 该服务器使用 stdio 传输并遵循标准 MCP 协议。可通过运行以下命令将其与任何兼容 MCP 的客户端集成: ```bash npx @zilliz/claude-context-mcp@latest ```
--- ### 在代码库中使用 1. **打开 Claude Code** ``` cd your-project-directory claude ``` 2. **为代码库建立索引**: ``` Index this codebase ``` 3. **检查索引状态**: ``` Check the indexing status ``` 4. **开始搜索**: ``` Find functions that handle user authentication ``` 🎉 **就是这样!** 你现在可以在 Claude Code 中使用语义化代码搜索了。 --- ### 环境变量配置 有关更详细的 MCP 环境变量配置,请参阅我们的[环境变量指南](docs/getting-started/environment-variables.md)。 ### 使用不同的嵌入模型 要配置自定义嵌入模型(例如 OpenAI 使用 `text-embedding-3-large`,VoyageAI 使用 `voyage-code-3`),请参阅 [MCP 配置示例](packages/mcp/README.md#embedding-provider-configuration),其中包含各提供商的详细设置说明。 ### 文件包含与排除规则 有关文件包含与排除规则的详细说明,以及如何自定义这些规则,请参阅我们的[文件包含与排除规则](docs/dive-deep/file-inclusion-rules.md)。 ### 可用工具 #### 1. `index_codebase` 为代码库目录建立索引,以支持混合搜索(BM25 + 稠密向量)。 #### 2. `search_code` 使用自然语言查询,通过混合搜索(BM25 + 稠密向量)搜索已索引的代码库。 #### 3. `clear_index` 清除特定代码库的搜索索引。 #### 4. `get_indexing_status` 获取代码库的当前索引状态。显示正在索引的代码库的进度百分比,以及已索引代码库的完成状态。 --- ## 📊 评估 我们的受控评估表明,在检索质量相当的前提下,Claude Context MCP 可实现约 40% 的 token 缩减。这在生产环境中可带来显著的成本与时间节省。这也意味着,在 token 上下文长度受限的情况下,使用 Claude Context 可获得更好的检索与回答效果。 ![MCP Efficiency Analysis](assets/mcp_efficiency_analysis_chart.png) 有关详细的评估方法与结果,请参阅[评估目录](evaluation/)。 --- ## 🏗️ 架构 ![](assets/Architecture.png) ### 🔧 实现细节 - 🔍 **混合代码搜索(Hybrid Code Search)**:提出诸如*“查找处理用户认证的函数”*之类的问题,通过先进的混合搜索(BM25 + 稠密向量)即时获取相关且上下文丰富的代码。 - 🧠 **上下文感知(Context-Aware)**:探索大型代码库,理解代码库不同部分之间的关联,即使代码量达到数百万行。 - ⚡ **增量索引(Incremental Indexing)**:使用 Merkle 树高效地仅重新索引已变更的文件。 - 🧩 **智能代码分块(Intelligent Code Chunking)**:基于抽象语法树(Abstract Syntax Trees,AST)分析代码并进行分块。 - 🗄️ **可扩展(Scalable)**:与 Zilliz Cloud 集成,实现可扩展的向量搜索,无论代码库规模多大。 - 🛠️ **可定制(Customizable)**:配置文件扩展名、忽略模式以及嵌入模型。 ### 核心组件 Claude Context 是一个 monorepo,包含三个主要包: - **`@zilliz/claude-context-core`**:核心索引引擎,支持嵌入(embedding)与向量数据库集成 - **VSCode Extension**:适用于 Visual Studio Code 的语义代码搜索(Semantic Code Search)扩展 - **`@zilliz/claude-context-mcp`**:用于 AI 智能体集成的 Model Context Protocol(MCP)服务器 ### 支持的技术 - **Embedding Providers**: [OpenAI](https://openai.com), [VoyageAI](https://voyageai.com), [Ollama](https://ollama.com), [Gemini](https://gemini.google.com) - **Vector Databases**: [Milvus](https://milvus.io) 或 [Zilliz Cloud](https://zilliz.com/cloud)(fully 托管向量数据库即服务) - **Code Splitters**:基于 AST 的分割器(含自动回退)、LangChain 基于字符的分割器 - **Languages**:TypeScript、JavaScript、Python、Java、C++、C#、Go、Rust、PHP、Ruby、Swift、Kotlin、Scala、Markdown - **Development Tools**:VSCode、Model Context Protocol --- ## 📦 使用 Claude Context 的其他方式 虽然 MCP 是将 Claude Context 与 AI 助手配合使用的推荐方式,你也可以直接使用它,或通过 VSCode 扩展使用。 ### 使用核心包构建应用 `@zilliz/claude-context-core` 包提供代码索引与语义搜索的基础功能。 ```typescript import { Context, MilvusVectorDatabase, OpenAIEmbedding } from '@zilliz/claude-context-core'; // Initialize embedding provider const embedding = new OpenAIEmbedding({ apiKey: process.env.OPENAI_API_KEY || 'your-openai-api-key', model: 'text-embedding-3-small' }); // Initialize vector database const vectorDatabase = new MilvusVectorDatabase({ address: process.env.MILVUS_ADDRESS || 'your-zilliz-cloud-public-endpoint', token: process.env.MILVUS_TOKEN || 'your-zilliz-cloud-api-key' }); // Create context instance const context = new Context({ embedding, vectorDatabase }); // Index your codebase with progress tracking const stats = await context.indexCodebase('./your-project', (progress) => { console.log(`${progress.phase} - ${progress.percentage}%`); }); console.log(`Indexed ${stats.indexedFiles} files, ${stats.totalChunks} chunks`); // Perform semantic search const results = await context.semanticSearch('./your-project', 'vector database operations', 5); results.forEach(result => { console.log(`File: ${result.relativePath}:${result.startLine}-${result.endLine}`); console.log(`Score: ${(result.score * 100).toFixed(2)}%`); console.log(`Content: ${result.content.substring(0, 100)}...`); }); ``` ### VSCode Extension 将 Claude Context 直接集成到你的 IDE 中,提供直观的语义代码搜索与导航界面。 1. **直接链接**: [从 VS Code Marketplace 安装](https://marketplace.visualstudio.com/items?itemName=zilliz.semanticcodesearch) 2. **手动搜索**: - 在 VSCode 中打开扩展视图(Windows/Linux:Ctrl+Shift+X;Mac:Cmd+Shift+X) - 搜索 "Semantic Code Search" - 点击 Install ![img](https://lh7-rt.googleusercontent.com/docsz/AD_4nXdtCtT9Qi6o5mGVoxzX50r8Nb6zDFcjvTQR7WZ-xMbEsHEPPhSYAFVJ7q4-rETzxJ8wy1cyZmU8CmtpNhAU8PGOqVnE2kc2HCn1etDg97Qsh7m89kBjG4ZT7XBgO4Dp7BfFZx7eow?key=qYdFquJrLcfXCUndY-YRBQ) --- ## 🛠️ 开发 ### 搭建开发环境 #### 前置要求 - Node.js 20.x、22.x 或 24.x - pnpm(推荐的包管理器) #### 跨平台搭建 ```bash # Clone repository git clone https://github.com/zilliztech/claude-context.git cd claude-context # Install dependencies pnpm install # Build all packages pnpm build # Start development mode pnpm dev ``` #### Windows 专属搭建 在 Windows 上,请确保已具备: - **Git for Windows**,并正确配置行尾(line ending) - 通过官方安装程序或包管理器安装的 **Node.js** - 全局安装的 **pnpm**:`npm install -g pnpm` ```powershell # Windows PowerShell/Command Prompt git clone https://github.com/zilliztech/claude-context.git cd claude-context # Configure git line endings (recommended) git config core.autocrlf false # Install dependencies pnpm install # Build all packages (uses cross-platform scripts) pnpm build # Start development mode pnpm dev ``` ### 构建 ```bash # Build all packages (cross-platform) pnpm build # Build specific package pnpm build:core pnpm build:vscode pnpm build:mcp # Performance benchmarking pnpm benchmark ``` #### Windows 构建说明 - 所有构建脚本均通过 rimraf 实现跨平台兼容 - 已启用构建缓存,以加快后续构建 - 可使用 PowerShell 或 Command Prompt,两者效果相同 ### 运行示例 ```bash # Development with file watching cd examples/basic-usage pnpm dev ``` --- ## 📖 示例 查看 `/examples` 目录获取完整使用示例: - **Basic Usage**:简单的索引与搜索示例 --- ## ❓ FAQ **常见问题:** - **[Claude Context 会决定嵌入哪些文件?](docs/troubleshooting/faq.md#q-what-files-does-claude-context-decide-to-embed)** - **[能否使用完全本地化的部署方案?](docs/troubleshooting/faq.md#q-can-i-use-a-fully-local-deployment-setup)** - **[是否支持多个项目 / 代码库?](docs/troubleshooting/faq.md#q-does-it-support-multiple-projects--codebases)** - **[Claude Context 与其他编码工具有何区别?](docs/troubleshooting/faq.md#q-how-does-claude-context-compare-to-other-coding-tools-like-serena-context7-or-deepwiki)** ❓ 如需详细解答及更多故障排除技巧,请参阅我们的 [FAQ 指南](docs/troubleshooting/faq.md)。 🔧 **遇到问题?** 访问我们的 [故障排除指南](docs/troubleshooting/troubleshooting-guide.md) 获取分步解决方案。 📚 **需要更多帮助?** 查看我们的 [完整文档](docs/) 获取详细指南与故障排除技巧。 --- ## 🤝 贡献 欢迎贡献!请参阅我们的 [贡献指南](CONTRIBUTING.md) 了解如何开始。 **各包的贡献指南:** - [Core Package Contributing](packages/core/CONTRIBUTING.md) - [MCP Server Contributing](packages/mcp/CONTRIBUTING.md) - [VSCode Extension Contributing](packages/vscode-extension/CONTRIBUTING.md) --- ## 🗺️ 路线图 - [x] 基于 AST 的代码分析,以提升理解能力 - [x] 支持更多 embedding 提供商 - [ ] 基于智能体的交互式搜索模式 - [x] 增强的代码分块策略 - [ ] 搜索结果排序优化 - [ ] 完善的 Chrome Extension --- ## 📄 许可证 本项目采用 MIT License 许可——详见 [LICENSE](LICENSE) 文件。 --- ## 🔗 链接 - [GitHub Repository](https://github.com/zilliztech/claude-context) - [VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=zilliz.semanticcodesearch) - [Milvus Documentation](https://milvus.io/docs) - [Zilliz Cloud](https://zilliz.com/cloud)