ByteNoteByteNote
一个命令三种检索,zg 把向量 BM25 和 ripgrep 装进终端
字

字节笔记本

2026年11月6日 · 约 2 分钟读完

一个命令三种检索,zg 把向量 BM25 和 ripgrep 装进终端

API中转
¥120

让 agent 在代码库里找东西,通常要三轮:先 grep 试关键词、再想想换个说法、最后还是自己翻文件。zvec-grep(zg)把这三轮装进了一个命令:按语义搜(向量)、按相关性排(BM25)、再用精确匹配验真(ripgrep),背后是阿里开源的 zvec 向量库(16,191 星的 C++ 进程内向量数据库),人直接在终端用,也能经 MCP 交给 Claude Code、Codex、Cursor、Copilot 等 agent。

zvec-grep 仓库

v0.3.0 把核心执行管线用 Rust 完整重写,替代了原来的 Node.js 实现。作者自测口径(同一台 M3 Pro、4 个 BEIR 公开语料共 75,128 篇文档、同一 embedding 模型):安装包从 167.5MB 缩到 34.3MB(小 79.5%)、CLI 启动从 153 毫秒降到 27 毫秒(快 82.5%)、索引构建从 3 分 39 秒压到 1 分 18 秒(快 64.5%)、索引期峰值内存省 53.2%、MCP 搜索延迟降 28.9%。快的原因也直白:去掉 Node 运行时初始化、文本编码与向量计算走原生代码、减少中间拷贝、复用已加载的模型数据。

用法是 rg 风格的:zg "where are user permissions checked" 按语义搜,zg --index 建索引,zg --rg -n "AuthService" src 精确匹配并显示行号。v0.3.0 新增了 GitHub Copilot、Grok Build、VS Code 与 Pi 的 agent 集成,加上此前的 Claude Code、Codex、Cursor、OpenCode 与 Qwen Code,覆盖面已经很宽。

照例把口径说全:性能数字是作者在自己机器、自己语料上的自测,换环境结果会变;语义检索要本地 embedding 模型,首次建索引在 7.5 万篇文档量级仍要一分多钟;zvec 引擎本身是阿里的 C++ 库,zg 只是它的 CLI 壳,别把两者写成一个项目。README 的 Benchmarks 一节还列了配对 A/B 测试方法论(任务、模型、提示词全部固定、只改接入方式),具体得分本篇未逐项核验,感兴趣的自己去仓库 benchmarks 目录看。

相关文章

分享: