CLI de busca local e ferramenta para agentes que combina ripgrep, BM25 e busca vetorial no seu workspace.
kantord/SeaGOAT
Um mecanismo de busca semântica de código com foco local, que combina embeddings vetoriais com o ripgrep para consultar uma base de código em linguagem natural.
- Estrelas
- 1,321
- Forks
- 97
- Issues abertas
- 36
- Último commit
- há 8 horas
O que é?
SeaGOAT é uma ferramenta de busca de código via linha de comando que encontra trechos pelo significado, em vez de depender de palavras-chave exatas. Ela executa um servidor local que indexa um repositório com embeddings vetoriais armazenados no ChromaDB e combina essas correspondências semânticas com resultados de expressões regulares e palavras-chave do ripgrep. As consultas podem ser frases comuns, como "onde os números são arredondados", ou podem incluir expressões regulares.
A ferramenta funciona inteiramente na sua máquina e, por padrão, não faz chamadas a APIs remotas. A indexação ocorre em segundo plano, permitindo pesquisar enquanto os arquivos ainda estão sendo processados; os primeiros resultados vêm do ripgrep, e um aviso mostra uma estimativa de quão completo está o índice semântico. As regras de exclusão do repositório definidas em .gitignore são respeitadas, e padrões adicionais podem ser configurados em um arquivo YAML.
Uma opção --generative envia os resultados a um LLM para aprimorar as respostas. Por padrão, ela usa um servidor Ollama local. Também é possível configurar o OpenAI ou o MiniMax, mas provedores em nuvem recebem trechos do código e precisam ser habilitados explicitamente.
Recursos principais
- 01Busca semântica em linguagem natural no código local usando embeddings vetoriais
- 02Combina resultados semânticos com correspondências de expressões regulares e palavras-chave do ripgrep
- 03Executa um servidor local; por padrão, não faz chamadas a APIs remotas
- 04Permite pesquisar enquanto a indexação ainda está em andamento, com uma estimativa de precisão
- 05Respeita o .gitignore e aceita padrões de exclusão adicionais em uma configuração YAML
- 06Resultados aprimorados por LLM, opcionalmente, via Ollama, OpenAI ou MiniMax
Casos de uso
- Encontrar onde um comportamento está implementado sem saber o nome exato da função
- Explorar uma base de código desconhecida fazendo perguntas em linguagem natural
- Pesquisar código privado sem enviá-lo a serviços de terceiros
- Hospedar um servidor de busca de código compartilhado pela equipe em uma rede privada
Início rápido
- 1
Instale ripgrep e, opcionalmente, bat usando o gerenciador de pacotes do seu sistema (listados como dependências)
- 2
Instale o SeaGOAT com pipx
pipx install seagoat - 3
Inicie o servidor do SeaGOAT no seu repositório
seagoat-server start /path/to/your/repo - 4
Faça consultas ao seu repositório em linguagem natural
gt "Where are the numbers rounded"
Antes de usar
- Oferece suporte apenas a uma lista fixa de tipos de arquivo, como Python, JavaScript, Go e Markdown.
- O suporte a macOS e Windows foi testado apenas parcialmente ou precisa de ajuda.
Em coleções
Tópicos
Perguntas frequentes
- O que é SeaGOAT?
- Um mecanismo de busca semântica de código com foco local, que combina embeddings vetoriais com o ripgrep para consultar uma base de código em linguagem natural. SeaGOAT é uma ferramenta de busca de código via linha de comando que encontra trechos pelo significado, em vez de depender de palavras-chave exatas. Ela executa um servidor local que indexa um repositório com embeddings vetoriais armazenados no ChromaDB e combina essas correspondências semânticas com resultados de expressões regulares e palavras-chave do ripgrep. As consultas podem ser frases comuns, como "onde os números são arredondados", ou podem incluir expressões regulares.
- SeaGOAT é gratuito? Qual é a licença?
- SeaGOAT é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- SeaGOAT ainda é mantido?
- Manutenção ativa. O último commit de SeaGOAT foi em 7 de nov. de 2026.
- Para que posso usar SeaGOAT?
- Encontrar onde um comportamento está implementado sem saber o nome exato da função Explorar uma base de código desconhecida fazendo perguntas em linguagem natural Pesquisar código privado sem enviá-lo a serviços de terceiros Hospedar um servidor de busca de código compartilhado pela equipe em uma rede privada
- Como instalar SeaGOAT?
- Instale ripgrep e, opcionalmente, bat usando o gerenciador de pacotes do seu sistema (listados como dependências) Instale o SeaGOAT com pipx: pipx install seagoat Inicie o servidor do SeaGOAT no seu repositório: seagoat-server start /path/to/your/repo Faça consultas ao seu repositório em linguagem natural: gt "Where are the numbers rounded"
- Onde consigo SeaGOAT?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/kantord/SeaGOAT
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
CLI com foco em privacidade para busca semântica de código, com embeddings locais, rastreamento do grafo de chamadas e um servidor MCP para agentes de programação com IA.
Banco de dados open source de embeddings para apps de IA, que armazena documentos e vetores para buscas semânticas, híbridas e de texto completo.
Epsilla é um banco de dados vetorial open source em C++ para busca por similaridade em embeddings, com filtros por metadados, busca híbrida e integração com sistemas de recuperação para LLMs.
CLI de busca semântica de código baseada em AST e servidor MCP que indexa sua base de código para que agentes de programação encontrem código pelo significado.
Um toolkit local de índices vetoriais e RAG que reduz o armazenamento em cerca de 97% ao recalcular embeddings sob demanda, permitindo pesquisar dados pessoais no laptop.