据科技媒体MarkTechPost报道,Qwen开发者团队日前宣布开源zg(zvec-grep),一个本地优先的搜索层,将语义搜索、BM25算法与ripgrep精确匹配统一在同一接口之后,同时服务人类用户和编码智能体。该代码以Apache 2.0许可证发布在zvec-ai的GitHub组织下,可通过npm安装为@zvec/zvec-grep,需要Node.js 22或更高版本,支持macOS、Linux和Windows,默认模型无需GPU即可运行,Apache 2.0许可也允许商业使用。
zg对工作区仅索引一次,随后提供四种检索路径:默认混合检索结合意图与词法锚点,--fts用于BM25排序的精确词项,--vector用于不考虑词法排序的概念相似度,--rg用于穷举式字面或正则匹配。前三种读取索引,--rg无需索引即可运行,在仓库尚未建立索引时尤其有用。索引存放在匿名工作区的/.zvec-grep/目录,.git和.zvec-grep目录总是被排除,常见依赖、构建、缓存和日志目录以及仓库自身的忽略规则也都排除。重复执行索引更新是增量式的,更换嵌入模型则需要显式添加--rebuild,因为不同模型的向量空间即使维度相同也不兼容。索引结果会报告fresh或possibly_stale的新鲜度状态,让智能体可以直接采用足够好的结果,而无需先执行状态预检。
zg的MCP集成已针对Codex、Claude Code、Cursor和OpenCode进行了自动检测及配置。服务器在回环地址http://127.0.0.1:7999/mcp上提供基于Streamable HTTP的MCP服务,支持可选的bearer认证。默认暴露给智能体的工具只有两个:zvec_grep_search用于意图已知但确切字符串未知的场景,zvec_grep_rg用于符号、路径或正则已知的场景。索引生命周期管理仍由命令行完成,一个六工具的兼容集合可额外提供索引创建、删除、状态和服务器状态,但需要通过zg server --mcp-toolset full显式开启,文档明确要求智能体不得在未经许可的情况下静默创建、重建或删除持久索引。输出结果按文件分组并标注行范围,索引源的代码预览默认不附带,除非请求。zg还拒绝如--json、--count、-l和--vimgrep等会改变输出格式的ripgrep标志,以维持紧凑结果格式。
嵌入默认在设备本地运行。当前文档列出十种本地模型和三种远程Qwen端点。快速入门默认的local/potion-code-16m-v2是一个Model2Vec静态模型,输出256维,输入上限8192个token,由于采用静态向量查找,选择GPU不会加速。更重的本地选项包括jina-embeddings-v2-base-code、embeddinggemma-300m和qwen3-embedding-0.6b。远程选项包括输入达到128000个token的qwen/qwen3.7-text-embedding以及多模态的qwen/qwen3-vl-embedding。配置提供商的凭证并不会自动授权数据传输,远程使用需要执行--allow-remote或通过zg auth grant签署工作区授权,并可随时用zg auth revoke撤销。值得指出,启动文章中引用了十一种设备端模型,而当前文档只列出十种,两者存在小的出入。
基准测试数据出现在发布文章中,而不是代码仓库内,仓库的benchmarks部分仍是占位符。两次评估均为配对A/B测试,固定智能体、模型、提示、运行时和任务约束,zg测试环境仅额外包含预建索引、MCP工具和使用说明,索引构建成本未计入表格。在20个问题的SWE-QA-Bench样本上,zg将工具调用减少超过一半,输入token减少近一半,Judge评分提升1.50分。在80个问题的BrowseComp-Plus样本上,准确率从98.67%提升到99.00%,输入token下降37.56%,工具调用下降43.52%,智能体运行时间下降38.58%。此外,对Django仓库(3457个文件)的索引在Apple M4 Pro上不到30秒完成。需要注意的是,20和80个问题属于小样本,且上述降幅来自开发者自己的运行结果,独立复现显然是下一步应做的工作。