Об этом проекте
mgrep — это инструмент командной строки, который добавляет семантический поиск на естественном языке по локальным файлам, позиционируясь как дополнение к grep, а не его замена. Он распространяется как npm-пакет (@mixedbread/mgrep) под лицензией Apache-2.0 и разработан компанией Mixedbread.
Основные возможности:
- Поиск на естественном языке по коду, тексту, PDF и изображениям. Поддержка аудио и видео заявлена как «скоро».
- Фоновая индексация через `mgrep watch`, которая выполняет начальную синхронизацию, учитывает .gitignore и опциональный файл .mgrepignore, а также поддерживает облачное хранилище Mixedbread в актуальном состоянии при изменении файлов.
- Веб-поиск через `--web`, который запрашивает хранилище `mixedbread/web` вместе с локальными результатами; `--answer` формирует суммаризированный ответ.
- Агентный поиск через `--agentic`, который разбивает сложные вопросы на подзапросы и выполняет несколько поисков.
- Переранжирование результатов включено по умолчанию, отключается с помощью `--no-rerank` или MGREP_RERANK=0.
- Результаты включают относительные пути и контекстные подсказки, такие как диапазоны строк для текста и номера страниц для PDF.
Аутентификация и настройка:
- `mgrep login` использует поток с устройством/браузером; в headless-средах или CI можно установить MXBAI_API_KEY.
- Установка через `npm install -g @mixedbread/mgrep` (также упоминаются pnpm/bun).
Интеграции с кодинг-агентами:
- Существуют команды для установки с Claude Code, OpenCode, Codex и Factory Droid (install-claude-code, install-opencode, install-codex, install-droid).
- В README указано, что при установке с кодинг-агентом фоновый процесс синхронизирует файлы во время сессии и останавливается по её завершении.
- Лимиты по умолчанию: 1 МБ на файл и 1000 файлов на директорию, настраиваются через флаги CLI, переменные окружения или файлы конфигурации.
Конфигурация:
- Локальный `.mgreprc.yaml`/`.mgreprc.yml` или глобальный `~/.config/mgrep/config.yaml`.
- Приоритет: флаги CLI, затем переменные окружения, затем локальная конфигурация, затем глобальная, затем значения по умолчанию.
- Переменные окружения охватывают аутентификацию (MXBAI_API_KEY), выбор хранилища (MXBAI_STORE), поведение поиска (MGREP_MAX_COUNT, MGREP_CONTENT, MGREP_ANSWER, MGREP_WEB, MGREP_AGENTIC, MGREP_SYNC, MGREP_DRY_RUN, MGREP_RERANK) и лимиты синхронизации (MGREP_MAX_FILE_SIZE, MGREP_MAX_FILE_COUNT).
- `--store <name>` изолирует рабочие пространства; хранилища создаются по требованию.
Обзор команд: `mgrep`/`mgrep search`, `mgrep watch`, `mgrep login`, `mgrep logout` и четыре команды установки агентов.
Разработка: проект на TypeScript, собирается с pnpm; `pnpm build`, `pnpm dev`, `pnpm format` (biome), `pnpm typecheck`; тесты используют bats. В README указано, что тесты пока полностью не настроены.
Заявление о бенчмарке: в README сообщается о внутреннем QA-бенчмарке на 50 задачах, где mgrep с Claude Code использовал примерно в 2 раза меньше токенов, чем рабочие процессы на основе grep, при схожем или лучшем оценённом качестве, при этом победа оценивалась LLM. Это собственные заявления проекта и здесь они независимо не проверялись.
Заметки по устранению неполадок охватывают повторные запросы входа, шумные наблюдатели и пересоздание хранилища. Поддержка предлагается через Slack-сообщество Mixedbread.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.