本地优先的语义代码搜索工具,结合向量嵌入与 ripgrep,可用自然语言查询代码库。
zvec-ai/zvec-grep
本地优先的命令行搜索工具,结合 ripgrep、BM25 和向量检索,供人和 AI 代理查找工作区内容。
- Star
- 4,290
- Fork
- 262
- 未关闭 Issue
- 90
- 最近提交
- 昨天
这是什么?
zg(zvec-grep)是一个在本地工作区文件上运行的搜索工具,基于 zvec 向量数据库构建。它把 ripgrep 的精确文本与正则匹配、BM25 关键词排序和向量语义检索结合起来:可以按含义找到相关段落,必要时再用精确文本或正则验证。项目以 Node.js 包形式发布,仓库中另有独立的 Rust 实现。
同一份索引既可以在终端通过 zg 命令行使用,也可以交给 AI 代理调用。项目支持与 Codex、Claude Code、Cursor、GitHub Copilot、VS Code、OpenCode 等代理集成,并提供 MCP 接入方式。它能索引源代码、文档和结构化数据,并保留来源位置,支持 macOS、Linux 和 Windows。文件、索引和本地嵌入模型都保存在本机,只有在用户授权时才会把数据发送给远程嵌入服务。
项目支持本地嵌入模型,包括 Potion/model2vec,以及 llama.cpp 和 Transformers.js 运行时,并提供索引并发数和 GPU 显存相关的配置项。索引数据保存在被索引项目根目录下的 .zvec-grep/ 目录中。
核心功能
- 01将 ripgrep 的精确与正则搜索、BM25 关键词排序和向量语义检索结合在一起。
- 02既可通过 zg 命令行使用,也可通过 MCP 等方式供 AI 代理调用。
- 03索引源代码、文档和结构化数据,并保留内容的来源位置。
- 04支持 macOS、Linux 和 Windows,npm 包需要 Node.js 22 或更高版本。
- 05默认将文件、索引和本地模型保存在本机,远程嵌入需用户授权。
适用场景
- 在大型代码仓库中,当不知道确切符号名时查找调用链和架构相关代码。
- 让 AI 编程代理基于排序且带来源位置的结果搜索本地项目。
- 按语义而非精确关键词搜索混合存放的文档和代码。
- 在不把文件上传到远程服务的前提下进行私有化语义搜索。
快速上手
- 1
从 npm 安装 zg 命令行工具(需要 Node.js 22 或更高版本)
npm install -g @zvec/zvec-grep - 2
使用本地向量模型为工作区建立索引
zg index --embedding local/potion-retrieval-32m - 3
在终端中运行搜索
zg query --human "An unseen creature left a few marks. What did the detective infer?" --limit 3
使用前须知
- 需要 Node.js 22 或更高版本。
- 智能体示例依赖 OpenCode,且免费模型的可用性可能发生变化。
收录于专题
标签
常见问题
- zvec-grep 是什么?
- 本地优先的命令行搜索工具,结合 ripgrep、BM25 和向量检索,供人和 AI 代理查找工作区内容。 zg(zvec-grep)是一个在本地工作区文件上运行的搜索工具,基于 zvec 向量数据库构建。它把 ripgrep 的精确文本与正则匹配、BM25 关键词排序和向量语义检索结合起来:可以按含义找到相关段落,必要时再用精确文本或正则验证。项目以 Node.js 包形式发布,仓库中另有独立的 Rust 实现。
- zvec-grep 可以免费使用吗?用的什么许可证?
- zvec-grep 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- zvec-grep 还在维护吗?
- 活跃维护中。zvec-grep 最近一次提交是在 2026年11月6日。
- zvec-grep 适合用来做什么?
- 在大型代码仓库中,当不知道确切符号名时查找调用链和架构相关代码。 让 AI 编程代理基于排序且带来源位置的结果搜索本地项目。 按语义而非精确关键词搜索混合存放的文档和代码。 在不把文件上传到远程服务的前提下进行私有化语义搜索。
- zvec-grep 怎么安装和运行?
- 从 npm 安装 zg 命令行工具(需要 Node.js 22 或更高版本): npm install -g @zvec/zvec-grep 使用本地向量模型为工作区建立索引: zg index --embedding local/potion-retrieval-32m 在终端中运行搜索: zg query --human "An unseen creature left a few marks. What did the detective infer?" --limit 3
- 在哪里获取 zvec-grep?
- 源代码和安装说明在 GitHub 上:https://github.com/zvec-ai/zvec-grep
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
本地运行的命令行搜索引擎,可检索 Markdown 笔记、会议记录和文档,结合 BM25、向量检索与 LLM 重排序。
本地运行的语义代码搜索命令行工具,支持调用图追踪,并可作为 MCP 服务供 AI 编程助手调用。
面向 Claude Code、Cursor、Codex 等 AI 编程代理的本地持久记忆,通过 MCP 提供服务,数据存于本地 SQLite。
一款免费、本地运行的开源桌面启动器,可搜索文件名、文档正文、截图文字和语义,并支持 AI 智能体通过 MCP 调用。
用 Rust 编写的词法、向量与混合搜索引擎,可嵌入应用作为库使用,也可作为多租户服务运行。