Sobre el proyecto
mgrep es una herramienta de línea de comandos que aporta búsqueda semántica en lenguaje natural a archivos locales, posicionándose como complemento de grep, no como sustituto. Se distribuye como paquete npm (@mixedbread/mgrep) bajo licencia Apache-2.0 y está desarrollado por Mixedbread.
Capacidades principales:
- Búsqueda en lenguaje natural sobre código, texto, PDFs e imágenes. El soporte para audio y vídeo se describe como próximamente disponible.
- Indexación en segundo plano mediante `mgrep watch`, que realiza una sincronización inicial, respeta .gitignore y un archivo opcional .mgrepignore, y mantiene actualizado un almacén de Mixedbread respaldado en la nube a medida que cambian los archivos.
- Búsqueda web mediante `--web`, que consulta un almacén `mixedbread/web` junto con resultados locales; `--answer` produce una respuesta resumida.
- Búsqueda agéntica mediante `--agentic`, que descompone preguntas complejas en subconsultas y ejecuta múltiples búsquedas.
- Reordenamiento de resultados por defecto, desactivable con `--no-rerank` o MGREP_RERANK=0.
- Los resultados incluyen rutas relativas e indicaciones contextuales como rangos de líneas para texto y números de página para PDFs.
Autenticación y configuración:
- `mgrep login` utiliza un flujo de dispositivo/navegador; entornos headless o CI pueden establecer MXBAI_API_KEY en su lugar.
- La instalación se realiza mediante `npm install -g @mixedbread/mgrep` (también se mencionan pnpm/bun).
Integraciones con agentes de codificación:
- Existen comandos de instalación asistida para Claude Code, OpenCode, Codex y Factory Droid (install-claude-code, install-opencode, install-codex, install-droid).
- El README señala que, al instalarse con un agente de codificación, un proceso en segundo plano sincroniza archivos durante una sesión y se detiene al finalizar esta.
- Los límites por defecto son 1MB por archivo y 1.000 archivos por directorio, ajustables mediante banderas CLI, variables de entorno o archivos de configuración.
Configuración:
- `.mgreprc.yaml`/`.mgreprc.yml` local o `~/.config/mgrep/config.yaml` global.
- Precedencia: banderas CLI, luego variables de entorno, luego configuración local, luego global, luego valores por defecto.
- Las variables de entorno cubren autenticación (MXBAI_API_KEY), selección de almacén (MXBAI_STORE), comportamiento de búsqueda (MGREP_MAX_COUNT, MGREP_CONTENT, MGREP_ANSWER, MGREP_WEB, MGREP_AGENTIC, MGREP_SYNC, MGREP_DRY_RUN, MGREP_RERANK) y límites de sincronización (MGREP_MAX_FILE_SIZE, MGREP_MAX_FILE_COUNT).
- `--store <nombre>` aísla espacios de trabajo; los almacenes se crean bajo demanda.
Resumen de comandos: `mgrep`/`mgrep search`, `mgrep watch`, `mgrep login`, `mgrep logout` y los cuatro comandos de instalación de agentes.
Desarrollo: proyecto TypeScript construido con pnpm; `pnpm build`, `pnpm dev`, `pnpm format` (biome), `pnpm typecheck`; las pruebas usan bats. El README indica que las pruebas aún no están completamente integradas.
Afirmación de benchmark: el README informa de un benchmark interno de QA con 50 tareas donde mgrep con Claude Code usó aproximadamente 2 veces menos tokens que los flujos basados en grep con calidad juzgada similar o mejor, con tasa de victoria evaluada por un LLM. Estas son afirmaciones propias del proyecto y no se verifican de forma independiente aquí.
Las notas de solución de problemas cubren avisos de inicio de sesión repetidos, watchers ruidosos y recreación de un almacén. El soporte se ofrece a través de la comunidad de Slack de Mixedbread.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.