À propos du projet
mgrep est un outil en ligne de commande qui apporte une recherche sémantique en langage naturel aux fichiers locaux, se positionnant comme un complément à grep plutôt qu'un remplaçant. Il est distribué en tant que paquet npm (@mixedbread/mgrep) sous licence Apache-2.0 et est développé par Mixedbread.
Capacités principales :
- Recherche en langage naturel sur le code, le texte, les PDF et les images. La prise en charge de l'audio et de la vidéo est décrite comme à venir.
- Indexation en arrière-plan via `mgrep watch`, qui effectue une synchronisation initiale, respecte .gitignore et un fichier optionnel .mgrepignore, et maintient un magasin Mixedbread sauvegardé dans le cloud à jour à mesure que les fichiers changent.
- Recherche web via `--web`, qui interroge un magasin `mixedbread/web` en plus des résultats locaux ; `--answer` produit une réponse résumée.
- Recherche agentique via `--agentic`, qui décompose les questions complexes en sous-requêtes et exécute plusieurs recherches.
- Reclassement des résultats par défaut, désactivable avec `--no-rerank` ou MGREP_RERANK=0.
- Les résultats incluent les chemins relatifs et des indices contextuels tels que les plages de lignes pour le texte et les numéros de page pour les PDF.
Authentification et configuration :
- `mgrep login` utilise un flux appareil/navigateur ; les environnements headless ou CI peuvent définir MXBAI_API_KEY à la place.
- L'installation se fait via `npm install -g @mixedbread/mgrep` (pnpm/bun également mentionnés).
Intégrations avec les agents de codage :
- Des commandes d'installation assistée existent pour Claude Code, OpenCode, Codex et Factory Droid (install-claude-code, install-opencode, install-codex, install-droid).
- Le README note que lorsqu'il est installé avec un agent de codage, un processus en arrière-plan synchronise les fichiers pendant une session et s'arrête à la fin de celle-ci.
- Les limites par défaut sont de 1 Mo par fichier et de 1 000 fichiers par répertoire, ajustables via les indicateurs CLI, les variables d'environnement ou les fichiers de configuration.
Configuration :
- `.mgreprc.yaml`/`.mgreprc.yml` local ou `~/.config/mgrep/config.yaml` global.
- Priorité : indicateurs CLI, puis variables d'environnement, puis configuration locale, puis configuration globale, puis valeurs par défaut.
- Les variables d'environnement couvrent l'authentification (MXBAI_API_KEY), la sélection du magasin (MXBAI_STORE), le comportement de recherche (MGREP_MAX_COUNT, MGREP_CONTENT, MGREP_ANSWER, MGREP_WEB, MGREP_AGENTIC, MGREP_SYNC, MGREP_DRY_RUN, MGREP_RERANK) et les limites de synchronisation (MGREP_MAX_FILE_SIZE, MGREP_MAX_FILE_COUNT).
- `--store <nom>` isole les espaces de travail ; les magasins sont créés à la demande.
Aperçu des commandes : `mgrep`/`mgrep search`, `mgrep watch`, `mgrep login`, `mgrep logout`, et les quatre commandes d'installation d'agent.
Développement : projet TypeScript construit avec pnpm ; `pnpm build`, `pnpm dev`, `pnpm format` (biome), `pnpm typecheck` ; les tests utilisent bats. Le README indique que les tests ne sont pas encore entièrement câblés.
Affirmation de benchmark : le README rapporte un benchmark interne de 50 tâches QA où mgrep avec Claude Code utilisait environ 2 fois moins de jetons que les flux de travail basés sur grep avec une qualité jugée similaire ou meilleure, avec un taux de victoire évalué par un LLM. Ce sont les propres affirmations du projet et elles ne sont pas vérifiées indépendamment ici.
Les notes de dépannage couvrent les invites de connexion répétées, les observateurs bruyants et la recréation d'un magasin. Le support est offert via la communauté Slack de Mixedbread.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.