Sobre o projeto
mgrep é uma ferramenta de linha de comando que traz busca semântica em linguagem natural para arquivos locais, posicionada como um complemento ao grep, não um substituto. É distribuída como um pacote npm (@mixedbread/mgrep) sob a licença Apache-2.0 e é construída pela Mixedbread.
Capacidades principais:
- Busca em linguagem natural sobre código, texto, PDFs e imagens. Suporte a áudio e vídeo é descrito como em breve.
- Indexação em segundo plano via `mgrep watch`, que realiza uma sincronização inicial, respeita .gitignore e um arquivo opcional .mgrepignore, e mantém um armazenamento Mixedbread com suporte em nuvem atualizado conforme os arquivos mudam.
- Busca na web via `--web`, que consulta um armazenamento `mixedbread/web` junto com resultados locais; `--answer` produz uma resposta resumida.
- Busca agêntica via `--agentic`, que divide perguntas complexas em subconsultas e executa múltiplas buscas.
- Reordenação de resultados por padrão, desativável com `--no-rerank` ou MGREP_RERANK=0.
- Resultados incluem caminhos relativos e dicas contextuais, como intervalos de linhas para texto e números de página para PDFs.
Autenticação e configuração:
- `mgrep login` usa um fluxo de dispositivo/navegador; ambientes headless ou CI podem definir MXBAI_API_KEY em vez disso.
- Instalação via `npm install -g @mixedbread/mgrep` (pnpm/bun também mencionados).
Integrações com agentes de codificação:
- Existem comandos de instalação assistida para Claude Code, OpenCode, Codex e Factory Droid (install-claude-code, install-opencode, install-codex, install-droid).
- O README observa que, quando instalado com um agente de codificação, um processo em segundo plano sincroniza arquivos durante uma sessão e para quando a sessão termina.
- Limites padrão são 1MB por arquivo e 1.000 arquivos por diretório, ajustáveis via flags de CLI, variáveis de ambiente ou arquivos de configuração.
Configuração:
- `.mgreprc.yaml`/`.mgreprc.yml` local ou `~/.config/mgrep/config.yaml` global.
- Precedência: flags de CLI, depois variáveis de ambiente, depois configuração local, depois configuração global, depois padrões.
- Variáveis de ambiente cobrem autenticação (MXBAI_API_KEY), seleção de armazenamento (MXBAI_STORE), comportamento de busca (MGREP_MAX_COUNT, MGREP_CONTENT, MGREP_ANSWER, MGREP_WEB, MGREP_AGENTIC, MGREP_SYNC, MGREP_DRY_RUN, MGREP_RERANK) e limites de sincronização (MGREP_MAX_FILE_SIZE, MGREP_MAX_FILE_COUNT).
- `--store <nome>` isola espaços de trabalho; armazenamentos são criados sob demanda.
Visão geral dos comandos: `mgrep`/`mgrep search`, `mgrep watch`, `mgrep login`, `mgrep logout` e os quatro comandos de instalação de agentes.
Desenvolvimento: projeto TypeScript construído com pnpm; `pnpm build`, `pnpm dev`, `pnpm format` (biome), `pnpm typecheck`; testes usam bats. O README afirma que os testes ainda não estão totalmente configurados.
Alegação de benchmark: o README relata um benchmark interno de QA com 50 tarefas onde mgrep com Claude Code usou aproximadamente 2x menos tokens do que fluxos baseados em grep com qualidade julgada semelhante ou melhor, com taxa de vitória julgada por um LLM. Estas são alegações do próprio projeto e não são verificadas independentemente aqui.
Notas de solução de problemas cobrem prompts de login repetidos, watchers ruidosos e recriação de um armazenamento. Suporte é oferecido através da comunidade Slack da Mixedbread.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.