

先一句话给出结论:
Grep的旧船票,不该登上vibe coding的新船!
之所以这么说,是因为软件开发者90%以上的工作都集中在重用现有代码上。但随着GitHub、Bitbucket和GitLab等大型源代码库的出现,如何在数十亿行源代码中进行代码检索成为了软件工程中的一大挑战。
因此,对于AI coding软件来说,得上下文感知者,得天下。
Cursor就是这样一个成功案例。
比如,你用自然语言描述"处理异步任务的错误处理逻辑"时,系统就能够跨越多个文件精准定位相关代码片段。
然而,用得起Cursor的团队毕竟是少数;而作为平替的多数AI coding软件,代码检索系统,又过于拉胯。
通常,市面上的AI coding产品,其上下文感知方案分为两派:
免费开源的 Gemini CLI 、Gemini为代表,这一派主要使用grep(缩写来自Globally search a Regular Expression and Print,一种文本搜索工具)
但结合日常实践我们就会发现,grep为代表的文本检索,其召回效率往往并不理想。

当前 Gemini CLI 的代码搜索只是停留在猜测关键词,然后搜索,导致漏掉很多本该被召回的内容
在此基础上,Cursor为代表的产品,做了技术升级,采用向量搜索作为代码检索的核心支持,通过embedding召回模块极大提升了产品体验。
而向量检索能够替代传统grep背后原因很简单:
在coding过程中,上下文理解与逻辑分析,比检索更加重要。
代码往往涉及复杂的逻辑、调用关系和上下文,这些要素比纯粹的静态知识库信息更具挑战性。
那么,有什么办法能够让普通AI coding软件也能快速能力升级,以更低成本享受Cursor级别的专业服务?
最近,我们正式推出了Code Context——一个可以帮你做智能代码搜索的工具,可以帮助AI Coding场景更好地感知上下文。
通过MCP协议和插件生态,Code Context可以无缝集成到Claude Code、Gemini CLI、VSCode 插件、Chrome浏览器等各种开发环境中,总而言之,任何AI编程工具都能用它做智能代码搜索。
Github 尝鲜链接:
https://github.com/zilliztech/code-context
欢迎大家前去体验并给出反馈。
01
Code Context: 开源复现Cursor的关键技术栈(更强版)
作为在向量数据库和语义搜索领域有丰富经验的团队,我们决定改变这一现状。我们开源了Code Context:,让任何AI编程工具都能拥有智能代码搜索和上下文感知能力。
此外,通过MCP协议和插件生态,Code Context还可以无缝集成到Claude Code、Gemini CLI、VSCode 插件、Chrome浏览器等各种开发环境中,让开发者在使用任何AI编程工具时都能享受到智能代码搜索的强大功能。
核心能力包括:
语义理解搜索:使用自然语言描述需求,如"用户登录验证"、"支付处理逻辑",精准定位相关代码
跨语言统一搜索:支持JavaScript、Python、Java、Go等15+种编程语言的统一语义搜索
智能代码分割:基于AST技术按函数、类等逻辑单元切分,保证搜索结果的语义完整性
实时增量更新:文件变更时自动更新索引,确保搜索结果始终反映最新代码状态
完全支持私有部署:支持本地Ollama模型和Milvus数据库,代码不出本地环境,保障代码安全
IDE深度集成:VSCode插件提供快捷搜索和结果跳转,无缝融入开发工作流
MCP支持:通过MCP协议与AI编程助手无缝集成,提升代码理解效率
浏览器插件:支持在浏览器github页面中搜索代码,无需离开当前页面

