zvec-ai/zvec-grep

Local-first search across your workspace, built for humans and AI agents.

解决的问题

zvec-grep (亦称为 zg) 是一个本地优先的搜索层,旨在帮助人类与 AI 代理在工作区中高效地寻找信息。它解决了仅依赖单一搜索方法(如简单关键字匹配)的问题,因为这类方法往往会遗漏相关结果或产生过多噪音。通过结合多种搜索技术,它减少了 AI 代理在大型代码库或文档集中寻找正确证据时所需的工具调用次数与 Token 消耗。

运作原理

zg 将三种不同的搜索方法整合至单一接口:

  1. 向量搜索 (Vector Search):基于意义(语义发现)而非仅仅是精确词汇来寻找信息。
  2. BM25:一种用于词汇检索的排名算法,以确保相关性。
  3. ripgrep:提供精确文本或正则表达式匹配以进行验证。

用户可以在本地索引工作区,且该工具支持多种嵌入模型(包括通过 llama.cpp 或 Transformers.js 运行的本地模型),以确保数据保留在机器上。它既可作为独立的 CLI 工具使用,也可通过 Model Context Protocol (MCP) 或特定集成(例如 OpenCode、Claude Code、Cursor)集成至 AI 代理中。

目标对象

  • AI 代理开发者:需要构建能够导航复杂仓库以回答架构或数据流问题的代理的开发者。
  • 开发者:希望为其源代码、文档和结构化数据寻找强大且本地优先的搜索工具的人员。
  • 代理工作流用户:使用 Claude Code 或 GitHub Copilot 等工具,并希望提升 AI 助手检索质量的用户。

特色亮点

  • 混合搜索:在单一工具中结合语义、词汇与正则表达式搜索。
  • 本地优先:索引与本地模型保留在用户机器上,确保隐私与安全。
  • 代理就绪:专门优化以提供精简、排序过的证据给代理,以节省 Token 并减少噪音。
  • 多格式支持:能够跨源代码、文档与结构化数据进行搜索,同时保留来源位置。
  • 广泛集成:通过服务器模式或直接 CLI 访问,与各种 AI 代理及 IDE 协作。

写过它的文章

相关

  • 项目
  • 项目
  • 项目
  • Dispatch
  • 项目