Repolode
kantord

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. 1

    Установите ripgrep и, при желании, bat с помощью системного менеджера пакетов (они указаны как зависимости)

  2. 2

    Установите SeaGOAT с помощью pipx

    pipx install seagoat
  3. 3

    Запустите сервер SeaGOAT в своем репозитории

    seagoat-server start /path/to/your/repo
  4. 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-агентов — с приоритетом конфиденциальности.

1,9 тыс.+11 за неделю160CMITАктивно поддерживаетсяОбновлён 4 дня назад

Epsilla — векторная база данных с открытым исходным кодом на C++ для поиска похожих эмбеддингов, с фильтрацией метаданных, гибридным поиском и интеграциями для LLM-поиска.

875+1 за неделю46C++Apache-2.0Обновлён в прошлом месяце

CLI для семантического поиска по коду на основе AST и MCP-сервер, который индексирует кодовую базу, чтобы coding agents могли находить код по смыслу.

3 тыс.+11 за неделю248PythonApache-2.0Активно поддерживаетсяОбновлён позавчера

Локальный векторный индекс и инструментарий для RAG: пересчитывает эмбеддинги по запросу и сокращает объём хранения примерно на 97%, позволяя искать личные данные на ноутбуке.

13,8 тыс.+100 за неделю1,3 тыс.PythonMITАктивно поддерживаетсяОбновлён 3 дня назад