Code Context采用模块化设计,包含核心Core模块和构建在core模块之上的扩展模块。
核心模块
@zilliz/code-context-core:核心引擎,包含代码解析、向量化处理、存储管理和语义检索四个核心流程。系统基于Milvus向量数据库构建,支持OpenAI、VoyageAI、Gemini等多种embedding模型,为用户提供灵活的技术选择。集成Tree-sitter AST解析器,支持15+种编程语言的智能代码分割和语义理解。以及基于Merkle Tree的文件监控系统,实现代码索引的同步更新。
内核之上的扩展模块
@zilliz/code-context-mcp:Model Context Protocol支持,与AI编程助手无缝集成
VSCode Extension:IDE深度集成,提供实时搜索和结果跳转
Chrome Extension:浏览器插件,支持在github页面中搜索代码
下面我们来介绍一下各个模块的使用方法。
02
Code Context使用体验:插件、MCP、二次开发
(1)扩展插件使用
项目已经构建好了各种插件模块,包括MCP、VSCode插件、Chrome插件,以满足不同场景的需求:
MCP模块
代码中的 @zilliz/code-context-mcp 模块,提供了MCP的支持,可以与AI当前主流的各类MCP Client、编程助手等,进行无缝集成使用。
比如,在 Claude Code 中,我们使用下面这个命令,就可以配置上 Code Context 的 MCP 服务。
claude mcp add code-context -e OPENAI_API_KEY=your-openai-api-key -e MILVUS_ADDRESS=your-zilliz-cloud-public-endpoint -e MILVUS_TOKEN=your-zilliz-cloud-api-key -- npx @zilliz/code-context-mcp@latest
配置好之后,Claude Code 能把 CodeContext 的语义搜索能力,作为自己的一个工具,在必要的场景下就会调用。
官方 README 文档中,还包含了下面这些常见的 MCP Client 的配置方法介绍,大家可以根据自己的需求选择:

VSCode插件
在VSCode中,我们提供了"Semantic Code Search"插件,支持在VSCode中进行代码语义搜索。

首次使用需要配置一下相关的API Key,然后就可以对当前项目代码建立索引和进行语义搜索了。
以下是使用示例截图:

只需要输入语义搜索的query,并不需要词语的精确匹配,就可以获得相关的代码片段,并且可以点击跳转到对应的代码位置。
Chrome浏览器插件体验
Chrome插件让开发者可以直接在GitHub代码仓库页面进行语义搜索,无需离开浏览器就能快速定位相关代码片段。下图演示了在GitHub页面使用的效果截屏 (此功能处于开发模式,后续即将上线)。

(2)调用核心模块二次开发
@zilliz/code-context-core 核心模块
Core模块是Code Context的内核,提供了代码解析、向量化处理、存储管理和语义检索等功能。以下是一个core模块的代码使用示例,展示了如何快速搭建一个智能代码搜索系统。只需三步即可实现:配置embedding模型、初始化向量数据库、执行语义搜索。
import { CodeContext, MilvusVectorDatabase, OpenAIEmbedding } from '@zilliz/code-context-core';// 初始化嵌入模型const embedding = new OpenAIEmbedding({apiKey: 'your-openai-api-key',model: 'text-embedding-3-small'});// 初始化Zilliz Cloud向量数据库// 登录https://zilliz.com/cloud免费注册const vectorDatabase = new MilvusVectorDatabase({address: 'https://xxx-xxxxxxxxxxxx.serverless.gcp-us-west1.cloud.zilliz.com',token: 'xxxxxxx'});// 创建索引器const context = new CodeContext({ embedding, vectorDatabase });// 索引代码库await context.indexCodebase('./your-project');// 执行语义搜索const results = await context.semanticSearch('./your-project', 'vector database operations', 5);results.forEach(result=> {console.log(`${result.relativePath}:${result.startLine}-${result.endLine}`);console.log(`匹配度: ${(result.score * 100).toFixed(2)}%`);});
03
Why Code Context?更多高级特性
特性一:私有部署——让代码安全无忧

CodeContext支持Ollama本地embedding模型,结合本地部署的Milvus向量数据库,可实现完全离线的私有化代码搜索方案。代码和搜索数据完全保留在用户环境内,无任何外部API调用,满足金融、国防等高安全要求行业的严格数据保护需求。
特性二:智能同步——让索引时刻保持最新

