Об этом проекте

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.