¿Qué es Zvec-Grep (zg)?
Zvec-Grep, que se ejecuta como zg, indexa un espacio de trabajo y responde búsquedas por coincidencia exacta, ranking de palabras clave BM25, similitud vectorial o un híbrido fusionado, y devuelve pasajes ordenados con rutas, símbolos y números de línea. Se basa en la base de datos vectorial zvec y sirve tanto una línea de comandos como un servidor MCP local. Por defecto los agentes ven una sola herramienta, zvec_grep_search, pensada para preguntas en las que no se conocen las palabras exactas ni la ubicación; un conjunto completo añade rg, gestión de índices y herramientas de estado.
Tiene licencia Apache-2.0, se publica en npm como @zvec/zvec-grep y funciona en macOS, Linux y Windows. La versión 0.3.0, publicada el 3 de noviembre de 2026, reescribió el núcleo en Rust. El repositorio tiene unas 4.260 estrellas y 92 incidencias y pull requests abiertos, y el paquete de npm tuvo unas 12.189 descargas en el último mes.
Cómo instalar Zvec-Grep (zg)
npm install -g @zvec/zvec-grep --allow-scripts=@zvec/zvec-grep && zg --install --target claude¿Merece la pena Zvec-Grep (zg)?
La decisión de diseño que importa es la contención. Mientras varios servidores rivales de contexto de código exponen muchas herramientas, el conjunto por defecto de zg para agentes es una, zvec_grep_search, y su documentación indica al agente que siga usando su propio grep para palabras exactas, nombres de archivo y expresiones regulares. La búsqueda combina similitud vectorial para el significado con BM25 para anclar identificadores, de modo que una pregunta como dónde se comprueban los permisos de usuario puede dar con la función correcta aunque nadie sepa cómo se llama.
Los valores por defecto de privacidad están bien trazados. Los índices viven en .zvec-grep dentro del proyecto, los modelos en ~/.zvec-grep/models, y el modelo de embeddings por defecto, potion-code-16m-v2, se ejecuta en local; se listan once modelos locales, desde Model2Vec de 16m parámetros hasta Qwen3 Embedding 0.6B en GGUF. Los tres modelos remotos de Qwen necesitan una clave de API y, por separado, un permiso de consentimiento: la clave por sí sola no autoriza a enviar contenido del espacio de trabajo, lo que requiere --allow-remote o un permiso con ámbito de espacio de trabajo. El servidor HTTP opcional escucha en 127.0.0.1:7999 con la autenticación desactivada por defecto en loopback; un archivo de token activa la autenticación bearer.
La reescritura en Rust de la 0.3.0 es un cambio grande para un proyecto joven. En la prueba propia de los mantenedores sobre 75.128 documentos, el tamaño del paquete bajó de 167,5 MiB a 34,3 MiB, el tiempo total de indexación de 219,13 s a 77,84 s, la memoria máxima un 53,2% y la latencia de búsqueda MCP de 20,93 ms a 14,88 ms. Son cifras del propio fabricante, igual que los benchmarks A/B de agentes con Claude Code y Codex, y el propio README dice que los resultados varían según el modelo y la ejecución. Con 92 incidencias y pull requests abiertos y un índice que hay que reconstruir cada vez que cambia el modelo de embeddings, compensa probarlo en un repositorio antes de convertirlo en el estándar del equipo.
Dónde se gana su sitio
Un desarrollador backend recién llegado a un código Django de 300.000 líneas
Encontrar dónde se aplica una regla de negocio sin conocer el nombre de la función
Ejecuta zg --index una vez, instálalo en Claude Code con zg --install --target claude y deja que el agente llame a zvec_grep_search antes de recurrir a grep. Gratis con un modelo local; el tiempo de indexación crece con el tamaño del repositorio.
Una analista de políticas públicas con una carpeta de informes y notas
Buscar documentos por significado desde la terminal, sin agente
Indexa con local/potion-retrieval-32m para documentos en inglés y consulta con zg --preview detail. Los resultados llegan ordenados con referencias de archivo y línea; nada sale del portátil.
Un equipo de plataforma que despliega herramientas de agentes para 20 ingenieros
Dar a todos la misma búsqueda semántica en distintos editores
Automatiza zg --install para los destinos del equipo (codex, claude, cursor, vscode) y mantén el conjunto por defecto de una herramienta. Si se quiere un modelo Qwen compartido, concede los embeddings remotos por espacio de trabajo y no de forma global.
Antes de decidirte
- Puesta en marcha
- npm install -g @zvec/zvec-grep --allow-scripts=@zvec/zvec-grep, luego zg --index en el proyecto y zg --install --target <cliente>. Reinicia el agente después. El índice se guarda en .zvec-grep en la raíz del proyecto.
- Integraciones
- Los destinos de instalación incluyen codex, claude, qwen, qoder, opencode, cursor, copilot, vscode, grok y pi. MCP por stdio por defecto, o HTTP con zg --server on. --mcp-toolset full añade herramientas de rg, índice y estado.
- Datos y privacidad
- Los archivos, índices y modelos locales se quedan en el equipo. Los embeddings remotos de Qwen envían contenido autorizado del espacio de trabajo y consultas al proveedor solo tras --allow-remote o un permiso de espacio de trabajo, que se puede revocar.
- Coste a escala
- Gratis con modelos locales. Los embeddings remotos de Qwen los factura el proveedor según los precios de DashScope, que la documentación de zg no recoge.
- Límites
- Solo texto, incluso con modelos de embeddings multimodales. Cambiar de modelo o de endpoint exige reconstruir el índice. El servidor HTTP en 127.0.0.1:7999 tiene la autenticación desactivada por defecto en loopback.
Lo bueno
- Una sola herramienta MCP por defecto mantiene pequeño el contexto del agente
- Modelos de embeddings locales por defecto; nada sale del equipo
- Los embeddings remotos requieren un permiso de consentimiento explícito
- Instalación en un comando para Claude, Codex, Cursor y otros
Lo malo
- Los benchmarks son de los propios mantenedores
- 92 incidencias y PR abiertos tras una reescritura completa en Rust
- Cambiar el modelo de embeddings obliga a reindexar todo
- El servidor HTTP local no tiene autenticación por defecto
Ideal para
Desarrolladores e investigadores que quieren que su agente de programación encuentre código y documentos por su significado sin enviar el repositorio a una API de embeddings.
Alternativas a Zvec-Grep (zg)
Zvec-Grep (zg): preguntas frecuentes
- ¿Merece la pena Zvec-Grep (zg)?
- Una herramienta de búsqueda local bien pensada para agentes, que limita su superficie MCP a una sola herramienta y convierte los embeddings remotos en una opción explícita, no en el comportamiento por defecto. Le damos un 4.0 sobre 5.
- ¿Cuánto cuesta Zvec-Grep (zg)?
- Gratuito y de código abierto (Apache-2.0). Los modelos de embeddings locales son gratuitos; los embeddings remotos opcionales de Qwen necesitan una clave de API de DashScope y los factura ese proveedor.
- ¿Qué inconvenientes tiene Zvec-Grep (zg)?
- Los benchmarks son de los propios mantenedores; 92 incidencias y PR abiertos tras una reescritura completa en Rust; cambiar el modelo de embeddings obliga a reindexar todo; el servidor HTTP local no tiene autenticación por defecto.
- ¿Para quién es Zvec-Grep (zg)?
- Desarrolladores e investigadores que quieren que su agente de programación encuentre código y documentos por su significado sin enviar el repositorio a una API de embeddings.
- ¿Cuánto cuesta Zvec-Grep (zg) para un equipo o en producción?
- Gratis con modelos locales. Los embeddings remotos de Qwen los factura el proveedor según los precios de DashScope, que la documentación de zg no recoge.
- ¿Es Zvec-Grep (zg) seguro para los datos de la empresa?
- Los archivos, índices y modelos locales se quedan en el equipo. Los embeddings remotos de Qwen envían contenido autorizado del espacio de trabajo y consultas al proveedor solo tras --allow-remote o un permiso de espacio de trabajo, que se puede revocar.
- ¿Cuáles son las mejores alternativas a Zvec-Grep (zg)?
- Las alternativas más cercanas que hemos analizado son Serena, CodeGraph, Semble y Project RAG.
Respuestas comprobadas el 6 nov 2026.