CodeContext内置智能基于Merkle Tree的文件监控系统,实现真正的实时代码索引更新。当开发者保存文件时立即触发增量索引更新。采用增量更新策略,只对变更文件进行重新解析和向量化,将大型项目的索引更新时间从几十分钟缩短到几秒钟,确保搜索结果始终反映最新代码状态。这种实时同步能力确保开发者刚写完的代码可以被重新索引,无需手动触发索引更新。在快速迭代的开发环境中,这种即时性对提升开发效率至关重要。

说到代码搜索,最头疼的就是怎么把代码切分成合适的片段。传统工具简单粗暴,要么按行数切,要么按字符数切,切分结果语义完整性差,看得一头雾水。
Code Context采用Tree-sitter AST(抽象语法树)技术,能理解代码结构。它能精准识别函数、类、接口等完整逻辑单元,确保切分出来的每个代码片段都是语义完整的。系统深度支持JavaScript/TypeScript、Python、Java、C/C++、Go、Rust等主流语言,针对每种语言的语法特点定制最优分割策略。当遇到不支持的语言时,自动降级到规则分割,确保稳定性。此外,这些解析和切分的结果,后续也会作为搜索的元数据,以辅助获得更好的搜索结果。
特性四:开源生态——灵活扩展与二次开发
Code Context采用完全开源的MIT许可证,所有核心代码在GitHub公开可见。我们相信开源的力量能够让这个工具变得更强大、更适合不同场景的需求。
解决AI IDE的上下文局限
当前AI编程工具面临一个普遍痛点:LLM的上下文窗口限制使其无法容纳整个代码仓库的信息。这导致AI在进行代码补全、Bug修复时只能基于有限的上下文信息,降低了建议的准确性和相关性。
Code Context的语义搜索能力恰好填补了这一空白。通过精确检索相关代码片段,可以为AI工具提供更准确、更全面的上下文信息,显著提升AI辅助开发的效果。
目前,有些比较流行的AI编程工具,比如Claude Code,Gemini CLI等,还没有提供语义搜索能力,他们只能基于关键词进行搜索,效果并不理想,Code Context MCP可以作为这些工具的补充,提供更准确的代码搜索能力。
丰富的二次开发场景
项目采用标准的npm包管理,每个核心组件都是独立的包,开发者可以根据需要选择性集成并二次开发。只需要语义搜索核心能力,直接使用@zilliz/code-context-core
包就够了。想要在自己的AI工具中集成,那@zilliz/code-context-mcp
包正合适。需要定制化的IDE或浏览器插件,VSCode和Chrome扩展代码也可进行二次开发。
基于Code Context,你还可以构建各种高级应用:智能代码补全插件能检索相关代码片段,为LLM提供更准确的上下文,实现比传统补全更精准的代码生成;智能Bug检测工具利用语义搜索召回大量相关代码上下文,帮助AI更准确地识别潜在问题和修复方案;代码重构助手通过语义搜索找到所有相关代码位置,确保重构过程不遗漏任何关联代码。甚至可以做架构分析工具,基于代码语义关系构建项目架构图,帮助开发者理解复杂系统结构,或者做代码审查增强,在代码审查过程中自动检索相关历史实现,提供更全面的审查上下文。
写在最后
在做向量数据库的过程中,我们一直在思考一个问题,那就是向量检索,就是AI时代对数据库需求的全部了吗?
答案是否定的。
就以代码检索,或者以Code Context来说,向量检索是其中最核心的模块,但是在此基础上,我们仍需要对编程场景本身有更深的理解,比如语义之外,我们还需要逻辑与函数的智能分割;此外,还要考虑时下热门的MCP如何与之融合,再比如企业场景对私有部署的需求我们也需要将其纳入考虑……
把握核心趋势,同时尊重落地的复杂,这是技术普惠的重要两步走。因此,我们也诚挚邀请每一位开发者参与到这场变革中来,在评论区提出您对Code Context的期待或吐槽,我们会为您寄出Milvus纪念品一份~
相关链接
GitHub开源地址:
https://github.com/zilliztech/code-context
MCP npm地址:
https://www.npmjs.com/package/@zilliz/code-context-mcp
VSCode插件市场:
https://marketplace.visualstudio.com/items?itemName=zilliz.semanticcodesearch






