Локальный CLI и инструмент для агентов: поиск по рабочей директории с помощью ripgrep, BM25 и векторного поиска.
kantord/SeaGOAT
Локальный семантический поиск по коду: сочетает векторные эмбеддинги с ripgrep и позволяет задавать запросы на естественном языке.
- Звёзды
- 1,317
- Форки
- 97
- Открытые issues
- 36
- Последний коммит
- вчера
Что это?
SeaGOAT — инструмент командной строки для поиска по смыслу, а не по точным ключевым словам. Он запускает локальный сервер, который индексирует репозиторий с помощью векторных эмбеддингов в ChromaDB, и объединяет семантические совпадения с результатами поиска по регулярным выражениям и ключевым словам из ripgrep. Запросы можно формулировать обычными предложениями, например «где округляются числа», или добавлять в них регулярные выражения.
Инструмент работает полностью на вашем компьютере и по умолчанию не обращается к удалённым API. Индексация выполняется в фоновом режиме, поэтому искать можно, пока файлы ещё обрабатываются: первые результаты поступают от ripgrep, а предупреждение показывает примерную полноту семантического индекса. Правила исключения из .gitignore учитываются; дополнительные шаблоны можно задать в YAML-файле конфигурации.
Необязательный флаг --generative отправляет результаты в LLM, чтобы дополнить ответы. По умолчанию используется локальный сервер Ollama; вместо него можно настроить OpenAI или MiniMax, однако облачным провайдерам передаются фрагменты кода, и их нужно включить явно.
Ключевые возможности
- 01Семантический поиск на естественном языке по локальному коду с помощью векторных эмбеддингов
- 02Объединение семантических результатов с совпадениями по регулярным выражениям и ключевым словам из ripgrep
- 03Работа через локальный сервер; по умолчанию удалённые API не вызываются
- 04Поиск во время индексации с оценкой полноты индекса
- 05Учитывает .gitignore и поддерживает дополнительные шаблоны исключения в YAML-конфигурации
- 06Необязательное дополнение результатов с помощью LLM через Ollama, OpenAI или MiniMax
Сценарии использования
- Поиск места, где реализовано нужное поведение, если точное имя функции неизвестно
- Изучение незнакомой кодовой базы с помощью вопросов на обычном языке
- Поиск по приватному коду без отправки его сторонним сервисам
- Развёртывание общего сервера поиска по коду для команды в частной сети
Быстрый старт
- 1
Установите ripgrep и, при желании, bat с помощью системного менеджера пакетов (они указаны как зависимости)
- 2
Установите SeaGOAT с помощью pipx
pipx install seagoat - 3
Запустите сервер SeaGOAT в своем репозитории
seagoat-server start /path/to/your/repo - 4
Задавайте вопросы о репозитории на естественном языке
gt "Where are the numbers rounded"
Что важно знать
- Поддерживается только фиксированный список типов файлов, например Python, JavaScript, Go и Markdown.
- Поддержка macOS и Windows протестирована лишь частично или требует помощи.
В подборках
Темы
Частые вопросы
- Что такое SeaGOAT?
- Локальный семантический поиск по коду: сочетает векторные эмбеддинги с ripgrep и позволяет задавать запросы на естественном языке. SeaGOAT — инструмент командной строки для поиска по смыслу, а не по точным ключевым словам. Он запускает локальный сервер, который индексирует репозиторий с помощью векторных эмбеддингов в ChromaDB, и объединяет семантические совпадения с результатами поиска по регулярным выражениям и ключевым словам из ripgrep. Запросы можно формулировать обычными предложениями, например «где округляются числа», или добавлять в них регулярные выражения.
- SeaGOAT можно использовать бесплатно? Какая у него лицензия?
- SeaGOAT распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- SeaGOAT всё ещё поддерживается?
- Активно поддерживается. Последний коммит в SeaGOAT — 4 нояб. 2026 г..
- Для чего можно использовать SeaGOAT?
- Поиск места, где реализовано нужное поведение, если точное имя функции неизвестно Изучение незнакомой кодовой базы с помощью вопросов на обычном языке Поиск по приватному коду без отправки его сторонним сервисам Развёртывание общего сервера поиска по коду для команды в частной сети
- Как установить SeaGOAT?
- Установите ripgrep и, при желании, bat с помощью системного менеджера пакетов (они указаны как зависимости) Установите SeaGOAT с помощью pipx: pipx install seagoat Запустите сервер SeaGOAT в своем репозитории: seagoat-server start /path/to/your/repo Задавайте вопросы о репозитории на естественном языке: gt "Where are the numbers rounded"
- Где скачать SeaGOAT?
- Исходный код и инструкции по установке — на GitHub: https://github.com/kantord/SeaGOAT
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
CLI для семантического поиска по коду с локальными эмбеддингами, анализом графа вызовов и MCP-сервером для AI-агентов — с приоритетом конфиденциальности.
Открытая векторная база данных для AI-приложений: хранит документы и векторы для семантического, гибридного и полнотекстового поиска.
Epsilla — векторная база данных с открытым исходным кодом на C++ для поиска похожих эмбеддингов, с фильтрацией метаданных, гибридным поиском и интеграциями для LLM-поиска.
CLI для семантического поиска по коду на основе AST и MCP-сервер, который индексирует кодовую базу, чтобы coding agents могли находить код по смыслу.
Локальный векторный индекс и инструментарий для RAG: пересчитывает эмбеддинги по запросу и сокращает объём хранения примерно на 97%, позволяя искать личные данные на ноутбуке.