Суть проекта: Семантика вместо ключевых слов
Разработчик ARahim3 представил DigUp — локальный поисковый инструмент для macOS, который кардинально меняет подход к поиску информации. В отличие от стандартного Spotlight, который ищет по именам файлов и метаданным, DigUp использует мультимодальную модель EmbeddingGemma 2 от Google DeepMind. Это позволяет находить файлы по их смысловому содержанию: текст в PDF, объекты на фото, речь в аудио и видео.
Ключевая особенность — полная приватность. Индексация и поиск происходят исключительно на устройстве пользователя. Модель загружается один раз (865 МБ), после чего DigUp работает офлайн, отправляя в сеть только запросы на проверку обновлений (без передачи данных о файлах).
Технические детали и производительность
Инструмент оптимизирован для чипов Apple Silicon и использует llama.cpp с поддержкой Metal для работы на GPU. Модель EmbeddingGemma 2 имеет 740 миллионов параметров и работает в 768-мерном векторном пространстве, объединяя текст, изображения, аудио и видео. Поиск осуществляется через SQLite-базу, где каждому фрагменту файла (странице, кадру, 30-секундному отрезку аудио) присваивается вектор.
| Параметр | Значение / Характеристика |
|---|---|
| Модель | EmbeddingGemma 2 (Google DeepMind, Apache 2.0) |
| Размер модели | 740M параметров (загрузка 865 МБ) |
| Требования | Apple Silicon, macOS 14+ (тестировалось на macOS 26) |
| Поддержка языков | Более 100 языков (включая кросс-языковой поиск) |
| Форматы файлов | HEIC, JPEG, PNG, PDF, TXT, DOCX, MP3, MP4, WebP и др. |
| Скорость индексации | Минуты для сотен файлов; ~20 мин для репозитория llama.cpp |
Уникальные возможности поиска
DigUp понимает контекст, а не просто совпадения строк. Это позволяет находить:
- Видео и аудио: Поиск «зебра в видео» открывает клип в момент появления животного. Поиск «где говорят о сне» в подкасте перематывает запись к нужной минуте.
- Документы: Запрос «клаузула о домашних животных в договоре» найдет PDF-страницу с соответствующим текстом, даже если в запросе нет точных слов из документа.
- Кросс-языковой поиск: Можно искать английский текст по запросу на бенгали или арабском.
- Код: Включается отдельно. Поиск «code: retry a failed call with backoff» находит функцию в проекте, открывая её в IDE (VS Code, Zed, Xcode и др.).
Безопасность и установка
Разработчик подчеркивает, что DigUp не читает скрытые папки (~/.ssh), кэши, файлы ключей и iCloud-файлы, которые не загружены локально. Индексация новых файлов занимает 1-2 секунды. Установить приложение можно через DMG или Homebrew:
brew install --cask arahim3/tap/digup
Для разработчиков доступен сборка из исходного кода с использованием Xcode 26 и CMake, а также командная строка digup для тестирования и оценки качества ранжирования.
Источник: Github ↗
