CLI de búsqueda local y herramienta para agentes que combina ripgrep, BM25 y búsqueda vectorial en tu espacio de trabajo.
kantord/SeaGOAT
Motor de búsqueda semántica de código local que combina embeddings vectoriales con ripgrep para consultar un repositorio en lenguaje natural.
- Estrellas
- 1,318
- Forks
- 97
- Issues abiertos
- 36
- Último commit
- anteayer
¿Qué es?
SeaGOAT es una herramienta de búsqueda de código por línea de comandos que permite encontrar código por su significado, en lugar de por palabras clave exactas. Ejecuta un servidor local que indexa un repositorio con embeddings vectoriales almacenados en ChromaDB y combina esas coincidencias semánticas con resultados de expresiones regulares y palabras clave de ripgrep. Las consultas pueden ser frases sencillas, como «dónde se redondean los números», o incluir expresiones regulares.
La herramienta se ejecuta íntegramente en tu equipo y, de forma predeterminada, no realiza llamadas a APIs remotas. La indexación se lleva a cabo en segundo plano, así que puedes buscar mientras se procesan los archivos; los primeros resultados provienen de ripgrep y el aviso muestra una estimación de cuánto se ha completado el índice semántico. Se respetan las reglas de exclusión del repositorio definidas en .gitignore y se pueden especificar patrones adicionales en un archivo de configuración YAML.
Una opción --generative envía los resultados a un LLM para mejorar las respuestas. De forma predeterminada, utiliza un servidor local de Ollama; también se puede configurar OpenAI o MiniMax, aunque los proveedores en la nube reciben fragmentos de código y deben habilitarse explícitamente.
Funciones clave
- 01Búsqueda semántica en lenguaje natural de código local mediante embeddings vectoriales
- 02Combina resultados semánticos con coincidencias de expresiones regulares y palabras clave de ripgrep
- 03Ejecuta un servidor local y, de forma predeterminada, no realiza llamadas a APIs remotas
- 04Permite buscar mientras la indexación sigue en curso e indica una estimación de precisión
- 05Respeta .gitignore y admite patrones de exclusión adicionales en la configuración YAML
- 06Resultados mejorados opcionalmente con un LLM a través de Ollama, OpenAI o MiniMax
Casos de uso
- Encontrar dónde se implementa un comportamiento cuando no se conoce el nombre exacto de la función
- Explorar un repositorio desconocido haciendo preguntas en lenguaje sencillo
- Buscar en código privado sin enviarlo a servicios de terceros
- Alojar un servidor compartido de búsqueda de código para un equipo en una red privada
Inicio rápido
- 1
Instala ripgrep y, opcionalmente, bat con el gestor de paquetes de tu sistema (aparecen como dependencias)
- 2
Instala SeaGOAT con pipx
pipx install seagoat - 3
Inicia el servidor de SeaGOAT en tu repositorio
seagoat-server start /path/to/your/repo - 4
Haz consultas sobre tu repositorio en lenguaje natural
gt "Where are the numbers rounded"
Antes de usarlo
- Solo admite una lista fija de tipos de archivo, como Python, JavaScript, Go y Markdown.
- La compatibilidad con macOS y Windows solo se ha probado parcialmente o necesita ayuda.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es SeaGOAT?
- Motor de búsqueda semántica de código local que combina embeddings vectoriales con ripgrep para consultar un repositorio en lenguaje natural. SeaGOAT es una herramienta de búsqueda de código por línea de comandos que permite encontrar código por su significado, en lugar de por palabras clave exactas. Ejecuta un servidor local que indexa un repositorio con embeddings vectoriales almacenados en ChromaDB y combina esas coincidencias semánticas con resultados de expresiones regulares y palabras clave de ripgrep. Las consultas pueden ser frases sencillas, como «dónde se redondean los números», o incluir expresiones regulares.
- ¿SeaGOAT es gratuito? ¿Qué licencia tiene?
- SeaGOAT es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿SeaGOAT sigue mantenido?
- Mantenimiento activo. El último commit de SeaGOAT fue el 5 nov 2026.
- ¿Para qué puedo usar SeaGOAT?
- Encontrar dónde se implementa un comportamiento cuando no se conoce el nombre exacto de la función Explorar un repositorio desconocido haciendo preguntas en lenguaje sencillo Buscar en código privado sin enviarlo a servicios de terceros Alojar un servidor compartido de búsqueda de código para un equipo en una red privada
- ¿Cómo se instala SeaGOAT?
- Instala ripgrep y, opcionalmente, bat con el gestor de paquetes de tu sistema (aparecen como dependencias) Instala SeaGOAT con pipx: pipx install seagoat Inicia el servidor de SeaGOAT en tu repositorio: seagoat-server start /path/to/your/repo Haz consultas sobre tu repositorio en lenguaje natural: gt "Where are the numbers rounded"
- ¿Dónde consigo SeaGOAT?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/kantord/SeaGOAT
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
CLI con prioridad en la privacidad para buscar código por significado, con embeddings locales, análisis del grafo de llamadas y un servidor MCP para agentes de programación con IA.
Base de datos de embeddings de código abierto para aplicaciones de IA, que almacena documentos y vectores para habilitar búsquedas semánticas, híbridas y de texto completo.
Epsilla es una base de datos vectorial open source en C++ para búsquedas de similitud entre embeddings, con filtros de metadatos, búsqueda híbrida e integraciones de recuperación para LLM.
CLI de búsqueda semántica de código basada en AST y servidor MCP que indexa tu base de código para que los agentes de programación encuentren código por su significado.
Índice vectorial local y toolkit de RAG que reduce el almacenamiento cerca de un 97 % al recalcular embeddings bajo demanda, para buscar datos personales en tu laptop.